
80
RocketIO™ Transceiver User Guide
UG024 (v3.0) February 22, 2007
Chapter 2:
Digital Design Considerations
R
Channel Bonding (Alignment) Operation
Channel bonding is the technique of tying several serial channels together to create one
aggregate channel. Several channels are fed on the transmit side by one parallel bus and
reproduced on the receive side as the identical parallel bus. The maximum number of
serial differential pairs that can be bonded is 24. For implementation guidelines, see
“Implementation Tools,” page 121
Channel bonding allows those primitives that support it to send data over multiple
“channels.” Among these primitives are GT_CUSTOM, GT_INFINIBAND, GT_XAUI, and
GT_AURORA. To “bond” channels together, there is always one “Master.” The other
channels can either be a SLAVE_1_HOP or SLAVE_2_HOPS. SLAVE_1_HOP is a Slave to a
Master that can also be daisy chained to a SLAVE_2_HOPS. A SLAVE_2_HOPS can only be
a Slave to a SLAVE_1_HOP and its CHBONDO does not connect to another transceiver. To
designate a transceiver as a Master or a Slave, the attribute CHAN_BOND_MODE must be
set to one of three designations: Master, SLAVE_1_HOP, or SLAVE_2_HOPS. To shut off
channel bonding, set the transceiver attribute to “off.” The possible values that can be used
are shown in
Note:
All standards that use both clock correction and channel bonding require a gap greater
than or equal to 4 bytes between clock correction and channel bonding sequences. If a user
creates his/’her own protocol that uses clock correction and channel bonding, the user must
ensure that there is at least a 4 byte gap between the sequences.
The channel bonding sequence is similar in format to the clock correction sequence. This
sequence is set to the appropriate sequence for the primitives supporting channel bonding.
The GT_CUSTOM is the only primitive allowing modification to the sequence. These
sequences are comprised of one or two sequences of length up to 4 bytes each, as set by
CHAN_BOND_SEQ_LEN and CHAN_BOND_SEQ_2_USE. Other control signals include
the attributes:
•
CHAN_BOND_WAIT
•
CHAN_BOND_OFFSET
•
CHAN_BOND_LIMIT
•
CHAN_BOND_ONE_SHOT
Typical values for these attributes are:
CHAN_BOND_WAIT = 8
CHAN_BOND_OFFSET = CHAN_BOND_WAIT
CHAN_BOND_LIMIT = 2 x CHAN_BOND_WAIT
Lower values are not recommended. Use higher values only if channel bonding sequences
are farther apart than 17 bytes.
Table 2-18:
Bonded Channel Connections
Mode
CHBONDI
CHBONDO
OFF
NA
NA
MASTER
NA
Slave 1 CHBONDI
SLAVE_1_HOP
Master CHBONDO
Slave 2 CHBONDI
SLAVE_2_HOPS
Slave 1 CHBONDO
NA
Product Not Recommended for New Designs