Datasets
Standard Dataset
6b8b RMII encoder/decoder verification data
- Citation Author(s):
- Submitted by:
- Alexey Romanov
- Last updated:
- Fri, 04/10/2020 - 08:10
- DOI:
- 10.21227/rrdy-bx38
- Data Format:
- License:
- Categories:
- Keywords:
Abstract
Encoding and decoding tables for 6b8b encoder/decoder for sefl-syncrhonized improved RMII protocol. Proposed encoder/decoder garantee that 2-bit TXD/RXD will change each data transmission cycle, making it possible for RMII interface to work without REF_CLK, TX_EN and CRS_DV lines.
To run test:
Step 1. Put 6b8b_encdec.mat and test6b8b.m in one folder.
Step 2. Run test6b8b.m in Octave v.4.2.2 or higher (should be possible to run also in MATLAB)
To encode your own data:
Step 1. Load enc_data lookup table from 6b8b_encdec.mat
Step 2. Devide your data on 6b data blocks If you data length is not multiple of 6 add additional zeros to make last data block length be equal to 6 bit.
Step 3. To encode each data block you should read value from enc_data lookup table cell with address ((nb<<6)||db)+1, where nb - is first bit pair of the next data block and db - is 6 bit data block. For the last data block nb = 0;
To decode your own data:
Step 1. Load dec_data lookup table from 6b8b_encdec.mat
Step 2. Devide your encoded data on 8b data blocks
Step 3. To decode each data block you should read value from dec_data lookup table cell with address ((nb<<8)||eb)+1, where nb - is first bit pair of the next encoded data block and eb - is 8 bit encoded data block. For the last data block nb = 0;