enjoy-digital/usb3_pipe

8B10B - Add invalid symbols detection

enjoy-digital opened this issue · 2 comments

The 8B10B code from MiSoC/LiteX can be reused: https://github.com/enjoy-digital/litex/blob/master/litex/soc/cores/code_8b10b.py but the decoder needs to be able to detect invalid symbols (which is not the case actually) and replace them with K28.4 to allow the upper layers to decide what needs to be done.

On ECP5, if 8B10B timings are difficult to meet, the one integrated in the SerDes will be used.

Invalid symbols detection has been added to LiteX with enjoy-digital/litex@0a030fe. We now just need to replace invalid symbols in the stream with K28.4.