Cache Coherence
Mastering AXI ACE: The Definitive Guide
Deep Technical Insights for VLSI Engineers (Dark Edition)
In high-performance multi-core SoCs, maintaining data consistency across private caches isn't optional. Today, we're doing a full technical teardown of the ARM AMBA 4 ACE protocol.
Why Coherence?
- Prevents silent data corruption in parallel software.
- Cache-to-cache transfers beat DRAM latency by 10-100x.
- Reduces memory controller power consumption.
1. The MOESI Engine
| State | Full Name | Verification Key |
|---|---|---|
| M | Modified | Exclusive & Dirty. Must write-back. |
| O | Owned | Shared & Dirty. Supplies data to snoopers. |
| E | Exclusive | Clean & Unique. Silent upgrade to M. |
| S | Shared | Clean & Shared. Read-only copies. |
| I | Invalid | Not present. Triggers snoop/miss. |
2. AxSNOOP Encoding: The Command Center
ARSNOOP (4 Bits) - Read Transactions
| Value | Transaction | Snoop Effect |
|---|---|---|
0100 | ReadShared | Others keep copies in S state. |
0101 | ReadUnique | Others forced to I state. |
0001 | ReadOnce | Coherent read (non-caching). |
AWSNOOP (3 Bits) - Write Transactions
| Value | Transaction | Snoop Effect |
|---|---|---|
001 | WriteUnique | Invalidates others, then writes. |
011 | WriteBack | Evict dirty line (M → I). |
3. The Gating Signals
AxCACHE[3:0]
Bit[1] (Modifiable): The master switch. If 0, the interconnect ignores coherence.
AxDOMAIN[1:0]
00: Non-shareable01: Inner Shareable (Cluster)10: Outer Shareable (System)11: ILLEGAL for ACE transactions.
WIZARD VERIFICATION TIP:
Deadlocks often hide in the CD (Snoop Data) channel. Ensure your UVM scoreboards track the
M → S transition carefully. Also, remember AWSNOOP is 3 bits—don't truncate a 4-bit signal into it!
© 2026 VLSI Wizard | Dark Mode Edition
Comments