GTS AXI Multichannel DMA IP for PCI Express* User Guide

ID 847470
Date 8/25/2025
Public
Document Table of Contents

B. Software Programming Model

The GTS AXI Multichannel DMA IP for PCI Express Linux software consists of the following components:

  • Test applications
  • User space library for custom driver (libmqdma)
  • DPDK Poll Mode-based driver
  • PCIe endpoint driver (ifc_uio)

The software files are created in the GTS AXI Multichannel DMA IP for PCI Express design example project folder when you generate a design example from the IP Parameter Editor as shown below. The software configuration is specific to the design example generated by  Quartus® Prime.

Figure 57. Software Folder Structure
Table 79.  GTS AXI MCDMA IP Software Driver Differentiation
Driver Description Use Case / Application
Custom
  • Customized user space MCDMA library, which can be installed in the form of a static library file and a corresponding test utility.
  • Supports accessing the device by using VFIO and UIO kernel frameworks.
  • Sample performance-based application developed to demonstrate the performance and usage.

If you have your own user space platform to use this driver with custom APIs.

API information is shared in this User Guide.

Example: Any user space application which needs DMA features.

DPDK
  • Poll mode MCDMA driver by using DPDK infrastructure and example test application are developed.
  • DPDK patches are provided to support MSI-X and address some error cases.
  • Supports both UIO and VFIO kernel frameworks, which can be enabled at DPDK build time.

If you use DPDK as your platform, you can integrate this PMD with your DPDK framework to perform DMA.

Example: DPDK based NFV applications.