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] |