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: jwi1745541677639

Ixiasoft

Document Table of Contents

3.5.9.5. BAS Test

For x4 BAS:

  1. Set the PCIe_SLOT “2” in rte_pmd_mcdma.h (p0_software/dpdk/dpdk/drivers/net/mcdma/rte_pmd_mcdma.h).
  2. X4 BAS supports a burst length of 32 by default. In the file perfq_app.h (p0_software/dpdk/dpdk/examples/mcdma-test/perfq/perfq_app.h)

    #define IFC_MCDMA_BAS_X4_BURST_LENGTH 32

For the Traffic Generator/Checker design example, you must disable the MSI-X parameter, IFC_QDMA_MSIX_ENABLE, in the file "p0_software/dpdk/dpdk/drivers/net/mcdma/base/mcdma_ip_params.h" if MSI-X is not enabled in the IP Parameter Editor GUI. By default, the DPDK Driver software parameter is enabled and MSI-X is disabled in the IP. This mismatch prevents the ifc_uio kernel module from being loaded.

Note: Refer to Design Example BAR Mappings for BAR mapping information.

Commands:

  1. To verify the write operation:
    $ sudo ./build/mcdma-test -- -b 0000:01:00.0 --bar=0 \
    --bas -s 512 -t
    Figure 49. BAS Write Operation
  2. To verify the read operation:
    $ sudo ./build/mcdma-test -- -b 0000:01:00.0 --bar=0 \
    --bas -s 512 -r
    Figure 50. BAS Read Operation
  3. To verify the write and read operations:
    $ sudo ./build/mcdma-test -- -b 0000:01:00.0 --bar=0 \
    --bas -s 512 -z
    Figure 51. BAS Write and Read Operations
  4. Performance test:

    The log below is collected on a Gen3 x16 H-Tile.

    $ sudo ./build/mcdma-test -- -b 0000:01:00.0 --bar=0 \
    --bas_perf -s 16384 -z
    Figure 52. Performance Test
Note: For DPDK: VF/PF cannot run BAM+BAS+MCDMA simultaneously within one VM or hypervisor. You need to run one instance of VF/PF in an independent VM.