Replies: 1 comment 2 replies
-
I have no idea how the Xilinx BFM works, unfortunately. I have been using open source simulators that are not capable of running either the PCIe IP core model or the Xilinx root complex BFM. The IP core model in the repo here basically just converts the internal TLP objects to and from the Xilinx descriptors and then drives those into the design through the simulator interface. There is a bit more going on inside the model, but that's the most important part of it. It may be possible to connect the model to ports buried in the hierarchy so you don't have to pull the AXI interfaces all the way up to the top level, but I have not tried this myself as what I do is put the hard IP core instance in the top-level (fpga.v) and then only simulate the core logic (fpga_core.v). As far as PIPE is concerned, isn't it an intel standard so it should be vendor-independent? At any rate, if Xilinx and Altera IP cores implement it slightly differently, then it wouldn't be difficult to create a couple of different variations to support both. The hard part is all of the link layer and physical layer functionality that needs to be implemented, once that's done then implementing a couple of different flavors of PIPE wouldn't be that big of a deal. |
Beta Was this translation helpful? Give feedback.
-
Understood. While not impossible to rearrange like this, in my design, the HIP is buried down inside my EP hierarchy and segregated to eliminate AXI from the rest of the design (I can't stand AXI and use WB or simple FIFO interfaces or a more spec pure streaming TLP record throughout).
In the connections you described above, I am wondering if there is a way to bypass the HIP model in the repo and translate the root complex TLPs to the Xilinx descriptors, which would allow the root complex model in the repo to drive the Xilinx BFM's HIP (eliminating the crappy Rx/Tx APP modules). (I am still trying to digest how the above pieces talk to each other, so this may have no hope of working).
excellent.
when you do this, will you be adding support for both Xilinx and Altera PIPE interfaces?
Beta Was this translation helpful? Give feedback.
All reactions