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

ID 683517
Date 6/09/2025
Public
Document Table of Contents

3.5.9.3.2. Avalon-ST Packet Generate/Check (Packet Generate/Check)

The DPDK driver can be used with the AVST/AXIST Packet Generate/Check design example to test the packet generator and checker design. The following diagram shows the testing strategy.

  1. Update the static channel mapping in

    p0_software/dpdk/dpdk/examples/mcdma-test/perfq/perfq_app.h by modifying the following parameters:

    •	/* PF count starts from 1 */
    #define IFC_QDMA_CUR_PF <pf number>
    •	/* VF count starts from 1. Zero implies PF was used instead of VF */
    #define IFC_QDMA_CUR_VF <vf number>
    •	/* Number of PFs */
    #define IFC_QDMA_PFS <number of PFs>
    /* Channels available per PF */
    #define IFC_QDMA_PER_PF_CHNLS <number of channels per PF>
    •	/* Channels available per VF */
    #define IFC_QDMA_PER_VF_CHNLS <number of channels per VF>
    •	/* Number of VFs per PF */
    #define IFC_QDMA_PER_PF_VFS <number of VFs per PF>
    
  2. Complete the instructions outlined in 3.5.9.1. Prerequisites section, and navigate to perfq folder.:

    $ cd dpdk-stable/build/examples/mcdma-test/perfq

  3. Test a Packet Generate/Check design example with the following command:
    $sudo ./build/mcdma-test -m 8192 --file-prefix=pf0 -- -b 0000:01:00.0 \
    -p 32768 -d 2 -c 1 -a 2 -l 5 -z -n
    Configuration:
    • 1 channel (-c 1)
    • Packet generator bidirectional (-z)
    • Payload length of 32,768 bytes in each descriptor (-p 32768)
    • Transfer the data every 5 seconds (-l 5)
    • Dump the progress log every 2 seconds (-d 2)
    • Configure the number of channels in ED (-n)
    • Number of threads to be used for DMA purpose (-a 2)
Figure 43. DPDK Avalon-ST Packet Generate/Check Design Example Gen4 x16: P-Tile Hardware Test Results