60
RocketIO™ Transceiver User Guide
UG024 (v3.0) February 22, 2007
Chapter 2:
Digital Design Considerations
R
8B/10B Encoding/Decoding
Overview
The RocketIO transceiver has the ability to encode eight bits into a 10-bit serial stream
using standard 8B/10B encoding. This guarantees a DC-balanced, edge-rich serial stream,
facilitating DC- or AC-coupling and clock recovery.
, shows the
significance of 8B/10B ports that change purpose, depending on whether 8B/10B is
bypassed or enabled.
8B/10B Encoder
A bypassable 8B/10B encoder is included in the transmitter. The encoder uses the same
256 data characters and 12 control characters (shown in
) that are used for Gigabit Ethernet, XAUI, Fibre Channel, and InfiniBand.
The encoder accepts 8 bits of data along with a K-character signal for a total of 9 bits per
character applied. If the K-character signal is High, the data is encoded into one of the
twelve possible K-characters available in the 8B/10B code. (See
.) If the
K-character input is Low, the 8 bits are encoded as standard data. If the K-character input
is High and a user applies other than one of the twelve possible combinations, TXKERR
indicates the error.
8B/10B Decoder
An optional 8B/10B decoder is included in the receiver. A programmable option allows the
decoder to be bypassed. When it is bypassed, the 10-bit character order is as shown in
. The decoder uses the same table that is used for Gigabit Ethernet,
Fibre Channel, and InfiniBand.
The decoder separately detects both “disparity errors” and “out-of-band” errors. A
disparity error
occurs when a 10-bit character is received that exists within the 8B/10B table
(
), but has an incorrect disparity. An
out-of-band error
occurs when a 10-
bit character is received that does not exist within the 8B/10B table. It is possible to obtain
an out-of-band error without having a disparity error. The proper disparity is always
computed for both legal and illegal characters. The current running disparity is available at
the RXRUNDISP signal.
The 8B/10B decoder performs a unique operation if out-of-band data is detected. Should
this occur, the decoder signals the error, passes the illegal 10 bits through, and places them
on the outputs. This can be used for debugging purposes if desired.
The decoder also signals reception of one of the twelve valid K-characters (
) by way of the RXCHARISK port.
In addition, a programmable comma detect is included. The comma detect signal
RXCOMMADET registers a comma on the receipt of any plus-comma, minus-comma, or
both. Since the comma is defined as a 7-bit character, this includes several out-of-band
characters. RXCHARISCOMMA allows the decoder to detect only the three defined
commas (K28.1, K28.5, and K28.7) as plus-comma, minus-comma, or both. In total, there
are six possible options, three for valid commas and three for “any comma.”
Note that all bytes (1, 2, or 4) at the RX FPGA interface each have their own individual
8B/10B indicators (K-character, disparity error, out-of-band error, current running
disparity, and comma detect).
Product Not Recommended for New Designs