User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 105
UG585 (v1.11) September 27, 2016
Chapter 3: Application Processing Unit
ACP Limitations
The accelerator coherency port (ACP) has these limitations:
Exclusive accesses are not allowed for coherent memory.
Locked accesses are not allowed for coherent memory.
Optimized coherent read and write transfers when byte strobes are not all set. More specifically,
write transactions with AWLEN = 3, AWSIZE = 3, and WSTRB not equal to 11111111 are not
supported and can cause the L1 cache line in the CPUs to be corrupted. Potential user
workarounds include:
°
Perform smaller, non-optimized, and coherent accesses.
°
Perform a read/modify/write sequence where the write has all byte strobes set.
°
Align user software data structures to avoid needing to deassert any write strobes,
overwriting the bytes instead.
Continuous access to the OCM over the ACP can starve accesses from other AXI masters. To
allow access from other masters, the ACP bandwidth to OCM should be moderated to less than
the peak OCM bandwidth. This can be accomplished by regulating burst sizes to less than eight
64-bit words.
Blocks, such as PCIe, which prioritize write requests over read requests should not be connected
to the ACP port, as they might create deadlock. Connecting these devices to the other the GP
and HP AXI ports does not manifest the mentioned deadlock issue.
Note: The Xilinx HDL wrapper around the PS7 primitive provides a function to flag the third
limitation (cache lines being corrupted). If enabled, the Xilinx ACP adapter watches for transactions
that could potentially corrupt the cache and generate an error response to the master that is
requesting the write request. The write transaction is allowed to proceed to the ACP interface, so the
possibility of cache corruption is NOT eliminated. The master is notified of the possible issue to take
the appropriate action. The ACP adapter can also generate an interrupt signal to the CPUs, which can
be used by the software to detect such a situation.
Event Interface
The event bus provides a low-latency and direct mechanism to transfer status and implement a wake
mechanism between the APU and the PL. The event input and output signals on this interface use
toggle signaling in which an event is communicated by toggling the signal to the opposite logic level
on both edges. The event bus includes these signals:
ACP write – S (shared) Data is written to external memory through one of two AXI master
interfaces. L1 cache previously with S status is changed to I state
ACP write – E (exclusive) Data is written to external memory through one of two AXI master
interfaces. Any L1 cache previously with S status is changed to I status.
Table 3-7: ACP Read and Write Behavior (Cont’d)
Action Description