AXI DMAECE699 - Lecture - 6
AXI DMAECE699 - Lecture - 6
AXI Interfacing
Using DMA & AXI4-Stream
Required Reading
The ZYNQ Book
Interface
Interconnect
(High-Performance)
(Shared Bus)
(Peripheral)
(Point-to-Point Bus)
SRC
SRC
DST
SRC
SRC
DST
SRC
SRC
DST
M
M
S
S
S
S
M
M
M
S
S
S
S
M
M S
S M
Channel Architecture of Writes
Write Burst
M
M
S
M
M
M
S
S
S
M
M M S
S S M
WSTRB[n] corresponds to
WDATA[8*n+7 downto 8*n]
Interface
Interconnect
Source: Building Zynq Accelerators with Vivado HLS, FPL 2013 Tutorial
Accelerator Architecture with DMA
Source: Building Zynq Accelerators with Vivado HLS, FPL 2013 Tutorial
DMA Memory Transfer Operation
Write to Accelerator
• processor allocates buffer
• processor writes data into buffer
• processor flushes cache for buffer
• processor initiates DMA transfer
Source: Building Zynq Accelerators with Vivado HLS, FPL 2013 Tutorial
Coherent AXI DMA-based Accelerator
Communication
Write to Accelerator
• processor allocates buffer
• processor writes data into buffer
• processor flushes cache for buffer
• processor initiates DMA transfer
(High-Performance)
(Shared Bus)
(Peripheral)
(Point-to-Point Bus)
Source: Building Zynq Accelerators with Vivado HLS, FPL 2013 Tutorial
Summary of AXI Full and AXI Lite Interfaces
Source: Building Zynq Accelerators with Vivado HLS, FPL 2013 Tutorial
Summary of AXI Stream Interface
Source: Building Zynq Accelerators with Vivado HLS, FPL 2013 Tutorial
DMA Memory Transfer Operation
0 – regular DMA
1 – area-optimized DMA; the maximum number of bytes
per transaction = MMap_Data_width * Burst_length/8;
addressing restricted to burst boundries