| AR# |
25385 |
| Part |
HW-Rocket_IO |
| Last Modified |
2008-05-15 00:00:00.0 |
| Status |
Active |
| Keywords |
LSB, align, ALIGN_COMMA_WORD |
Description
Keywords: LSB, align, ALIGN_COMMA_WORD
This Answer Record describes several common mistakes made by users when setting ALIGN_COMMA_WORD to 2.
Solution
Transmit commas on the LSB if you intend to receive commas on the LSBFor 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.
RXBUFRESET does not reset the comma alignment blockWhen 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 ByteIf 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 ByteResetting 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.