User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 656
UG585 (v1.11) September 27, 2016
Chapter 22: Programmable Logic Design Guide
Drawbacks of using a CPU to move data is that a sophisticated CPU is spending cycles performing
simple data movement instead of complex control and computation tasks, and the limited
throughput available. Transfer rates less than 25 MB/s are reasonable with this method.
22.4.3 PS DMA Controller (DMAC) via General Purpose Masters
The PS DMA controller (DMAC) provides a flexible DMA engine that can provide moderate levels of
throughput with little PL logic resource usage (see Figure 22-2). The DMAC resides in the PS and
must be programmed via DMA instructions residing in memory, typically prepared by a CPU. With
support for up to eight channels, multiple DMA fabric cores can potentially be served in the single
DMAC. However, the flexible programmable model might increase software complexity relative to
CPU transfer or specialized PL DMA.
The DMAC interface to the PL is through the general purpose AXI master interfaces, whose 32-bit
width along with the centralized DMA nature (a read and write transaction for each movement) of the
DMAC to limit the DMAC from highest throughput. A peripheral request interface also allows PL
slaves to provide status to the DMAC on buffer state, to prevent transactions involving a stalled PL
peripheral from unnecessarily also stalling interconnect and DMAC bandwidth.
See Chapter 9, DMA Controller for more information on the DMAC controller. More information on
the M_AXI_GP interfaces can be found in Chapter 5, Interconnect.
X-Ref Target - Figure 22-1
Figure 22-1: Example Cortex-A9 PL Data Movement Topology
IRQ
L2
Cache Memory
512 KB
DDR
Memory
Controller
16-bit
32-bit
16-bit w/ECC
DMA
8 channel
PCAP
Processor Config
Access Port
M_AXI_GP x 2
General Purpose
32-bit AXI Master
S_AXI_GP x 2
General Purpose
32-bit AXI Slave
S_AXI_HP x 4
AXI Data
32/64-bit Slave
SCU – Snoop Control Unit
Central
Interconnect
ARM A9
32 KB I-Cache
32 KB D-Cache
NEON
SP, DP FPU
128-bit Vector DSP
OCM
On Chip Memory
256 KB
S_AXI_ACP
AXI Coherent
64-bit Slave
Mem Switch
SLCR
System Level
Control
Registers
I/O Interface
Security
Config
XADC
16 ch ADC
Block RAM
User
IP
PCIe
Quad-SPI
1,2,4,8-bit
Parallel 8-bit
NOR/SRAM
NAND 8,16-bit
UART
UART
SPI
SPI
I2C
I2C
CAN
CAN
TTC/SWDT
PJTAG
Reset
CLK / PLL
ARM, I/O, DDR
PS_POR_B
PS_SRST_B
PS_CLK
DDR
CoreSight
Trace In
Trace Out
Cross Trigger
DAP
APB
Register Access
Processing
System (PS)
EMIO
USB
USB
GigE
GigE
SD
SD
DMA
DMA
DMA
DMA
DMA
DMA
GPIO x54, x64
MIO
Pins
GTX or
GTP
NEON
SP, DP FPU
128-bit Vector DSP
ARM A9
32 KB I-Cache
32 KB D-Cache
UG585_c22_03_102414
Programmable
Logic (PL)
NOTE: GigaBit Transceiver and PCIe
functionality are not available in
all device versions and packages.