PCIe DMA Throughput Demo for Lattice Nexus-based FPGAs

Allows Direct Memory Access Read and Write Transactions

The PCIe DMA throughput demo is intended to show the DMA performance between the Nexus FPGA and a host system. At present, the FPGA supported are CrossLink™-NX, Certus™-NX and CertusPro™-NX family. With this application, you can read/write a pattern or counter data between the host system and FPGA memory. There are three pages in the application, GUI Device info, Test Run, and View memory pages.

Transfer Size Per Descriptor – The descriptor count control is used to calculate the burst size for DMA operations. A single descriptor can transfer up to 4096 bytes. If you enter a descriptor count of 1, the burst size is (4096*1). This means the application requests 4096 bytes in single iteration. For DMA writes, the maximum number of descriptors is 255 for a total of 4096*255 bytes of data. For DMA reads, the maximum number of descriptors is 16 for a total of 4096*16 bytes of data. For CertusPro-NX, it allows the descriptor size of 128, 256, 512 and 4096 bytes to be selected.

Direct Memory Access (DMA) Operations – The demo performs Direct Memory Access (DMA) operations with the FPGA acting as the bus master. Data is transferred directly to and from the PC memory.

GUI Application – The throughput demo includes a GUI written in Qt and demonstrates how to open a driver and send control plane read/writes to registers in the IP. The GUI application uses the driver API to communicate with the device hardware. The Driver API is a C++ dynamic library which provides an interface to access the hardware.

Features

  • Read and write to onboard memory of the Lattice Nexus FPGA through PCIe interface using DMA Operations
  • Configurable transfer size and data type (either user defined or data counter) to onboard memory through PCIe interface using DMA operations.
  • Throughput calculation for data transfer to onboard memory through PCIe interface using DMA Operations

Block Diagram

Documentation

Quick Reference
Downloads
TITLE NUMBER VERSION DATE FORMAT SIZE
Select All
Nexus Platform PCIe DMA Throughput Demonstration - User Guide
FPGA-UG-02147 1.3 6/9/2023 PDF 4.6 MB
TITLE NUMBER VERSION DATE FORMAT SIZE
Select All
Certus-NX Versa Evaluation Board PCIe DMA Througput Demo for Linux - Source Code
1/9/2024 ZIP 308.8 MB
Certus-NX Versa Evaluation Board PCIe DMA Througput Demo for Windows - Source Code
1/9/2024 ZIP 303.1 MB
Crosslink-NX PCIe Bridge Board PCIe DMA Throughput Demo for Linux - Source Code
1/9/2024 ZIP 308.2 MB
Crosslink-NX PCIe Bridge Board PCIe DMA Throughput Demo for Windows - Source Code
1/9/2024 ZIP 313.9 MB
CertusPro-NX PCIe DMA Throughput Demo for Linux - Source Code
9/4/2024 ZIP 850.9 MB
CertusPro-NX PCIe DMA Throughput Demo for Windows - Source Code
9/4/2024 ZIP 858 MB

*By clicking on the "Notify Me of Changes" button, you agree to receive notifications on changes to the document(s) you selected.