Showing results for 
Search instead for 
Did you mean: 
836 Discussions

Reference Design: Gen2x4 AVMM DMA with external DDR3 - Cyclone V

Reference Design: Gen2x4 AVMM DMA with external DDR3 - Cyclone V


The purpose of this page is to provide a link to the user, where the user can download the Cyclone V Gen2 x4 AVMM DMA reference design with DDR3 controller to access external DDR3 on board memory. The design targets the Cyclone V GT PCIe DevKit.


  • Fast and easy to develop high performance PCIe Gen2x4 hardware with AVMM DMA IP for ACDS revision 14.0 or later
  • 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 DDR3 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


  • 14.0 ACDS for RTL re-generation.
  • A PC provides a PCI Express Gen2 x4 slot

All reference designs have been tested with Intel Ivy Bridge and Sandy Bridge

  • The attached reference design

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

  • Altera Cyclone V GT PCIe Development Kit

Refer the link for Starter Kit : http://www/products/devkits/altera/kit-cyclone-v-gt.html

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

The attached Linux driver and application was developed in CentOS version 6.4 and 6.5 with Kernal 2.6.32. It has also been tested with other Linux OS, such as RedHat and Ubuntu.

Design Block Diagram

Design Block Diagram- Av_gen2_x4_ddr3.PNG (Click here for image)

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 DDR3 memory on the board), write DMA (move data from external DDR3 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 - Quartus 14.0

The reference design was created by Quartus 14.0

Link to download the project File:Hip cvgt x4 g2 avmm

Revision 2 - Quartus 15.1.2

The reference design was created by Quartus 15.1.2

Link to download the project File:Hip cvgt g2x4 avmm dma128 ddr3 15 1 2.qar

Software Download

Revision 1

This revision of software will work with the hardware example design Revision 1 and Revision 2 in the previous section.

Link to download the application and driver File:Linux for CVGT AVMM DMA Ext Mem 140.tar.gz


October 29, 2014 - Created this page

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