With the PCI fabric bridge, the transmitted data exits from the PCI interface through logic that converts it into the StarGen protocol. That converted format is then processed by a cyclic redundant (CRC) block, and a CRC value is appended to the end of the transmission stream. It is then encoded by the 8B/10B encoder, producing a 10-bit stream of data fed to the transmitter, which serializes the data and finally sends it out across the link.
Likewise at the receive side, the receiver receives the serial data, recovers the clock, and converts it back into a parallel data form. It then decodes 8B/10B characters into a byte stream and then processes that byte stream to check and verify the CRC values. If the CRC checks, the data stream has been successfully recovered.
The 8B/10B encoding serves two purposes. First, it makes sure there are enough transitions in the serial data stream so the clock can be recovered easily from the embedded data. Second, because it transmits the same number of ones as zeros, it maintains a d-c balance. This is important for transporting data between several chassis that may have different ground potentials or different power supplies.
For transmission, an 8B/10B encoding scheme is employed. When encoded for transmission, 8-bit characters are encoded into a 10-bit stream. On receipt, the arriving 10-bit coded word is decoded into an 8-bit byte.