Forum Discussion
Error 14566 when using the PCIe Hard IP Core next to the Custom Transceiver IP Core on a Cyclone V GX
- 7 years agoHie, My apologies for the delayed first reply to your forum questions. I had another transceiver IP question and mistaken that I have answered the following question. Basically, the device 5CGXFC9C7F23C8 used has 6 transceiver channels. As you have used PCIe Gen1x4; it means you are using up 5 transceiver channels. For Cyclone V, we only offer fPLL and CMU PLL as transmitter PLL. CMU PLL uses up one transceiver channel resource. fPLL does not sacrifice any transceiver channels. For PCIe, it is a requirement to use CMU PLL as the fPLL cannot meet the jitter requirements. Hence, to enable PCIe Gen1x4, you will use up 5 transceiver channels. Please check my replies to your questions: Question: Why is that? The figures 7-37 and 7-38 in the document above make it seem as if one additional channel PLL (1 or 4) was used for clock generation (TX PLL) for the other transceiver channels and their local PLLs. Is that correct? Response: Yes, you are correct. Channel PLL 1 or 4 is used for clock generation. Question: My conclusion to this is, that I need a FPGA that has more Transceiver channels available (at least 8, so probably one that has 9) Is this correct or is there any other way to implement even one of the two Duplex lanes of the Custom PHY Core? Is it possible to somehow share some resources or place the TX PLL "inside" the FPGA (for slower interfaces) ? Response: Yes, you are correct. To implement PCIe Gen1x4 and two Duplex lanes of the custom phy core, you will need at least 7 channels. The duplex channels can use the fPLL as transmitter PLL which does not sacrifice one transceiver channel. fPLL has higher transmitter jitter and currently can support till 3.125Gbps. We do not have a 7 channels device, hence you will need to use a 9 channel device. I am afraid, there is no other option to enable PCIe without using 5 channels. However, if you only using one Duplex channel, you can still use the existing 6 transceiver channel device. Regards, Nathan
Hello,
no problem; I appreciate your response anyway!
The observations I made in the meantime together with your reply have arisen a few new questions for me:
1) You mention, that - with the given configuration - it should be possible to place the PCIex4 together with one duplex channel in the FPGA. I could not find a suitable placement for the pins to work out this way. Are there any more constraints regarding the pins being used here?
2) When defining a PLL as a fPLL, how does one enable the Custom PHY to use that fPLL's clock as the transmitter clock? The PHY does not seem to have a option regarding this.
At the moment I am most likely to use a small Arria10GX device (12 transceiver channel) for the application. I hope to be able to put at least a PCIe Gen3 x4 (best case x8) and three duplex channels in that device, but I have to read into that more to come to a decision or ask detailed questions.
Best regards,
Florian