DMA Controller Block Diagram and System Integration
The following figure shows a block diagram of the DMAC and how it integrates into the rest of the HPS
system.
Figure 16-1: DMA Controller Connectivity
DMA Controller
MFIFO
512 x 64
Write Instruction Queue
Read Instruction Queue
Instruction Execution Engine
Instruction Cache
AXI-64
Master
Interface
Interrupt
Control
CSRs
Secure
Slave Interface
Non-Secure
Slave Interface
Reset
Initialization
Interface
MPU Subsystem
Generic Interrupt
Controller
System
Manager
UART, SPI, I
2
C
Peripheral
Interfaces
STM and Quad
SPI Peripheral
Interfaces
CAN Peripheral
Interfaces
Clock
Crossing
Synopsis Adapter
and Clock
Crossing
Bosch Adapter
and Clock
Crossing
Peripheral Request
Interface [30:0]
Level 4 Main Bus
Level
3
Interconnect
The
l4_main_clk
clock drives the DMA controller, controller logic, and all the interfaces. The DMA
controller accesses the level 3 (L3) main switch with its 64-bit AXI master interface.
The DMA controller provides the following slave interfaces:
• Non-secure slave interface
• Secure slave interface
You can use these slave interfaces to access the registers that control the functionality of the DMA controller.
The DMA controller implements TrustZone
®
secure technology with one interface operating in the Secure
state and the other operating in the Non-secure state.
Functional Description of the DMA Controller
This section describes the major interfaces and components of the DMAC, and its operation.
The DMAC contains an instruction processing block that processes program code that controls a DMA
transfer. The program code is stored in a region of system memory that the DMAC accesses using its AXI
master interface. The DMAC stores instructions temporarily in an internal cache.
Altera Corporation
DMA Controller
16-3
DMA Controller Block Diagram and System Integration
cv_54016
2013.12.30