I need to design a 64B/66B decoder on receiver side of the GTY transceiver. Currently, I get 2 bit header and corresponding 64 bit descrambled payload at positive edge of every other clock cycle. So now I need to decode the 64B/66B encoded data according to the table below. (IEEE 802.3-2008 section 4, Table 49-7)
It is easy to understand all termination control block formats and data block format is trivial. However I am not sure how control block formats with block type fields 0x2d, 0x66, 0x55, and 0x4b. I am guessing that:
- 0x2d, 0x55 and 0x4b types are used when for some reason transmitter side wants to send 3 or 6 bytes of data between start and termination of a packet
- 0x66 is used when for some reason transmitter sends start together with 6 byte preamble, but I think this does not make much sense
I do not think that my guesses are correct, even if any of them is correct I do not think that it is complete, so I have some questions regarding this issue:
1. Is any of my guesses at least partially correct?
2. Can you explain why, how, when and how often those 'Control Block Formats' used?