Hi all,
Attached is a simple 8b/10b encoder I wrote to encode any data bytes into 8b/10b data stream.
It also has the capability to transmit control symbols as well as a comma symbol, K28.1.
If you need a serial communication IP core for personal projects, just take it.
For those you have a lot of time, I will be very appreciate if you can test this module for me.
I did some simple tests to cover some engineered input pattern for the module, and it seems to work properly.
This module is fully synthesizable, and iceCube2 reports 200+ mbps on an ice40HX device.
This module is FPGA verified. All tests are performed in a ice40HX8K device and a logic analyzer.
-------------------
Background: I am working on a DIY audio DAC, which is a 4 bit sigma delta based design.
To get the best analog performance, I decided to build the DAC's 4 bit thermometer DAC stage out of a
customized ASIC (yes, I know, I am crazy). To isolate digital noise as well as ground loop noise,
I decided to use isolated serial digital data link between DAC output stage and sigma delta modulator.
Therefore, I wrote this 8b/10b encoder to run on the modulator FPGA. There will also be a decoder on
the ASIC soon, which also will be open source.
Regards,
Bo Gao