Arria® 10 or Cyclone® 10 GX Avalon® Memory-Mapped (Avalon-MM) DMA Interface for PCI Express* Solutions User Guide

ID 683425
Date 9/10/2024
Public
Document Table of Contents

2.1. Understanding the Avalon-MM DMA Ports

The Avalon® -MM DMA bridge includes ports to implement the DMA functionality. The following figure and table below illustrate and describe these ports.
Figure 3.  Arria® 10 or Cyclone® 10 GX Avalon-MM DMA for PCI Express Platform Designer System Design
Table 11.   Avalon® -MM DMA Platform Designer System Port Descriptions
Function Port Description
TXS Txs This is an Avalon-MM slave port. In a typical application, an Avalon® -MM master uses this port to send memory reads or writes to the PCIe domain.

The Descriptor Controller uses it to write DMA status back to descriptor space in the PCIe domain when the DMA completes its operation. The Descriptor Controller also uses this port to send MSI interrupts upstream.

Read Data Mover dma_rd_master This is an Avalon® -MM master port.

The Read Data Mover moves data from the PCIe domain to the on-chip memory during normal read DMA operation. The Read Data Mover also fetches the descriptors from the PCIe domain and writes them to the FIFO in the Descriptor Controller. There are two separate descriptor tables for the read and write write DMA descriptors.The dma_rd_master connects to wr_dts_slave port to load the write DMA descriptor FIFO and rd_dts_slave port to load the read DMA descriptor FIFO.

Write Data Mover dma_wr_master This is an Avalon® -MM master port.

The Write Data Mover reads data from the on-chip memory and then writes data to the PCIe domain.

Descriptor Controller FIFOs wr_dts_slave and rd_dts_slave This is an Avalon® -MM slave port for the Descriptor Controller FIFOs. When the Read Data Mover fetches the descriptors from system memory, it writes the descriptors to the FIFO using this port. Because there are separate descriptor tables for read and write, there are two ports.

The address range for the write DMA FIFO is 0x100_00000x100_1FFF.

The address range for the read DMA FIFO is 0x100_20000x100_3FFF.

Control in the Descriptor Controller wr_dcm_master and rd_dcm_master The control block in the Descriptor Controller has one transmit and one receive port, one for read DMA and another one for write DMA. The receive port connects to the RXM_BAR0 and the transmit port connects to the Txs.

The receive path from the RXM_BAR0 connects internally. It is not shown in the connections panel. For the transmit path, both read and write DMA ports connect to the Txs externally as shown in the connections panel.

RXM_BAR0 not shown in connections panel This is an Avalon® -MM master port. It passes the memory access from PCIe host to PCIe BAR0. The host uses this port to program the Descriptor Controller. Because this Platform Designer system uses an internal descriptor controller, the port connection is not shown in Platform Designer. The connection is inside the a10_pcie_hip_0 module.
RXM_BAR4 Rxm_BAR4 This is an Avalon® -MM master port. It passes the memory access from PCIe host to PCIe BAR4. In the Platform Designer system, it connects to the on-chip memory. The PCIe host accesses the memory through PCIe BAR4

In a typical application, system software controls this port to initialize random data in the on-chip memory. Software also reads the data back to verify correct operation.