GBE Physical Layer

Gigabit Ethernet utilises five levels and 8b/10b encoding, to provide even more efficient use of the limited cable bandwidth, sending 1 Gbps within approx 100 MHz of bandwidth (i.e. the capacity of a UTP Cat5e cable.

The interface encoded byte of data generates a 10 bit code that is scrambled and converted into a physical layer signal by mapping pairs of bits using a 5-level Pulse-Amplitude-Modulation (PAM), a scrambled 5-level code (using less bandwidth than possible with a 3 level code, such as MLT).

8b/10b Clock Encoding

The 8-bit to 10-baud conversion method uses only 512 of the possible 1024 output values. The result is a 25% overhead.

Each byte of data to be encoded is split up into two groups of bits: the 3 most significant bits and the 5 least significant bits. Each of these groups of bits is separately encoded (mapped)) to a value from the 1024 different output values. This mapping results in using 256 values with an odd parity and 256 with an even parity, a total of 512 values being used for the data encoding. (The byte to be encoded is represented as two decimal numbers with the least significant bits first, for example the octet 101 00110 the result is the decimal 6.5, written as /D6.5/.)

Of the remaining 512 unused output values, most contain either too many ones (or too many zeroes) and are not used. Some values of the values that are not used as 10-bit odd+even coding pairs are assigned for 12 special non-data characters (K codes). There are use the naming convention /Kx.y/.

Clock Recovery: The ncdoing limits the number of consecutive identical bits to a maximum of 5, ensuring frequent voltage level changes. Thats is, there are never more than five ones or zeros in a row, which results in each 10 bit encoded word containing either five ones and five zeros, or four ones and six zeros, or six ones and four zeros. This prevents a sequence of too many consecutive ones and zeros, assisting clock synchronisation of a receiver DPLL for clock recovery.

DC Balance: Keeps an equal balance of 1s and 0s over time (bounded disparity). This will prevent baseline wander and any DC offset. The difference between the counts of the number of ones and zeros in a string of at least 20 bits is no more than two bauds.

This is achieved using Running Disparity, which allows the encoder to track the difference between the number of ones and zeros sent. The encoder selects a positive or negative parity output pattern for the 10-bit symbol to keep the overall net DC bias as close to zero as possible. That is, if the output stream has more ones, it selects a symbol variant with more zeros next, and vice versa.

Control Characters (K-codes): The control characters unique extra symbols distinct from regular data bytes that are used for framing, improving link initialisation, and comma-detect alignment (like the standard K28.5 comma character). Two 'commas' are used to aid in bit synchronisation, these 'commas' are the 7 bit patterns 0011111 (+comma)and 1100000 (-comma).

Error Detection: A receiver rejects any invalid 10-bit symbol patterns that violates the running disparity rules, catching a large percentage of physical transmission errors.


There are many protocols that use the 8b10b encoding method. Examples follow:

Gigabit Ethernet: Used at the physical layer to encode 1 Gbps data over a 1.25 GHz line rate. since this method uses 10 bits for each 8 bits of data (byte) it increases the rate required to send the data. A 1 Gbps the line speed results in a transmission rate of 10/8 x 1 = 1.25 Gbps. In copper Gigabit Ethernet this rate is then reduced using Pulse-Amplitude-Modulation (PAM) with a 5-level code (utilising less bandwidth than possible with a 3-level code such as MLT).

PCI Express (PCIe Gen 1/2): Manages framing and reliable serial data stream synchronisation.

USB 3.0: Ensures transition density for high-speed SuperSpeed serial data transfer.

Fibre Channel: Applied in storage area networks for robust serial transport.


Gorry Fairhurst - Date: 24/08/2026