User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 127
UG585 (v1.11) September 27, 2016
Chapter 5: Interconnect
5.2 Quality of Service (QoS)
5.2.1 Basic Arbitration
Each interconnect (central, master, slave, memory) uses a two-level arbitration scheme to resolve
contention. The first-level arbitration is based on the priority indicated by the AXI QoS signals from
the master or programmable registers. The highest QoS value has the highest priority. The
second-level arbitration is based on a least recently granted (LRG) scheme and is used when multiple
requests are pending with the same QoS signal value. Information on OCM arbitration can be found
in Chapter 10, DDR Memory Controller.
5.2.2 Advanced QoS
In addition to the basic arbitration, the interconnect provides an advanced QoS control mechanism.
This programmable mechanism influences interconnect arbitration for requests from these masters:
CPUs and ACP requests to DDR (through L2 cache controller port M0)
DMA controller requests to DDR and OCM (through the central interconnect)
AMBA master requests to DDR and OCM (through the central interconnect)
In the PS, advanced QoS modules exist on the following paths:
Path from L2 cache to DDR
Path from DMA controller to the central interconnect
Path from AHB masters to the central interconnect
The QoS module is based on ARM QoS-301, which is an extension to the NIC-301 network
interconnect. They provide facilities to regulate transactions as follows:
Maximum number of outstanding transactions
•Peak rates,
•Average rates
•Burstiness
For more information, refer to CoreLink QoS-301 Network Interconnect Advanced Quality of Service
Technical Reference Manual.
The use of QoS arbitration for all slave interfaces should be performed with careful deliberation, as
fixed priority arbitration leads to starvation issues if not used properly. By default, all ports have
equal priority so starvation is not an issue.
Rationale
You are expected to create “well behaved” masters in the PL, which sufficiently throttle their rate of
command issuance, or use the AXI_HP issuance capability settings. However, traffic from CPUs