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

ID 683517
Date 12/01/2021
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

3.5.2.3.3. Run the Reference Example Application

  1. Build the reference application.

    $ cd cli/perfq_app/

    $ make clean && make all

    $ ./perfq_app -h

  2. This command displays the available options in the application, as shown in the image below:

    Refer to the README file located in the cli/perfq_app directory for more information.

  3. Do a PIO test to check if the setup is correct. If successful, the application displays a Pass status as shown in the image below:
    Here the -b option should be provided with the correct BDF in the system.
  4. Perform IP reset.

    This step will perform an IP Reset. You can perform this step before every run.

    Build devmem utility:

    $ software/user/cli/devmem

    $ make clean all

    $ ./devmem 0000:01:00.0 0 0x00200120 0x1

  5. Example of testing a loopback design with the following configuration:
    Command:
    $ ./perfq_app -b 0000:01:00.0 -p 32768 -l 5 -i -c 2\ 
    -d 2 -a 4

    Configuration:

    1. bdf (-b 0000:01:00.0)
    2. 2 channels (-c 2)
    3. Loopback (-i)
    4. Payload length of 64 bytes in each descriptor (-p 32768)
    5. Time Limit (-l 5)
    6. Debug log enabled (-d 2)
    7. One thread per queue (-a 4)
    Note: This hardware test was run with the Intel® Stratix® 10 GX H-tile PCIe Gen3 x16 configuration.
  6. Example of verifying on avmm design:
    Modify the below micro in the file: user/common/include/ifc_libmqdma.h
    #define PCIe_SLOT 0 /* 0 - x16, 1 - x8 */
    Command:
    $ ./perfq_app -b 0000:01:00.0 -p 32768 -l 5 -i -c 2\ 
    -d 2 -a 4

    Configuration:

    1. bdf (-b 0000:01:00.0)
    2. 2 channels (-c 2)
    3. Loopback (-i)
    4. Payload length of 32768 bytes in each descriptor (-p 32768)
    5. Time Limit set to 5 (-l 5)
    6. Debug log enabled (-d 2)
    7. One thread per queue (-a 4)
    Note: To test the data validity, you need to perform H2D then D2H operations.
Note: Execute the following command for MSIX:
$ulimit -n 8192

Did you find the information on this page useful?

Characters remaining:

Feedback Message