Hi Hank,
Thank you for sharing the details. Please see my comments below:
We are not toggling rx_analog_reset due to its long recovery delay.
[CP] The diagram shows signals after reset release. You likely do not need to toggle rx_analog_reset.
Our frame size is 109 µs, so LTR remains high for about 109 µs in each frame gap, which is much longer than tLTR_LTD_manual.
[CP] tLTR_LTD_manual specifies only a minimum value. As long as your duration exceeds that minimum, it should be fine.
The spec only lists the maximum tLTD_manual (4 µs) without a typical value.
[CP] Lock-to-data time can vary based on factors such as data rate, transition frequency, and signal integrity. This variability explains why a typical value is not provided—it depends on specific use cases.
Our hypothesis is that the SFP module’s internal CDR loses lock when the light drops, causing incorrect retimed data when the signal returns. This in turn may mislead the XCVR’s CDR. We recently purchased a customized SFP module with the onboard CDR bypassed at the factory. The new SFP module without CDR should help eliminate this issue. Does this make sense to you?
[CP] That seems plausible. The XCVR CDR will attempt to track incoming data when switching to LTD mode. If incorrect data rate is presented, the CDR may lock incorrectly. Note that my understanding is that typically there is a threshold—if the deviation is too large, the CDR will lose lock even in LTD mode.
By the way, could you share how long it typically takes for the word aligner to lock to correctly timed data?
[CP] This depends on your XCVR configuration. A functional simulation with your specific setup is recommended to estimate the number of parallel clock cycles required.
We are currently toggling the aligner enable (high–low–high) to reset it after setting the CDR back to LTD. Do you think this approach might extend the alignment time, or would you recommend a faster method?
[CP] I believe you are referring to rx_enapatternalign. Generally, this should be asserted only when a valid alignment pattern is present to avoid false alignment. Your method should not significantly increase alignment time, but you can confirm via simulation.
Please let me know if you have further questions. Thank you.