Reference Design: Gen3x8 AVMM DMA with external DDR4 - Arria 10

Showing results for 
Search instead for 
Did you mean: 
All support for Intel NUC 7 - 13 systems has transitioned to ASUS. Read latest update.
363 Discussions

Reference Design: Gen3x8 AVMM DMA with external DDR4 - Arria 10

Reference Design: Gen3x8 AVMM DMA with external DDR4 - Arria 10


The purpose of this page is to provide a link to the user, where the user can download the Arria 10 Gen3x8 AVMM DMA reference design with DDR4 controller to access external DDR4 on board memory. The design targets the Arria 10 GX FPGA Development Kit


  • Fast and easy to develop high performance PCIe Gen3x8 hardware with PCIe AVMM DMA IP
  • Completed Quartus reference design is in the attached zipped file, which provides a pre-configured Qsys system

Allows the user to modify the Qsys file and re-generate the design

  • Includes Linux driver and application that works with the reference design
  • Use built in AVMM DMA IP to transfer data between the external DDR4 memory on the board and the system memory
  • Support infinite loop to test the system and the IP stability
  • For each loop, all transferred data are compared with data in the source location to guarantee data integrity


  • 16.0.2 ACDS for RTL re-generation.
  • A PC provides a PCI Express Gen3 x8 slot

All reference designs have been tested with Intel Sandy Bridge

  • The attached reference design

The SOF is available in the folder pcie_quartus_files as top.sof

  • Arria 10 GX FPGA Development Kit

Refer the link for Arria 10 FPGA development Kit :

  • A system with either 32-bit / 64-bit Linux or 64-bit Windows installed


How to run the application

Follow the following instructions to install and run the application

  1. Copy the attached Linux application and driver into a folder
  2. Unzip the application and driver
  3. Open a Terminal in Linux and go to the folder where the application is copied and unzipped
  4. Log in as an Admin by type in "su" and enter the password
  5. Type in "make" to compile the driver and application. Just need to do it once in a system.
  6. Type in "./install" to install the driver
  7. Type in "./run" to run the application


In the application, there are multiple options to configure the software. The user can run read DMA (move data from system memory to the DDR4 memory on the board), write DMA (move data from external DDR4 memory to system memory), or simultaneous read and write. The user can also control the transfer size of each descriptor, the number of descriptors, and how many loops the DMA runs. There is description to explain all the options when the application is started. To run the DMA, type in "1" to start it.



Hardware Download

Arria 10 GX FPGA Development Kit

Revision 1 - Quartus 16.0.2

The reference design was created by Quartus 16.0.2

Link to download the project : File:PCIe A10GX AVMM DMA Ext Mem


Software Download



Revision 1

Link to download the application and driver File:Linux for AVMM DMA On Chip Mem.tar.gz



Revision 1

64-bit Windows driver and application:File:Gui package 090

In the package, there is a word document which explains how to install the driver, what additional software needed to be installed, and how to run the application.



November 28, 2016 - Created this page

Version history
Last update:
‎09-23-2020 07:16 PM
Updated by: