1
\$\begingroup\$

What's unclear to me in reading literature about 8b/10b encoding is how it is decoded.

How an 8b word is translated to a 10b symbol clearly relies on the running disparity. But when it comes to decoding a 10b symbol, it seems like one could decode it to 8b without taking the running disparity into account. Yet, it would seem advantageous to error detection if one took running disparity into account when decoding.

Is it standard to consider running disparity when decoding 8b/10b?

\$\endgroup\$
2
\$\begingroup\$

You need to track the running disparity to properly encode/decode the outgoing/incoming value. look at the data sheet for an 8b/10b transceiver IC, wherein the encoder and decoder communicate this via discrete pins, and see if it helps make sense.

Google "8b/10b ic transceiver" and look at Lattice semiconductor pdf result.

8b/10b is specified in IEEE 802.3z and ANSI X3.230-1994 (An IEEE Standard) Running disparity prevents DC bias on the transmission lines.

you can't just translate to 8-bits directly, as each 8-bit D-code/K-code (value) has 2 different 10-bit encodings.

\$\endgroup\$
  • \$\begingroup\$ I think you can unambiguously decode from 10b codewords without the running disparity. For encoding, it's definitely required. \$\endgroup\$ – alex.forencich May 9 '18 at 20:34
2
\$\begingroup\$

I think most decoders just look at the 10 bit symbols and convert those directly without keeping track of the running disparity.

If you want to do forward error correction, you probably wouldn't do that with the 8b/10b line code, more likely you would use something like 64b/66b which is lower overhead and propagates fewer bit errors.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.