Reference Design: Gen3x8 AVMM DMA - Arria 10

Showing results for 
Search instead for 
Did you mean: 

Reference Design: Gen3x8 AVMM DMA - Arria 10

Reference Design: Gen3x8 AVMM DMA - Arria 10

The purpose of this page is to provide a link to the user, where the user can download the Arria 10 PCIe Gen3x8 and Gen1x8 AVMM DMA reference design. For the DMA details, refer to the user guide below.



  • Fast and easy to develop high performance PCIe Gen1x8 and Gen3x8 hardware
  • Example system is in the attached Quartus archive, which provides a pre-configured Qsys system
  • Includes 64-bit Windows and Linux driver and application that works with the example design
  • Example design throughput averaged across 8 kBytes transfer with descriptors overhead
  • Read/Write : up to *6.4GB/sec* per direction
  • Simultaneous read/write : *11.5GB/sec*


  • Preliminary release in ACDS 16.0.2, Arria 10 ES3 Silicon and Production Silicon
  • Example Design

Altera PCI Express Arria 10 Development kit with 10AX115S2F45I1SG

A system with either 32-bit or 64-bit Linux or 64-bit Windows 7 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 on-chip memory in the FPGA), write DMA (move data from on-chip 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

Revision 1

The reference design was created by ACDS 16.0.2

Link to download the project File:PCIe A10GX AVMM DMA On Chip 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.

Revision 1.1

Updated 64-bit Windows driver with more accurate throughput calculation:File:AVMM DMA Windows


Date and Time error while compiling the linux driver

error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]

error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]

solution: turn off the the date-time error by adding the following line to the Makefile, after the line containing the "CPPFLAGS +=" :

ccflags-y += "-Wno-date-time"


August 22, 2016 - Created this page

June 12, 2017 - Troubleshooting section added

Version history
Last update:
‎06-26-2019 10:27 PM
Updated by: