Multi Channel DMA IP for PCI Express* Design Example User Guide
ID
683517
Date
8/04/2025
Public
3.5.1. Hardware Requirements
3.5.2. Software Requirements
3.5.3. Set Up the Hardware and Program the FPGA
3.5.4. Configuration Changes from BIOS
3.5.5. Installing the Required Kernel Version for Ubuntu v24.04
3.5.6. Set the Boot Parameters
3.5.7. MCDMA Custom Driver
3.5.8. MCDMA DPDK Poll Mode Driver
3.5.9. MCDMA Kernel Mode Network Device Driver
3.5.7.2.1. Custom PIO Read Write Test
You can read and write from the PIO address range in BAR 2 from any valid custom memory.
- A custom PIO write or read can be performed after completing the instructions outlined in the Prerequisites section.
- The valid address range is 0x0000 to 0x7FF8. When the IP interface type is Avalon-ST, the offset is 0x8000, i.e., the valid address range for the Avalon-ST interface type is 0x8000 to 0xFFF8.
Note: You need to increment the address value by 8 for any OS with 64-bit addressing. - Perform a custom write by running the commands below.
$ cd software/user/cli/perfq_app
$ sudo ./perfq_app -b 0000:01:00.0 -o --pio_w_addr=0x1010 \ --pio_w_val=0x30 --bar=2
Expected printout:
WRITE: PIO Address = 0x1010 Value = 0x30, bar = 2
Parameters for Write operation:
-b <bdf>
-o
--pio_w_addr=<address>
--pio_w_val=<value to write>
--bar=<bar number>
- Perform a custom read by running the commands below.
$ cd software/user/cli/perfq_app
$ sudo ./perfq_app -b 0000:01:00.0 -o --pio_r_addr=0x1010 \ --bar=2
Expected printout:
READ: PIO Address = 0x1010 Value = 0x30, bar = 2
Parameters for Read operation:
-b <bdf>
-o
--pio_r_addr=<address>
--bar=<bar number>