|ARM Technical Support Knowledge Articles|
Applies to: CCI-400 Cache Coherent Interconnect
Yes. ACE-Lite supports three main additional features over and above AXI. They are:
- Support for hardware coherency
- Support for cache maintenance
- Support for barriers.
In many cases of legacy masters that wish to connect to a hardware coherent environment, only the first of these is needed. This is because legacy masters, or even new masters that have not been designed to be natively ACE, will not support cache maintenance operations or barriers.
The ACE and ACE-Lite specification has been designed to easily support the conversion of such legacy masters to operate in a coherent environment by the simple addition of the AxDOMAIN signals. The AxSNOOP signals and AxBAR signals of the ACE-Lite interface are tied to zero.
A master that wishes all its transactions to be non-hardware coherent (i.e. never snoop coherent masters) can simply tie the AxDOMAIN signals to “11” for System domain.
A master that wishes all its transactions to be hardware coherent should drive the AxDOMAIN signals as follows:
- For all Device and non-cacheable transactions (as indicated by AxCACHE[3:2] = “00”) then AxDOMAIN should be driven to “11” for System domain.
- For all cacheable transactions (as indicated by AxCACHE[3:2] != “00”) then AxDOMAIN should be driven to “10” for Outer Shareable domain.
Note: It is permissible, but not expected, for non-cacheable transaction to be hardware coherent. In which case the following is used:
- For all Device transactions (as indicated by AxCACHE[3:1] = “000”) then AxDOMAIN should be driven to “11” for System domain.
- For all non-cacheable and cacheable transactions (as indicated by AxCACHE[3:1] != “000”) then AxDOMAIN should be driven to “10” for Outer Shareable domain.
If a master has some transactions that need to be hardware coherent and others that do not then it can drive AxDOMAIN = “10” for the transactions that need to be coherent and AxDOMAIN = “11” for those that do not need to be coherent. Please note that it is a protocol requirements that all Device transactions, as indicated by AxCACHE[3:1] = “000”, must use AxDOMAIN = “11”.
When using a NIC-301 interconnect to combine several AXI masters which have different requirements for the AxDOMAIN signals, each master can generate its own AxDOMAIN signals for its own transactions. These can then be routed through the interconnect using AxUSER signals, and at the output of the NIC-301 the AxUSER signals, which will still be associated with the correct transaction, can be connected to the AxDOMAIN signals of the ACE-Lite interface.
Did you find this article helpful? Yes No
How can we improve this article?