Hello,
please I want to know what is the role of 8B/10B encoding ?
also i want to know if the 8b/10b encoding influence data rate using SRIO ?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello,
please I want to know what is the role of 8B/10B encoding ?
also i want to know if the 8b/10b encoding influence data rate using SRIO ?
Hi Smeil Smaili
8b/10b encoder will encodes 8-bit data or control characters into 10-bit symbols.
The primary purpose of this scheme is to embed a clock into the serial bit stream transmitted on all Lanes. No clock is therefore transmitted along with the serial data stream. This eliminates the need for a high frequency clock signal on the Link which would generate significant EMI noise and would be a challenge to route on a standard FR4 board. Link wire routing between two ports is much easier given that there is no clock to route, removing the need to match clock length to Lane signal trace lengths. Two devices are connected by simply wiring there Lanes together.
The disadvantage of 8b/10b encoding scheme is that, due to the expansion of each 8-bit character into a 10-bit symbol prior to transmission, the actual transmission performance (or data rate) is degraded. For example, if the output lane rate of SRIO is 5Gbps, the actual effective transmission data rate is 4Gbps (5Gbps*10/8=4Gbps).
Sincerely,
Steven
To add to Steven's reply, 8b/10b is a DC balanced code as well, so it has good properties for charging/discharging of the lines. It also has some inherent error detection capabilites. The biggest reason is the transitions though, for clock recovery. Most standards, including SRIO, utilize these characteristics as well as the fact that you can use both data (D) and control (K) characters in the protocol. K Characters are typically used for delineation purposes.
Regards,
Travis