Keywords: LSB, align, ALIGN_COMMA_WORD,
This Answer Record describes several situations of which users should be aware when setting ALIGN_COMMA_WORD to 2.
Transmit commas on the LSB if you intend to receive commas on the LSB
For example, when ALIGN_COMMA_WORD is set to two and a comma is detected in the MSB position, the GTP realigns the data so that the new comma appears on the LS Byte of the RXDATA interface. This realignment procedure results in a lost data byte. Consequently, you must ensure that commas are transmitted only in the appropriate byte position.
RXRESET issued following RESETDONE asserting
When ALIGN_COMMA_WORD is set to two, an RXRESET should be issued following a GTPRESET and the corresponding RESETDONE assertion. Monitoring the location of the alignment byte on RXDATA and issuing RXRESET when an incorrect alignment is detected is a robust method for ensuring correct alignment. Note that RXRESET should only be issued when both RXUSRCLK and RXUSRCLK2 are stable.
RXBUFRESET does not reset the comma alignment block
When ALIGN_COMMA_WORD is set to two, RXRESET should be used instead of RXBUFRESET.
RXCDRRESET does not reset the comma alignment block in such a way to ensure the comma is placed on the LS Byte
If an RXCDRRESET is required, RXRESET should be toggled after RESETDONE goes High. In applications where reset time is not critical, GTPRESET can be used instead of RXCDRRESET.
RXELECIDLERESET does not reset the comma alignment block in such a way to ensure the comma is placed on the LS Byte
Resetting the CDR via the RXELECIDLERESET port is a bit more difficult because RXELECIDLERESET does not affect the RESETDONE flag. In this scenario, the user must establish that the CDR is stable before issuing an RXRESET.
There are several ways to establish that the CDR is stable. They range from RXRECCLK frequency detectors to looking at 8b/10b error signals. The most common method is to implement a timer, similar to the internal GTPRESET timer. The GTPRESET timer waits approximately 160 uS after the CDR comes out of reset before issuing an RXRESET.