User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 145
UG585 (v1.11) September 27, 2016
Chapter 5: Interconnect
To use the L1 exclusive monitor, the addressed MMU region must be set to be inner cacheable and
inner cache write-back with write-allocate. This allows an address targeted by a particular exclusive
access to always be allocated to L1 cache.
To use the L3 exclusive monitor, the access must not terminate at the APU L2 cache. From the ARM
CPU perspective, this means the address must be shareable, normal and non-cacheable. Also, the L2
cache controller shared override option (bit 22 in the L2 auxiliary control register) must be set in the
auxiliary control register. By default in the APU L2 cache controller, any non-cacheable shared reads
are treated as cacheable non-allocatable, while non-cacheable shared writes are treated as cacheable
write-through/no write-allocate. The L2 cache controller shared override option in the PL310
auxiliary control register overrides this behavior and prevents allocation into L2 cache.
5.8.2 ACP
The PL ACP port does not support exclusive access to coherent memory. Therefore, if the ACP needs
to perform exclusive accesses with the CPUs, the access must go to L3: DDR or PL.
5.8.3 DDRC
The following are the supported features for exclusive accesses to the PS DDR controller:
The AXI port supports concurrent monitoring of two exclusive addresses (with different IDs).
Burst type INCR/WRAP, length='h0 - 'hF, is supported.
The slave supports OKAY and EXOKAY responses for exclusive accesses.
°
According to the AXI specification, the slave sends out an EXOKAY response for successful
exclusive access transactions. For DDRC, this includes reads (up to two active) and writes
that match a preceding exclusive read transaction, if the monitored location(s) is still valid.
°
If a monitored location is overwritten by another exclusive or non-exclusive write
transaction through any slave port before its corresponding exclusive write, the slave
returns an OKAY response for the exclusive write and will not update the corresponding
memory locations.
The DDRC exclusive monitor uses AXI bus ID to determine which master is doing the exclusive load
and store. While it is possible for a master to generate different IDs, a particular ID will always
originate from the same master. The master should also make sure to use the same ID for their LDREX
and STREX pair. Cortex-A9 processor will generate the same ID for its LDREX/STREX pair.
There are a some limitations:
1. While only two address locations (ranges) can be monitored concurrently by the DDRC, either of
these locations can be updated by another exclusive read transaction while the current
transactions have not been completed by their corresponding exclusive writes. In this case, the
exclusive write for an earlier monitored address location will receive an OKAY response. The