Stratix 10 Native PHY 10GBASE-R serial loopback: Rx is not always mirroring Tx
Hello,
I am using the native PHY configured for 10GBASE-R. I enabled the serial loopback feature to troubleshoot some issues with the Tx path, and found in the process that although the serial loopback to Rx works in the large majority of the time, i.e. the Rx XGMII data is a carbon copy of the Tx XGMII data, sometimes that is not the case, i.e. some bits are corrupted. If the loopback is clean at power up, it seems to stay clean, but sometimes the loopback shows bit corruption. When that happens, as far as I can tell, all status signals look fine, i.e. tx pll is locked, rx locked to data is true, the PHY is not in reset, the transfer ready signals are high, etc. so there is no obvious way to tell that something is off at the application level in the FPGA.
Without an obvious smoking gun I do not know if that is an issue with the serial loopback itself, or if it reveals something fundamentally wrong with the way the PHY is setup, whether it is an issue with the Tx path or the Rx path or both.
The way I setup the PHY is the following:
- ATX pll provides 5156.25MHz to the TX serial clock
- Max 10 provides 156.25MHz to the MAC and to the CDR ref clock
- tx_clkout loops back to tx_coreclkin
- rx clkout loops back to rx_coreclkin
Any hint would be greatly appreciated.
Many thanks in advance,
BeB