Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To control cache coherency with ARM ACE, define which address regions are Shareable, identify which agents use ACE, ACE-Lite or non-coherent AXI, and configure the interconnect and cache-maintenance path to match. Then verify legal transactions, snoop responses, cache-line state and data, barrier ordering, and visibility at the Point of Coherency (PoC). ACE is not a global coherency switch: whether an access participates in coherency depends on the system’s memory attributes, agents and interconnect.

Start with the system’s coherency boundary

ACE extends AXI with three channels for sharing data between ACE Manager caches and cache-maintenance hardware. It also supports barriers for ordering outstanding transactions and Distributed Virtual Memory (DVM) signaling for maintaining virtual-memory mappings across ACE Managers. These features work only as part of a coherency-capable system: the address map, participating agents, interconnect and maintenance path must agree.

Define memory attributes and Shareable regions

For each address region, specify whether it is Shareable and whether it is cacheable memory or Device memory. ACE distinguishes non-snooping accesses from coherent accesses. ReadNoSnoop and WriteNoSnoop are used for non-shareable or Device memory; coherent transactions are used for Shareable locations that may be held in other coherent caches. Verify that the attributes presented by each requester match the system’s intended treatment of that region.

Classify every master

Master type Coherency role What to establish in the design
ACE Participates in the ACE coherency protocol and can interact with other coherent agents through the interconnect. Identify its cache and maintenance behavior, the Shareable regions it accesses, and the snoops and responses it must handle.
ACE-Lite Provides a smaller subset for one-way I/O coherency. ACE masters can snoop an ACE-Lite master; other managers cannot snoop its cache. Document the direction of coherency and how I/O accesses interact with the ACE system. Do not treat ACE-Lite as a full ACE cache manager.
Non-coherent AXI Does not participate in ACE snooping. Define how its accesses are kept consistent with cached data, including any required software or hardware cache-maintenance path.

These roles describe protocol participation, not a guarantee that every access is coherent. The system still needs an explicit policy for regions and agents.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
STM32 Nucleo Development Board with STM32F446RE MCU NUCLEO-F446RE
  • High-performance foundation line, ARM Cortex-M4 core with DSP and FPU, 512 Kbytes Flash, 180 MHz CPU, ART Accelerator, Dual QSPI
  • On-board ST-LINK/V2-1 debugger/programmer with SWD connector
  • Can be powered from USB
  • Three LEDs, Two Push-buttons
  • Support of wide choice of Integrated Development Environments (IDEs) including IAR, ARM Keil, GCC-based IDEs

Expose and verify interconnect controls

Interconnect features can affect how coherency is controlled and observed. Arm’s CCI-400, for example, supports up to two ACE masters and three ACE-Lite masters, three independent points of serialization, full barrier support, DVM transport, QoS regulation, performance monitoring and a programmer’s view for coherency and interconnect control. Those figures and features describe CCI-400, not a general ACE limit or a requirement for every interconnect. For the chosen implementation, identify the actual configuration, serialization points, maintenance controls and monitoring available to the testbench.

Check transaction legality at the interface

Build protocol monitors and assertions around channel handshakes, response ordering, burst and attribute consistency, and legal coherent transaction encodings. For a cached Manager’s snoop address channel, Arm IHI 0022H.c permits the following snoop transactions:

  • ReadOnce, ReadClean, ReadNotSharedDirty, ReadShared and ReadUnique
  • CleanInvalid, MakeInvalid and CleanShared

The same specification prohibits these transactions as snoop transactions:

Rank #2
STM32 Nucleo-64 Development Board with STM32L476RG MCU NUCLEO-L476RG
  • Ultra-low-power with FPU ARM Cortex-M4 MCU 80 MHz with 1 Mbyte Flash, LCD, USB OTG, DFSDM
  • On-board ST-LINK/V2-1 debugger/programmer with SWD connector
  • Can be powered from USB
  • Three LEDs, Two Push-buttons
  • Support of wide choice of Integrated Development Environments (IDEs) including IAR, ARM Keil, GCC-based IDEs
  • ReadNoSnoop
  • CleanUnique and MakeUnique
  • WriteNoSnoop, WriteUnique and WriteLineUnique
  • WriteBack, WriteClean, WriteEvict and Evict

Use these lists specifically to check snoop-address traffic; they are not a substitute for validating all channel rules or transaction encodings in the selected protocol revision. Make monitors report the offending channel, transaction and address so an illegal transfer can be traced to its requester and attributes.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Verify cache-line state and returned data together

A coherent response is correct only when both its data and its effect on ownership and cache state are correct. For each coherent read, write, clean, invalidate and snoop response, check the required state transition as well as the value returned to the requester. Include shared copies, unique ownership, dirty and clean data, and eviction behavior.

Cover transfers of dirty ownership explicitly. In particular, check the interconnect’s writeback behavior when a requester cannot accept dirty data. A scoreboard should track the expected value and relevant ownership across agents, rather than infer correctness from the state reported by one local cache.

Use the Point of Coherency as the end-to-end observation boundary

Arm defines the PoC for an address as the point at which all blocks that can access that location are guaranteed to see the same copy. Its Cortex-R Programmer’s Guide gives cores, DSPs and DMA engines as examples of such blocks. Use this architectural boundary for system-level data and ordering checks: a local cache hit alone does not demonstrate that every relevant agent can observe the correct value.

At the PoC, check that stores become visible to the agents entitled to access the location and that the observed value respects the required ordering. Include all relevant readers and writers in the checker’s model, including I/O agents where they participate in the system’s coherency design.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Test barriers, cache maintenance and DVM in context

Barriers and outstanding transactions

ACE barriers provide ordering guarantees across outstanding transactions. Create directed sequences that place barriers between writes, reads, cache-maintenance operations and DVM operations. Vary interconnect latency and response ordering, then check that software-visible completion follows the specified barrier semantics. Arm’s cache guidance also requires memory barriers with cache-maintenance sequences, so verify the sequence as a whole rather than treating a maintenance operation’s completion in isolation.

Rank #4
STM32F303RET6 MCU, ARM Cortex M4F core, STM32 Nucleo-64, Supports Arduino and ST Morpho connectivity
  • Mainstream Mixed signals MCUs ARM Cortex-M4 core with DSP and FPU, 512 Kbytes Flash, 72 MHz CPU, MPU, CCM, 12-bit ADC 5 MSPS, PGA, comparators
  • On-board ST-LINK/V2-1 debugger/programmer with SWD connector
  • Can be powered from USB.
  • Three LEDs, Two Push-buttons
  • Support of wide choice of Integrated Development Environments (IDEs) including IAR, ARM Keil, GCC-based IDEs

DVM and address attributes

If the design uses DVM, exercise message transport and virtual-memory changes across the ACE Managers that depend on them. Cross the relevant cases: Shareable and non-shareable mappings, ACE and ACE-Lite requesters, and cacheable and Device attributes. Include negative tests confirming that a non-shareable or Device access does not trigger snoops unintentionally.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Stress concurrency and recovery paths

Directed tests establish specific rules; concurrent tests expose interactions among agents and channels. Combine multiple outstanding requests, backpressure on every channel, simultaneous snoops, dirty data in several caches and contention at each point of serialization.

  • Check forward progress and absence of deadlock under sustained backpressure.
  • Check that each request receives the required response exactly once.
  • Check that competing accesses and snoops preserve the expected cache state and data.
  • Check eventual visibility of a store to every agent that can access the location.

Use the implementation’s configured outstanding-transaction limits and serialization behavior as test parameters; do not assume a universal ACE maximum.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
2PCS STM32F103C8T6 ARM STM32 Minimum System Development Board STM32F103C8T6 Core Learning Board + 1PCS ST-Link V2 Emulator Downloader Programmer, Random Color
  • STM32F103C8T6 ARM STM32 minimum system development module.
  • ST-Link V2 support the full range of STM32 SWD interface debugging, simple interface (including power supply), 4 line speed, stable work.
  • Use the current smart phones of Mirco USB interface, easy to use, USB communication and power supply can be done.
  • The board lead to all the I/O resources.Download with SWD debug interface, which requires a minimum of 3 wires to complete debug a download task

Make the protocol revision an explicit project decision

Arm’s specifications catalog identifies the original ACE specification as superseded by CHI, while AMBA 5 also lists ACE5 alongside AXI5 and CHI. Before writing assertions or interpreting a transaction, record the exact IHI revision and protocol profile the design implements. Establish whether the project targets legacy ACE, ACE5 or CHI; do not assume that a test plan for one applies unchanged to another.

A useful verification plan therefore ties each check to the chosen profile, agent type, address attributes and observation point. That keeps interface legality, snoop behavior, ordering and system-level visibility connected to the architecture the RTL is actually meant to implement.

Quick Recap

Bestseller No. 1
STM32 Nucleo Development Board with STM32F446RE MCU NUCLEO-F446RE
STM32 Nucleo Development Board with STM32F446RE MCU NUCLEO-F446RE
On-board ST-LINK/V2-1 debugger/programmer with SWD connector; Can be powered from USB; Three LEDs, Two Push-buttons
$33.04
Bestseller No. 2
STM32 Nucleo-64 Development Board with STM32L476RG MCU NUCLEO-L476RG
STM32 Nucleo-64 Development Board with STM32L476RG MCU NUCLEO-L476RG
Ultra-low-power with FPU ARM Cortex-M4 MCU 80 MHz with 1 Mbyte Flash, LCD, USB OTG, DFSDM; On-board ST-LINK/V2-1 debugger/programmer with SWD connector
$47.98
Bestseller No. 4
STM32F303RET6 MCU, ARM Cortex M4F core, STM32 Nucleo-64, Supports Arduino and ST Morpho connectivity
STM32F303RET6 MCU, ARM Cortex M4F core, STM32 Nucleo-64, Supports Arduino and ST Morpho connectivity
On-board ST-LINK/V2-1 debugger/programmer with SWD connector; Can be powered from USB.; Three LEDs, Two Push-buttons

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.