Cyclone V Device Handbook: Volume 2: Transceivers

ID 683586
Date 10/24/2018
Public
Document Table of Contents

1.3.2.1.2. Word Aligner in Manual Alignment Mode

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
  1. 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.
  2. 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.
  3. To resynchronize to the new word boundary, create a 0-to-1 transition in the rx_enapatternalign register.
  4. 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.
  5. To resynchronize to the new word boundary, create a 0-to-1 transition to the rx_enapatternalign register.
  6. 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
  1. 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.
  2. 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.
  3. 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.
  4. 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
  1. 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.
  2. Any alignment pattern found thereafter in a different word boundary does not cause the word aligner to resynchronize to this new word boundary.
  3. To resynchronize to the new word boundary, create a 0-to-1 transition in the rx_enapatternalign register.
  4. 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