In manual alignment mode, the word alignment operation is manually controlled with the rx_std_wa_patternalign input signal or the rx_enapatternalign register.
Depending on the configuration, controlling the rx_std_wa_patternalign signal enables the word aligner to look for the predefined word alignment pattern in the received data stream. A value 1 at the rx_patterndetect register indicates that the word alignment pattern is detected . A value 1 at the rx_syncstatus register indicates that the word aligner has successfully synchronized to the new word boundary.
Manual word alignment can be also triggered by writing a value 1 to rx_enapatternalign register. The word alignment is triggered in the next parallel clock cycle when a 0 to 1 transition occurs on the rx_enapatternalign register.
After rx_syncstatus is asserted and if the incoming data is corrupted causing an invalid code group, rx_syncstatus remains asserted. The rx_errdetect register will be set to 1 (indicating RX 8B/10B error detected). When this happens, the manual alignment mode is not be able to de-assert the rx_syncstatus signal. You must manually assert rx_digitalreset or manually control rx_std_wa_patternalign to resynchronize a new word boundary search whenever rx_errdetect shows an error.
Table 18. Word Aligner Operations in Manual Alignment Mode
PCS Mode |
PMA–PCS Interface Width (bits) |
Word Alignment Operation |
Single Width |
8 |
- After the rx_digitalreset signal deasserts, a 0-to-1 transition on the rx_enapatternalign register triggers the word aligner to look for the predefined word alignment pattern in the received data stream and automatically synchronize to the new word boundary.
- Any alignment pattern found thereafter in a different word boundary does not cause the word aligner to resynchronize to this new word boundary because there is a lack of a preceding 0-to-1 transition on the rx_enapatternalign register.
- To resynchronize to the new word boundary, create a 0-to-1 transition in the rx_enapatternalign register.
- If you set the rx_enapatternalign register to 1 before the deassertion of the rx_digitalreset signal, the word aligner updates the word boundary when the first alignment pattern is found, even though a 0-to-1 transition was not explicitly generated.
- To resynchronize to the new word boundary, create a 0-to-1 transition to the rx_enapatternalign register.
- When the word aligner synchronized to the new word boundary, the rx_patterndetect and rx_syncstatus signals will assert for one parallel clock cycle.
|
10 |
- After the rx_digitalreset signal deasserts, setting the rx_enapatternalign register to 1 triggers the word aligner to look for the predefined word alignment pattern, or its complement in the received data stream, and automatically synchronize to the new word boundary.
- Any alignment pattern found thereafter in a different word boundary causes the word aligner to resynchronize to this new word boundary if the rx_enapatternalign register remains set to 1.
- If you set the rx_enapatteralign register to 0, the word aligner maintains the current word boundary even when it finds the alignment pattern in a new word boundary.
- When the word aligner synchronized to the new word boundary, the rx_patterndetect and rx_syncstatus signals will assert for one parallel clock cycle.
|
Double Width |
16 |
- After the rx_digitalreset signal deasserts, regardless of the setting in the rx_enapatternalign register, the word aligner synchronizes to the first predefined alignment pattern found.
- Any alignment pattern found thereafter in a different word boundary does not cause the word aligner to resynchronize to this new word boundary.
- To resynchronize to the new word boundary, create a 0-to-1 transition in the rx_enapatternalign register.
- When the word aligner synchronized to the new word boundary, the rx_patterndetect and rx_syncstatus signals will assert for one parallel clock cycle. The rx_syncstatus signal will deassert if the next rising edge of rx_enapatternalign is detected.
|
20 |