132 www.xilinx.com Virtex-4 RocketIO MGT User GuideUG076 (v4.1) November 2, 2008Chapter 3: PCS Digital Design Considerations RRX Fabric Interface and Channel BondingWhen channel bonding is used, RXRESET must be deasserted synchronously on allchannel-bonded MGTs. This is because of the way the fabric interface block distributes theinternal four bytes of data. A counter is used to select (load) data from the RXUSRCLKdomain when 1-byte and 2-byte fabric width is used. On the next RXUSRCLK2 clock, datais shifted from MSB to LSB two bytes at a time. Data can be skewed if RXRESET isdeasserted asynchronously (or on different clock cycles to bonded MGTs). Therefore, in1-byte and 2-byte modes, RXRESET must be deasserted synchronously on all channel-bonded MGTs.Status and Event BusThe Virtex-4 design has merged several signals together to provide extra functionality overthe Virtex-II Pro design. The signals CHBONDDONE, RXBUFSTATUS, andRXCLKCORCNT were previously used independently of each other to indicate status. Inthe Virtex-4 design, these signals are concatenated together to provide a status and eventbus.There are two modes of this concatenated bus, status mode and event mode. In statusmode, the bus indicates either the difference between the read and write pointers of thereceive side buffer or the skew of the last channel bond event.Status IndicationIn status mode, the RXSTATUS pins alternate between the buffer pointer difference andchannel bonding skew. The protocol is described by three sequential clocks (STATUS andDATA are one RXUSRCLK in duration): INDICATOR> where:STATUS INDICATOR can indicate either pointer difference or channel bonding skew,DATA0 indicates status data 5:3, andDATA1 indicates status data 2:0.Table 3-21 shows the signal values for a pointer difference status where the variablepointer Diff[5:0] holds the pointer difference between the receive write and read pointers:Table 3-22 shows the signal values for a channel bonding skew where the variablecbSkew[5:0] holds the skew between the MGT and the channel bonding master.Table 3-21: Signal Values for a Pointer Difference StatusStatus RXSTATUS[5] RXSTATUS[4:3] RXSTATUS[2:0]STATUS INDICATOR 1'b0 2’b01 3’b000DATA0 1'b0 2’b00 pointerDiff[5:3]DATA1 1'b0 2’b00 pointerDiff[2:0]Table 3-22: Signal Values for a Channel Bonding SkewStatus RXSTATUS[5] RXSTATUS[4:3] RXSTATUS[2:0]STATUS INDICATOR 1'b0 2’b01 3’b001