1.3.1.3 8b10b Bit and Octet Sequencing

Fabric octet bit order is defined in similar way on the Tx and Rx interfaces. In 8b10b notation, each bit of decoded 8-bit octet is assigned a capital letter name of the set A to H. The fabric bus definition is tx_data[7:0] == {H,G,F,E,D,C,B,A}. Thus for the common Dx.y (and Kx.y) character notation, 
x = tx_data[4:0] and y = tx_data[7:5].

The fabric octet sequence is little-endian. In other words, the first octet to be encoded per fabric clock is tx_data[7:0]. The first octet at the receiver serial input stream per fabric clock is rx_data[7:0].

The data sent out by the 8b10b lane to the PMA follows the standard convention for the XCVR module.

  • Bit 0 is the first bit to be output by the serializer for the 40-bit word, pma_txdata[39:0].
  • Bit 0 is the first bit that is seen at the serial inputs by the deserializer in the SerDes for the 40-bit word, pma_rxdata[39:0].

The 8b10b 10-bit code-group notation where lower-case letters a to j represent bits of the encoded character relate to the tx_data[9:0] = {j,h,g,f,i,e,d,c,b,a}. The 'a' bit of each code-group is the first bit transmitted and/or received as per 8b10b protocol standards.

Depending on configuration, the 8b10b transmitter allows two, four, or eight octets to be transferred from the fabric per clock beat. This variable transfer rate implies the internal PCS clock domain is either: (a) two times the frequency of pcs_tx_clk; (b) the same frequency as pcs_tx_clk; or (c) half the frequency of pcs_tx_clk. The domains are always synchronous even when they are at different frequencies.