10-11-2018 02:34 AM - edited 10-11-2018 02:35 AM
Hello PCIe gurus,
I have ZCU106 board where I implemented Xilinx PCIe IP in DMA mode (PG195) with descriptor bypass and AXI-Stream interface. The PCIe IP is configured as End Point, 4-lane, Gen 3.
When I connect such configured ZCU106 board with PEX8749 RDK board from Broadcom that is configured as Root Port, the PCIe link is established but it is reported as Gen1, not Gen3.
On the other side, when I configure my PCIe IP inside ZCU106 board as 4-lane, Gen2, PCIe link that is established between ZCU106 and PEX8749 RDK boards is properly reported as Gen2.
Do you guys have any idea why it was impossible to establish PCIe Gen3 connection between the baords?
Thanks in advance for your time and effort.
10-11-2018 10:52 AM
It sounds like there is an issue during Gen3 training which is failing back to Gen1. (A Gen3 failure will go back to Gen1, it doesn't go to a Gen2 intermediary). PLX (PEX parts) had some errata with Gen3 training that require adjustments on their side. I don't have the exact Errata titles, but there was one regarding parity in Gen3 packets and one that was regarding the PLX using only Gen3 coefficients and ignoring the "Use Preset" bit, both of which have caused some interop challenges. Please check through the errata for your specific part carefully and apply all recommend updates.
I would highly recommend setting the Xilinx IP, Advanced Mode, GT Settings tab to do Auto RX Equalization. That will help with one of the two above.
If that doesn't help, then you can insert a JTAG debugger as described in PG195 and capture the data. If you provide the LTSSM .dat file produced, we can see what phase training is failing at for Gen3.