Rx_Loss_Of_Sync_Fsm; Sync_Acquired (Rxlossofsync = 00); Resync (Rxlossofsync = 01); Loss_Of_Sync (Rxlossofsync = 10) - Xilinx RocketIO User Manual

Hide thumbs Also See for RocketIO:
Table of Contents

Advertisement

PLL Operation and Clock Recovery
Table 3-11: RXCLKCORCNT Definition (Continued)

RX_LOSS_OF_SYNC_FSM

The transceivers FSM is driven by RXRECLK and uses status from the data stream prior to
the elastic buffer. This is intended to give early warning of possible problems well before
corrupt data appears on RXDATA. There are three states.

SYNC_ACQUIRED (RXLOSSOFSYNC = 00)

In this state, a counter is decremented by 1 (but not past 0) for a valid received symbol and
incremented by RX_LOS_INVALID_INCR for an invalid symbol. If the count reaches or
exceeds RX_LOS_THRESHOLD, the FSM moves to state LOSS_OF_SYNC. Otherwise, if a
channel bonding (alignment) sequence has just been written into the elastic buffer, or if a
comma realignment has just occurred, the FSM moves to state RESYNC. Otherwise, the
FSM remains in state SYNC_ACQUIRED.

RESYNC (RXLOSSOFSYNC = 01)

The FSM waits in this state for four RXRECCLK cycles and then goes to state
SYNC_ACQUIRED, unless an invalid symbol is received, in which case the FSM goes to
state LOSS_OF_SYNC.

LOSS_OF_SYNC (RXLOSSOFSYNC = 10)

The FSM remains in this state until a comma is received, at which time it goes to state
RESYNC. The FSM state appears on RXLOSSOFSYNC if RX_LOSS_OF_SYNC_FSM is
TRUE. Otherwise, RXLOSSOFSYNC[1] is high if an invalid byte (not in table, or with
disparity error) is received, and RXLOSSOFSYNC[0] is High when a channel bonding
(alignment) sequence has just been written into the elastic buffer.

8B/10B Operation

The RocketIO transceiver has the ability to encode eight bits into a 10-bit serial stream
using standard 8B/10B encoding. This guarantees a DC-balanced, edge-rich serial stream,
facilitating DC- or AC-coupling and clock recovery. If the 8B/10B encoding is disabled, the
data is sent through in 10-bit blocks. The 8B/10B-bypass signal is set to 1111 and the
RX_DECODE_USE attribute must be set to FALSE. If the 8B/10B encoding is needed, the
bypass signal must be set to 0000 and the RX_DECODE_USE must be set to TRUE. If this
pair is not matched, the data is not received correctly.
encoding/decoding blocks of the transceiver and how the data passes through these
blocks.
depending on whether 8B/10B is bypassed or enabled.
UG024 (v1.5) October 16, 2002
RocketIO™ Transceiver User Guide
RXCLKCORCNT[2:0]
100
101
110
111
Table 3-12, page
58, shows the significance of 8B/10B ports that change purpose
www.xilinx.com
1-800-255-7778
Significance
Elastic buffer skipped four clock correction sequence for
current RXDATA
Elastic buffer executed channel bonding for current RXDATA
Elastic buffer repeated two clock correction sequences for
current RXDATA
Elastic buffer repeated one clock correction sequences for
current RXDATA
Figure 3-9
shows the
R
57

Advertisement

Table of Contents
loading

Table of Contents