Xilinx Virtex-4 RocketIO User Manual page 128

Multi-gigabit transceiver
Hide thumbs Also See for Virtex-4 RocketIO:
Table of Contents

Advertisement

Chapter 3: PCS Digital Design Considerations
outside the limits of the CLK_COR_MIN_LAT and CLK_COR_MAX_LAT attributes.
Channel bond operations are blocked while clock correction requests are pending.
While servicing either request, the master is busy for 17 + CHAN_BOND_LIMIT/4
(fraction rounded up) RXUSRCLKs. Subsequent channel bond or clock correction
sequences are ignored for this period.
Meanwhile, the slaves are independently looking for channel bond sequences. When a
slave detects a channel bond sequence, it adjusts for the 6-clock delay required to receive a
channel bond request and sets a slave skew point (SSP). The slave tries to correlate the SSP
with a master's channel bond request. The slave is looking plus/minus the
CHAN_BOND_LIMIT from the SSP for the channel bond request. Failure by the slave to
detect a CBR from the master results in no effort to bond and a channel bond error status
being reported on the RXSTATUS lines.
The channel bond request is also fed back into the master as a common method for
generating channel bond done status by the master.
The fastest a SSP can be processed is 8 RXUSRCLKs. In the worst case, the slave requires
8 + CHAN_BOND_LIMIT /4 (all fractions are rounded up) RXUSRCLKs to process the
SSP. If an error occurs, i.e. no channel bond request is seen within the SSP's channel
bonding window, then one more RXUSRCLK (error cycle) is required to process the SSP,
for a total of 9 + CHAN_BOND_LIMIT /4 (all fractions are rounded up) RXUSRCLKs. A
slave can process only one SSP at a time. Similar to the master, if a subsequent channel
bond sequence is detected prior to the slave completing the processing of a SSP, this
subsequent channel bond sequence is ignored.
Table 3-19: Maximum Time Required to Process Channel Bond Sequences
Notes:
1. All fractions are rounded up.
2. Assume 4 bytes of data transmitted per RXUSRCLK.
From the above explanation, it can be seen that masters and slaves require a certain
amount of time to service channel bond sequences when CCCB_ARBITRATOR_DISABLE
= FALSE and CLOCK_CORRECTION_USE = TRUE. Consequently, when channel bond
sequences are closely spaced, neither the master nor the slaves process every channel bond
sequence.
In order to channel bond, both the master and slave need to process on the same relative
channel bond sequence from their receive data streams. To ensure that both the master and
slave are processing the same relative channel bond sequence when
CCCB_ARBITRATOR_DISABLE = FALSE and CLOCK_CORRECTION_USE = TRUE, the
following restrictions apply:
128
Condition
CCCB_ARBITRATOR_
DISABLE = FALSE
CCCB_ARBITRATOR_
DISABLE = TRUE
The channel bond sequence should not be fixed such that it repeats continuously with
spacing less than the worst-case slave processing time of 9 + CHAN_BOND_LIMIT/4
(rounded up) RXUSRCLKs (36 + CHAN_BOND_LIMIT bytes). If possible, channel
www.xilinx.com
Master Processing Time
17 RXUSRCLKs +
(1)
CHAN_BOND_LIMIT/4
(68 Bytes +
(2)
CHAN_BOND_LIMIT)
(2)
2 RXUSRCLKs (8 Bytes)
Virtex-4 RocketIO MGT User Guide
Slave Processing Time
9 RXUSRCLKs +
CHAN_BOND_LIMIT/4
(36 Bytes +
(2)
CHAN_BOND_LIMIT)
UG076 (v4.1) November 2, 2008
R
(1)

Advertisement

Table of Contents
loading

Table of Contents