Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 4/01/2024
Public
Document Table of Contents

5.2.5. DMA Controller Functional Description

This section describes the major interfaces and components of the DMAC and its operation.

The HPS provides two DMA controllers, and each DMAC has 4 channels supporting the following functions:

  • Each channel is unidirectional and transfers data from the channel source to the channel destination
  • Each channel has its own local FIFO(the FIFO size is optimized to handle larger transactions)
  • Automatic packing/unpacking of data to fit FIFO width
  • Programmable transfer types (memory-to-memory, memory-to-peripheral, peripheral-to-memory, peripheral-to-peripheral DMA)
  • Single or multiple DMA transactions
  • A maximum of 16 active write requests that can be generated by an AXI master interface without sending the respective write data
  • Programmable multiple transaction size for each channel
  • Channel disabling without data loss
  • Channel suspend and resume
  • Locking of internal channel arbitration
  • Programmable multi-block transfer using linked list, contiguous address, auto reload, and shadow register methods
  • Dynamic extension from linked list
  • Independent configuration of SRC/DST multi-block transfer type
  • Multiple state machines including one for each channel SRC and DST
  • Separate state machines for data and LLI access
  • Control signals such as cache and protection programmable per DMA block
  • Programmable transfer length (block length)
  • Error status register to each debugging

For more information, see the DesignWare Cores DesignWare DW_axi_dmac on the https://www.synopsys.com/