Software Driver for PCIe Integrated Block IP on Ultrascale Plus Card
I am testing the PCIe Integrated Block on a FPGA card with VU9P chip. I am able to perform the HDL simulation using the generated example design project. But I am having a hard time finding a software driver that can be used to test the real design on the FPGA board itself. I checked PG213 v1.3 (https://www.xilinx.com/support/documentation/ip_documentation/pcie4_uscale_plus/v1_3/pg213-pcie4-ultrascale-plus.pdf), on page 6 in the IP facts section, I notice that the IP core is not providing a S/W Driver. While there are SW drivers for XDMA and QDMA IPs, is there a reason why there's no such SW driverfor PCIe Integrated IP? Or does anyone knows where can I find one?
There is no driver becuase the hard IP block basically just does protocol translation. Both the XDMA and QDMA use the PCIe hard IP core internally, and the drivers for those are really for the DMA logic itself and not for the hard IP core. You will need to write a driver for whatever custom logic you have sitting behind the hard IP core. However, the operating system does communicate with the hard IP block as part of enumerating the device, so you can simply install the card in a computer and check with lspci or similar to see if it shows up. If you need a starting point for a custom linux driver, there are some very simple example drivers in this repository: https://github.com/alexforencich/verilog-pcie .