Multi Channel DMA IP for PCI Express* Design Example User Guide
ID
683517
Date
8/04/2025
Public
3.5.1. Hardware Requirements
3.5.2. Software Requirements
3.5.3. Set Up the Hardware and Program the FPGA
3.5.4. Configuration Changes from BIOS
3.5.5. Installing the Required Kernel Version for Ubuntu v24.04
3.5.6. Set the Boot Parameters
3.5.7. MCDMA Custom Driver
3.5.8. MCDMA DPDK Poll Mode Driver
3.5.9. MCDMA Kernel Mode Network Device Driver
3.5.8.3.2.1. DMA Test Beyond 256 Channels
If the design example is generated with the number of channels greater than 256, follow this procedure to run a DMA test.
- Define the following software flag in
p0_software/dpdk/dpdk/patches/v21.11.2/dpdk-stable/drivers/net/mcdma/rte_pmd_mcdma.h:
#define IFC_MCDMA_DIDF
- Configure the mem zone in p0_software/dpdk/dpdk/patches/v21.11.2/dpdk-stable/config/rte_config.h.
#define RTE_MAX_MEMZONE 20480
- Undefine single function mode in
p0_software/dpdk/dpdk/patches/v21.11.2/dpdk-stable/examples/mcdma-test/perfq/meson.build.
-UIFC_MCDMA_SINGLE_FUNC
- Rebuild the DPDK application using the following commands for the new settings to take effect.
$ cd p0_software/dpdk/dpdk/patches/v21.11.2/dpdk-stable/
$ sudo meson build --reconfigure
$ sudo DESTDIR=install ninja -C build install
$ cd build
$ sudo meson configure -Dexamples=mcdma-test/perfq \ -Denable_kmods=true
$ sudo ninja
- Navigate to the perfq folder:
$ cd examples/mcdma-test/perfq
- Verify the Packet Generate/Check design example variant using the following command:
$ sudo ./build/mcdma-test -m 20480 -l 0-8 -- -p 64 -l 1 -z \ -d 1 -c 2048 -a 4
Figure 44. Example Command Output for AVST/AXIST

Note: For a 2048-channel test, the following configurations can be used:
- With SR-IOV: 2 PFs (512 channels per PF) and 2 VFs per PF (256 channels per VF).
- Without SR-IOV: 4 PFs (512 channels per PF).
Note:
In the current release, a single page is supported in DIDF mode.
In the current release, a simultaneous process is not supported in DIDF mode. You can run one process with 2K channels.