Multi Channel DMA Intel® FPGA IP for PCI Express* Design Example User Guide
ID
683517
Date
6/09/2025
Public
A newer version of this document is available. Customers should click here to go to the newest version.
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. Host Operating System Check for Ubuntu v22.04
3.5.6. Installing the Required Kernel Version for Ubuntu v24.04
3.5.7. Set the Boot Parameters
3.5.8. MCDMA Custom Driver
3.5.9. MCDMA DPDK Poll Mode Driver
3.5.10. MCDMA Kernel Mode Network Device Driver
3.5.8.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.
- For BAM PIO: the valid address range is 0x0 - 0x7ff. (For address 0x0, software gives an error "Invalid address". This is a known issue.)
- For PIO (User Mode without BAM): the valid address range is 0x0 - 0x1ff8.
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>