User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 259
UG585 (v1.11) September 27, 2016
Chapter 9: DMA Controller
9.2.2 AXI Transaction Considerations
AXI data transfer size
°
Performs data accesses up to the 64-bit width of the AXI data bus
°
Signals a precise abort if the user programs the src_burst_size or dst_burst_size fields to be
larger than 64 bits
°
Maximum burst length is 16 data beats
AXI bursts crossing 4 KB boundaries
°
The AXI specification does not permit AXI bursts to cross 4 KB address boundaries
°
If the controller is programmed with a combination of burst start address, size, and length
that would cause a single burst to cross a 4 KB address boundary, then the controller
instead generates a pair of bursts with a combined length equal to that specified. This
operation is transparent to the DMAC channel thread program so that, for example, the
DMAC responds to a single DMALD instruction by generating the appropriate pair of AXI
read bursts.
AXI burst types
°
Can be programmed to generate only fixed-address or incrementing-address burst types for
data accesses. Wrapping-address bursts are not generated for data accesses or for
instruction fetches.
AXI write addresses
°
Can issue multiple outstanding write addresses up to eight (write issuing capability)
°
The DMAC does not issue a write address until it has read in all of the data bytes required to
fulfill that write transaction.
AXI write data interleaving
°
Does not generate interleaved write data. All write data beats for one write transaction are
output before any write data beat for the next write transaction.
AXI characteristics
°
Does not support locked or exclusive accesses
9.2.3 DMA Manager
This section describes how to issue instructions to the DMA manager using one of the two APB
interfaces available.
When the DMAC is operating in real time, the user can only issue the following limited subset of
instructions:
DMAGO Starts a DMA transfer using a DMA channel that the user specifies.
DMASEV Signals the occurrence of an event, or interrupt, using an event number that the
user specifies.
DMAKILL Terminates a thread.