Setting The Maximum Skew; Precedence Between Channel Bonding And Clock Correction - Xilinx Virtex-5 RocketIO GTP User Manual

Table of Contents

Advertisement

R

Setting the Maximum Skew

When the master receives a channel bonding sequence, it does not trigger channel bonding
immediately. Several more bytes must arrive in case the slaves have more latency. This
wait time effectively becomes the maximum skew the buffer can handle. If the skew is
greater than this wait time, the slaves might not receive the sequence by the time the
master triggers channel bonding (see
Figure 7-33
behind the master, the master must wait several cycles before triggering channel bonding,
otherwise the slow slave will not have the channel bonding sequence in its buffer.
Master
Receives CB
Sequence
The Master waits MAX SKEW cycles before
triggering bonding, giving the slave time to
receive the sequence as well. The message
to perform channel bonding is sent using
the CHBONDO port.
The CHAN_BOND_LEVEL setting of the Master
determines how many cycles later the bonding
operation is executed. At this time, the Slave
Elastic Buffer pointers are moved so the
output is deskewed.
Figure 7-33: Channel Bonding Example (MAX_SKEW = 2 and Master CHAN_BOND_LEVEL = 1)
CHAN_BOND_1_MAX_SKEW and CHAN_BOND_2_MAX_SKEW are used to set the
maximum skew allowed for channel bonding sequences 1 and 2, respectively. The
maximum skew range is 1 to 14. The channel bond skew must be set no higher than the
minimum distance allowed between channel bonding sequences in the datastream. This
minimum distance is determined by the protocol being used.

Precedence between Channel Bonding and Clock Correction

The clock correction (see
circuits both perform operations on the pointers of the RX elastic buffer. Normally, the two
circuits work together without conflict, except when clock correction events and channel
bonding events occur simultaneously. In this case, one of the two circuits must take
precedence. To make clock correction a higher priority than channel bonding,
CLK_COR_PRECEDENCE must be set to TRUE. To make channel bonding a higher
priority, CLK_COR_PRECEDENCE must be set to FALSE.
Virtex-5 RocketIO GTP Transceiver User Guide
UG196 (v1.3) May 25, 2007
shows two FIFOs, one for the master and one for the slave. If the slave is
SEQ1
D7
D7
D6
D10
D9
D9
D8
SEQ1
D11
D10
D11
D10
"Configurable Clock Correction," page
www.xilinx.com
Configurable Channel Bonding (Lane Deskew)
Figure
7-33).
D6
D5
D4
D3
D2
D5
D4
D3
D2
D1
D8
SEQ1
D7
D6
D5
D7
D6
D5
D4
D9
D8
SEQ1
D7
D6
D9
SEQ1
D7
D6
D5
Slave's New Elastic
Buffer Read Pointer
Master
D1
Elastic
Buffer
Slave
D0
Elastic
Buffer
Master
D4
Elastic
Buffer
Slave
D3
Elastic
Buffer
Master
D5
Elastic
Buffer
Slave
D4
Elastic
Buffer
UG196_c7_30_092606
168) and channel bonding
181

Advertisement

Table of Contents
loading

Table of Contents