PCIe Hard IP Cyclone 10 peer to peer communication
Hi,
we are trying to achieve communication between two endpoint FPGAs.
The architecture of the system is as follows:
PC (root complex)
|
pcie switch
/ \
FPGA A FPGA B
The FPGAs are using the PCIe Hard IP with DMA and Avalon-MM interface.
We can communicate from PC with FPGA A and B individually, both through the BARs and the fpga's pcie DMA.
When we program the fpgaA's DMA to make a transaction between A and B, like this:
- SRC: <on-chip-memory of fpgaA address>
- DST: <bar2 of fpgaB address + fpgaB on-chip-memory offset >
nothing happens.
We clearly see through signal tap that the packet is leaving fpgaA, but nothing exits from the PCIe rxm_bar to the avalon bus in fpgaB.
We also saw from the switch registers that the switch is correctly forwarding the packets.
What are we missing?
Why the FPGA B is not receiving any packet?
Kind Regards,
Andrea