Given a channel bonding sequence with channel bonding enabled, in order for a nearby clock correction sequence to be used, the clock correction sequence must be separated from the channel bonding sequence. This is primarily a problem when CHAN_BOND_ONE_SHOT = FALSE, allowing channel bonding to be enabled continuously.
Following are the rules for Channel Bonding and Clock Correction separation to ensure that clock correction can occur while channel bonding is enabled. This assumes CHAN_BOND_OFFSET = CHAN_BOND_WAIT (as recommended).
- If the clock correction sequence precedes the channel bonding sequence, at least two other bytes must separate the two sequences.
- If the clock correction sequence follows the channel bonding sequence, at least (CHAN_BOND_WAIT-CHAN_BOND_SEQ_LEN two or more other bytes must separate the two sequences.
It is not an error for some clock correction sequences to violate these spacing rules. However, while channel bonding is enabled, some clock correction sequences must observe the spacing rules in sufficient number to ensure that the elastic buffer does not overflow.
Particular attention to these rules might be required for a design that uses consistently short interpacket gaps with channel bonding enabled.
In some protocols, the channel alignment is established during a "training" sequence in which packets are not being sent, then channel bonding is disabled (ENCHANSYNC=0) when packet transmission commences. With ENCHANSYNC=0, the presence of channel bonding sequences in interpacket gaps will not disable nearby clock correction sequences.
It is recommended that channel bonding be disabled after alignment has been established. This can be done dynamically by using ENHANCSYNC.