82
RocketIO™ Transceiver User Guide
UG024 (v3.0) February 22, 2007
Chapter 2:
Digital Design Considerations
R
These CBSs should be unique from other delimiters in the data stream, including Clock
Correction Sequence, IDLE, Start of Frame, and End of Frame. As with clock correction,
there are multiple sequences that can be defined (GT_CUSTOM only). The primary CBS is
defined by CHAN_BOND_SEQ_1_
*
, where
*
= a number from 1 to 4.
If a second CBS is required, CHAN_BOND_SEQ_2_USE must be set to TRUE, and
CHAN_BOND_SEQ_2_
*
used to define the second CBS; otherwise,
CHAN_BOND_SEQ_2_USE should be left at its default value, FALSE. See
Vitesse Channel Bonding Sequence,” page 65
, for the bit breakdown of the sequence
definition.
Finally, CHAN_BOND_SEQ_LEN defines the CBS length as 1 to 4 bytes. When set to
anything other than 4, only those sequences are defined. For example, if
CHAN_BOND_SEQ_LEN is set to 2, only CHAN_BOND_SEQ_1_1 and
CHAN_BOND_SEQ_1_2 need to be defined.
CHAN_BOND_WAIT,
CHAN_BOND_OFFSET,
CHAN_BOND_LIMIT
These three attributes define how the Master performs channel alignment of the RX buffer.
The typical values of these attributes are:
CHAN_BOND_WAIT = 8
CHAN_BOND_WAIT roughly defines the maximum number of bytes by which the Slave
can lag the Master. Due to internal pipelining, the equation should be
(CHAN_BOND_WAIT - 3.5) bytes = # of bytes Slave may lag Master. For example, if
CHAN_BOND_WAIT = 8, the Slave may lag the Master by 4.5 bytes. While this type of lag
is equivalent to approximately 14 ns at 3.125 Gb/s, it is recommended that channel links be
matched as closely as possible.
The equation that produces this maximum lag time result is
lag time [ns] = (1 / serial speed [Gb/s] )
•
number of lag bytes
•
10 bits/byte
or, for schemes that do not use 8B/10B encoding,
(1 / serial speed [Gb/s] )
•
number of 10-bit lag characters
•
10 bits/character
In the example above, 1/3.125 Gb/s
•
4.5 bytes
•
10 bits/byte = 14.4 ns.
The recommended setting of 8 is set for protocols such as Infiniband and XAUI, which can
repeat the CBS every 16 and 17 bytes respectively. However, CHAN_BOND_WAIT can
grow accordingly if CBSs are spaced farther apart.
CHAN_BOND_OFFSET = CHAN_BOND_WAIT
CHAN_BOND_OFFSET measures the number of bytes past the beginning of the channel
bonding sequence. However, this value must always equal CHAN_BOND_WAIT.
CHAN_BOND_LIMIT = 2X CHAN_BOND_WAIT
CHAN_BOND_LIMIT defines the expiration time after which the Slave will invalidate the
most recently seen CBS location in the RX buffer. For proper alignment, this value must
always be set to two times CHAN_BOND_WAIT.
Product Not Recommended for New Designs