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

Ixiasoft

Document Table of Contents

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

  1. Update the static channel mapping in p0_software/user/cli/perfq_app/perfq_app.h by modifying the following parameters:

    /* 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 Prerequisites and run the perfq_app application command:

    $ sudo ./perfq_app -b 0000:01:00.0 -p 32768 -d 2 -c 1 -a 2 -l 5 -z -–pf=<pf number> --vf=<vfnumber>

    Figure 33. Testing Results for PF1
    Figure 34. Testing Results for VF2 of PF2
Note: If you run DMA on a PF only, then "--vf " might not be required. However, if you run DMA on a VF, then "--pf" and "--vf" both might be needed as you need to know from which PF the VF was spawned. The PF number and VF number start with 1 in the command line parameters. For example, --pf=1 is pointing to PF0 and --pf=2 is pointing to PF1. The same applies for VFs.
Configuration:
  • bdf (-b 0000:01:00.0)
  • 1 channel (-c 1)
  • Bidirectional (-z)
  • Payload length of 32,768 bytes in each descriptor (-p 32768)
  • Time Limit (-l 5)
  • Dump every 2 seconds (-d 2)
  • One thread per queue (-a 2)