On a per-lane basis, when operating in ILKN mode (with or without FEC), the bit
ordering depends on the width of the SerDes interface. See the following tables for
the bit ordering for each scenario.
Table 1. TX ILKN Single Lane Bit Ordering
| TX Bit Order Over Wire |
160-bit SerDes |
80-bit SerDes |
40-bit SerDes |
| 0 |
tx_serdes_data0[79] |
tx_serdes_data0[79] |
tx_serdes_data0[39] |
| 1 |
tx_serdes_data0[78] |
tx_serdes_data0[78] |
tx_serdes_data0[38] |
| ... |
... |
... |
... |
| 38 |
tx_serdes_data0[41] |
tx_serdes_data0[41] |
tx_serdes_data0[1] |
| 39 |
tx_serdes_data0[40] |
tx_serdes_data0[40] |
tx_serdes_data0[0] |
| 40 |
tx_serdes_data0[39] |
tx_serdes_data0[39] |
tx_serdes_data0[39] |
| 41 |
tx_serdes_data0[38] |
tx_serdes_data0[38] |
tx_serdes_data0[38] |
| ... |
... |
... |
... |
| 78 |
tx_serdes_data0[1] |
tx_serdes_data0[1] |
tx_serdes_data0[1] |
| 79 |
tx_serdes_data0[0] |
tx_serdes_data0[0] |
tx_serdes_data0[0] |
| 80 |
tx_serdes_data1[79] |
tx_serdes_data0[79] |
tx_serdes_data0[39] |
| 81 |
tx_serdes_data1[78] |
tx_serdes_data0[78] |
tx_serdes_data0[38] |
| ... |
... |
... |
... |
| 118 |
tx_serdes_data1[41] |
tx_serdes_data0[41] |
tx_serdes_data0[1] |
| 119 |
tx_serdes_data1[40] |
tx_serdes_data0[40] |
tx_serdes_data0[0] |
| 120 |
tx_serdes_data1[39] |
tx_serdes_data0[39] |
tx_serdes_data0[39] |
| 121 |
tx_serdes_data1[38] |
tx_serdes_data0[38] |
tx_serdes_data0[38] |
| ... |
... |
... |
... |
| 158 |
tx_serdes_data1[1] |
tx_serdes_data0[1] |
tx_serdes_data0[1] |
| 159 |
tx_serdes_data1[0] |
tx_serdes_data0[0] |
tx_serdes_data0[0] |
| 160 |
tx_serdes_data0[79] |
tx_serdes_data0[79] |
tx_serdes_data0[39] |
| 161 |
tx_serdes_data0[78] |
tx_serdes_data0[78] |
tx_serdes_data0[38] |
| ... |
... |
... |
... |
| 198 |
tx_serdes_data0[41] |
tx_serdes_data0[41] |
tx_serdes_data0[1] |
| 199 |
tx_serdes_data0[40] |
tx_serdes_data0[40] |
tx_serdes_data0[0] |
| 200 |
tx_serdes_data0[39] |
tx_serdes_data0[39] |
tx_serdes_data0[39] |
| 201 |
tx_serdes_data0[38] |
tx_serdes_data0[38] |
tx_serdes_data0[38] |
| ... |
... |
... |
... |
| 238 |
tx_serdes_data0[1] |
tx_serdes_data0[1] |
tx_serdes_data0[1] |
| 239 |
tx_serdes_data0[0] |
tx_serdes_data0[0] |
tx_serdes_data0[0] |
| 240 |
tx_serdes_data1[79] |
tx_serdes_data0[79] |
tx_serdes_data0[39] |
| 241 |
tx_serdes_data1[78] |
tx_serdes_data0[78] |
tx_serdes_data0[38] |
| ... |
... |
... |
... |
| 278 |
tx_serdes_data1[41] |
tx_serdes_data0[41] |
tx_serdes_data0[1] |
| 279 |
tx_serdes_data1[40] |
tx_serdes_data0[40] |
tx_serdes_data0[0] |
| 280 |
tx_serdes_data1[39] |
tx_serdes_data0[39] |
tx_serdes_data0[39] |
| 281 |
tx_serdes_data1[38] |
tx_serdes_data0[38] |
tx_serdes_data0[38] |
| ... |
... |
... |
... |
| 318 |
tx_serdes_data1[1] |
tx_serdes_data0[1] |
tx_serdes_data0[1] |
| 319 |
tx_serdes_data1[0] |
tx_serdes_data0[0] |
tx_serdes_data0[0] |
Table 2. RX ILKN Single Lane Bit Ordering
| RX Bit Order Over Wire |
160-bit SerDes |
80-bit SerDes |
40-bit SerDes |
| 0 |
rx_serdes_data0[79] |
rx_serdes_data0[79] |
rx_serdes_data0[39] |
| 1 |
rx_serdes_data0[78] |
rx_serdes_data0[78] |
rx_serdes_data0[38] |
| ... |
... |
... |
... |
| 38 |
rx_serdes_data0[41] |
rx_serdes_data0[41] |
rx_serdes_data0[1] |
| 39 |
rx_serdes_data0[40] |
rx_serdes_data0[40] |
rx_serdes_data0[0] |
| 40 |
rx_serdes_data0[39] |
rx_serdes_data0[39] |
rx_serdes_data0[39] |
| 41 |
rx_serdes_data0[38] |
rx_serdes_data0[38] |
rx_serdes_data0[38] |
| ... |
... |
... |
... |
| 78 |
rx_serdes_data0[1] |
rx_serdes_data0[1] |
rx_serdes_data0[1] |
| 79 |
rx_serdes_data0[0] |
rx_serdes_data0[0] |
rx_serdes_data0[0] |
| 80 |
rx_serdes_data1[79] |
rx_serdes_data0[79] |
rx_serdes_data0[39] |
| 81 |
rx_serdes_data1[78] |
rx_serdes_data0[78] |
rx_serdes_data0[38] |
| ... |
... |
... |
... |
| 118 |
rx_serdes_data1[41] |
rx_serdes_data0[41] |
rx_serdes_data0[1] |
| 119 |
rx_serdes_data1[40] |
rx_serdes_data0[40] |
rx_serdes_data0[0] |
| 120 |
rx_serdes_data1[39] |
rx_serdes_data0[39] |
rx_serdes_data0[39] |
| 121 |
rx_serdes_data1[38] |
rx_serdes_data0[38] |
rx_serdes_data0[38] |
| ... |
... |
... |
... |
| 158 |
rx_serdes_data1[1] |
rx_serdes_data0[1] |
rx_serdes_data0[1] |
| 159 |
rx_serdes_data1[0] |
rx_serdes_data0[0] |
rx_serdes_data0[0] |
| 160 |
rx_serdes_data0[79] |
rx_serdes_data0[79] |
rx_serdes_data0[39] |
| 161 |
rx_serdes_data0[78] |
rx_serdes_data0[78] |
rx_serdes_data0[38] |
| ... |
... |
... |
... |
| 198 |
rx_serdes_data0[41] |
rx_serdes_data0[41] |
rx_serdes_data0[1] |
| 199 |
rx_serdes_data0[40] |
rx_serdes_data0[40] |
rx_serdes_data0[0] |
| 200 |
rx_serdes_data0[39] |
rx_serdes_data0[39] |
rx_serdes_data0[39] |
| 201 |
rx_serdes_data0[38] |
rx_serdes_data0[38] |
rx_serdes_data0[38] |
| ... |
... |
... |
... |
| 238 |
rx_serdes_data0[1] |
rx_serdes_data0[1] |
rx_serdes_data0[1] |
| 239 |
rx_serdes_data0[0] |
rx_serdes_data0[0] |
rx_serdes_data0[0] |
| 240 |
rx_serdes_data1[79] |
rx_serdes_data0[79] |
rx_serdes_data0[39] |
| 241 |
rx_serdes_data1[78] |
rx_serdes_data0[78] |
rx_serdes_data0[38] |
| ... |
... |
... |
... |
| 278 |
rx_serdes_data1[41] |
rx_serdes_data0[41] |
rx_serdes_data0[1] |
| 279 |
rx_serdes_data1[40] |
rx_serdes_data0[40] |
rx_serdes_data0[0] |
| 280 |
rx_serdes_data1[39] |
rx_serdes_data0[39] |
rx_serdes_data0[39] |
| 281 |
rx_serdes_data1[38] |
rx_serdes_data0[38] |
rx_serdes_data0[38] |
| ... |
... |
... |
... |
| 318 |
rx_serdes_data1[1] |
rx_serdes_data0[1] |
rx_serdes_data0[1] |
| 319 |
rx_serdes_data1[0] |
rx_serdes_data0[0] |
rx_serdes_data0[0] |