PCI Express Hard IP on Cyclone 10GX: BARs using I/O space and debug questions
I have a design using the hard PCIe core in a Cyclone 10 GX. First time we're using it. Quartus Prime Pro 19.3.
Two questions:
1) It appears to be impossible to set any of the BAR registers to "I/O Address Space", although it is an option in the pull-down. The user guide says this option was only for legacy endpoints, and that was removed several versions ago. Is it a PCIe thing that you can't set a BAR to I/O space? In past old-style PCI designs we usually used I/O space.
2) Although our link seems to be training OK and we can access the config registers and initialize the BARs, I am seeing no transactions coming out of the rxm_bar<n> interfaces. Are there any good suggestions on how to debug this? I see there is a hip_status bus you can enable, but haven't found any documentation of what the signals actually do. If possible I'd like to be able to confirm whether the read transactions from the CPU are actually being seen by my endpoint. That would be a start at least.
Thanks!