Cyclone V Device Handbook: Volume 2: Transceivers

ID 683586
Date 10/24/2018
Document Table of Contents Control Code Encoding

The 8B/10B block provides the tx_datak signal to indicate whether the 8-bit data at the tx_parallel_data signal should be encoded as a control word (Kx.y) or a data word (Dx.y). When tx_datak is low, the 8B/10B encoder block encodes the byte at the tx_parallel_data signal as data (Dx.y). When tx_datak is high, the 8B/10B encoder encodes the input data as a Kx.y code group. The rest of the tx_parallel_data bytes are encoded as a data word (Dx.y).

Figure 26. Control Word and Data Word TransmissionThe second 0xBC is encoded as a control word (K28.5).
Note: The IEEE802.3 8B/10B encoder specification identifies only a set of 8-bit characters for which you must assert tx_datak. If you assert tx_datak for any other set of bytes, the 8B/10B encoder might encode the output 10-bit code as an invalid code (it does not map to a valid Dx.y or Kx.y code), or unintended valid Dx.y code, depending on the value entered. It is possible for a downstream 8B/10B decoder to decode an invalid control word into a valid Dx.y code without asserting code error flags.