P-tile Avalon® Memory-mapped Intel® FPGA IP for PCI Express* Design Example User Guide

ID 683853
Date 3/28/2022

2. Endpoint Design Example

This DMA design example includes a DMA Controller and an on-chip memory to exercise the Data Movers.

The design example also connects the Bursting Master (in non-bursting mode) to the on-chip memory to allow high-throughput transfers should the host or some other component of the PCIe system be capable of initiating such transfers (e.g. a Root Complex with a DMA engine).

The on-chip memory that the Data Movers and the Bursting Master connect to is a dual-port memory to allow full-duplex data movement.

The Bursting Master connects to a BAR Interpreter module, which combines the address and BAR number and allows the Bursting Master to control the DMA Controller. The BAR Interpreter also connects the Bursting Master to the dual-port memory.

The following table shows the address and BAR mapping that the BAR Interpreter in this design example uses:
Table 2.  Address and BAR Map for the BAR Interpreter
Resource Address Range BAR
DMA 0x0 - 0x0FFFF 0
MEM0.s1 0x20000 - 0x27FFF 2
MEM0.s2 0x28000 - 0x2FFFF 4
Figure 1. DMA Design Example for Endpoint

The design example is generated dynamically based on the selected variation of the P-Tile Avalon® -MM IP for PCIe. However, some of the user’s parameter selections may need to be overwritten to ensure proper functionality. A warning appears when such a need arises.

In the 20.4 release of Intel® Quartus® Prime, the only variation supported is the DMA variation. This variation instantiates the Bursting Master (in non-bursting mode), Read Data Mover and Write Data Mover. Software sends instructions via the Bursting Master to the Read or Write Data Movers to initiate DMA Reads or Writes to the system memory. The BAR Interpreter, on-chip memory and DMA Controller are also included.

Note: Beginning with the 17.1 release, the Intel® Quartus® Prime Pro Edition software dynamically generates design examples for the parameters you specify in the parameter editor. Consequently, the Intel® Quartus® Prime Pro Edition installation directory no longer provides static design examples for Intel® Stratix® 10 devices. Static design examples are available for earlier device families, including Intel® Arria® 10 and Intel® Cyclone® 10 devices.