Arria 10 SGMII CDR does not lock to data
Hi
I adapted the SGMII reference design from Rocketboards to our own hardware based on a Arria 10 SX SoC (https://www.rocketboards.org/foswiki/Documentation/A10SGMIIRDUserManualLTS). I use a 100MHz clock connected to CLKUSR pin for transceiver calibration and a 125MHz clock as transceiver reference clock.
Transmitting data seems to be working fine but I see a lot of packet loss on the receiving data. I checked a few signals with chipscope and noticed that the transceiver reset PHY controller is periodically asserting rx_digitalreset. The reason of that is probably the toggling rx_is_lockedtodata signal. I measured the signal with chipscope and with an oscilloscope. The period of the rx_is_lockedtodata signal changes depending on if the Ethernet PHY is powered down (1kHz) or operating (2kHz), but despite that it is constant.
Since receiving data is working, but with about 50% packet loss. I assume the CDR is not able to sucessfully lock to the incoming data. Is my assumption correct or is something else causing the rx_is_lockedtodata toggling with a constant rate? Why does the period of rx_is_lockedtodata change depending on if a SGMII RX signal is present or not? How can I verify transceiver calibration was successful? Are there any possibilities to debug the CDR?
Thank you in advance for the help,
Andreas