Multi Channel DMA Intel® FPGA IP for PCI Express* Design Example User Guide

ID 683517
Date 6/09/2025
Public

Visible to Intel only — GUID: rxy1747785019534

Ixiasoft

Document Table of Contents

3.5.9.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.

  1. 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

  2. Configure the mem zone in p0_software/dpdk/dpdk/patches/v21.11.2/dpdk-stable/config/rte_config.h.

    #define RTE_MAX_MEMZONE 20480

  3. 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

  4. 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

  5. Navigate to the perfq folder:

    $ cd examples/mcdma-test/perfq

  6. 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.