User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 136
UG585 (v1.11) September 27, 2016
Chapter 5: Interconnect
5.3.9 Performance Optimization Summary
This section summarizes the most important considerations when using the high performance AXI
interface module from a software or user perspective.
For general purpose AXI transfers, use the general purpose PS AXI ports and not these ports.
These ports are optimized for high throughput applications, but have various limitations.
Table 5-8 summarizes the different command types issued to the high performance AXI
interface module from the PL and the way in which they are dealt with.
When using 32-bit mode, it is strongly recommended not to use commands of the type shown
in line 6 of Table 5-8, as this impacts performance significantly.
The QoS PL inputs can be controlled from physical programmable logic signals or statically
configured in APB registers. The signals allow QoS values to be changed on a per-command
basis. The register control is static for all commands.
The AxCACHE[1] must be set for upsizing to occur. If this bit is not set, expansion always occurs.
If the PL design demands a continuous read data flow after the first data beat has been read,
the design must first allow the read data FIFO to fill with the complete transaction data before
popping the first data beat out. The FIFO level is exported to the PL for this purpose. This
behavior might be useful if the PL master is not able to be throttled by RVALID after the first
data exits the read FIFO.
Wait states can be inserted if write commands are not asserted at least one cycle ahead of the
corresponding first write data beat in 32-bit AXI channel slave interface mode.
The PL masters should be able to handle read data interleaving. If it is desired that they not deal
with this issue, they should not issue multi-threaded read commands to both the OCM and DDR
from the same port by using the same ARID value for all outstanding read requests.
The relationship of write FIFO occupancy to the write data ready to accept signal (WREADY)
varies as follows:
°
In 64-bit AXI mode, FIFO not full (SAXIHP0WCOUNT << 128) always implies WREADY=1.
°
In 32-bit AXI mode, there is a dependency between the write address (AWVALID) and the
write data (WVALID). If the write address is presented at least one cycle before the first beat
of any given write data burst, then the FIFO not full (SAXIHP0WCOUNT << 128) implies
WREADY=1. If not, then WREADY is deasserted until the write address is produced. The
reason for this back pressure is that in 32-bit mode, expansion/upsizing is performed on the
data into the write data FIFO.
Write response (BVALID) latency is dependent on many factors, such as DDR latency, DDR
transaction reordering, and other conflicting traffic (including higher-priority transactions).
Write commands and data are sent the entire path to the slave (DDR or OCM) and the response
is issued by the slave to return to the high performance AXI interface. Transactions issued after
reception of the write response is guaranteed to be committed later at the slave than the
responded write transaction. Note that by default, all PS peripherals are set to secure Trustzone
mode. This means that any non-secure accesses indicated with AxPROT[1]=1 will received a
DECERR response.