The GTM transmitter contains a 64-bit internal datapath in NRZ mode and a 128-bit internal datapath for PAM4 mode that is configurable by setting the TX_PMA_DATA_WIDTH attribute. The interface width is configurable by setting the TX_DATA_WIDTH attribute. In NRZ mode, the interface can be configured to 32, 40, 64, 80, 128, 160, and 256 bits. In PAM4 mode, the interface can be configured to 64, 80, 128, 160, 256, 320, and 512 bits.
The following table shows how the interface width for the TX datapath is selected.
Encoding | Density | TX_PMA_DATA_WIDTH Encoding | TX_DATA_WIDTH Encoding | TX Internal Width | TX Interface Width |
---|---|---|---|---|---|
NRZ | Full | 0 | 4 | 64 | 32 |
5 | 40 | ||||
6 | 64 | ||||
7 | 80 | ||||
8 | 128 | ||||
9 | 160 | ||||
10 | 256 | ||||
PAM4 | Full | 1 | 6 | 128 | 64 |
7 | 80 | ||||
8 | 128 | ||||
9 | 160 | ||||
10 | 256 | ||||
Half | 11 | 320 | |||
12 | 512 |
When the interface width is configured to either 320 or 512 bits, this results in a half density configuration in which two channel interfaces are combined to act as one. In this mode, only a single PCS/PMA front end channel is in operation.
When either channel CH0 or CH1 is operating in half density mode, the fabric interface combines the data from adjacent channels to group as a set of 320 or 512 bits before forwarding to the TX FIFO. Designating a channel to be used in half density mode can be done by setting the adjacent channel's TX_USRCLK_SEL attribute High. An additional limitation is that the half density configuration must use either the channel 0/1 pair or channel 2/3 pair in the same Quad. Mixing and matching with different channels is not allowed. The following table shows possible channel combinations.
CH0 TX_USRCLK_SEL | CH1 TX_USRCLK_SEL | Fabric Interface Operating Mode |
---|---|---|
0 | 0 | Both channels are in full density mode. |
0 | 1 | CH0 is in half density mode. |
1 | 0 | CH1 is in half density mode. |
1 | 1 | Invalid. |
The following table shows the port connections for different data widths.
TX Fabric Data Width | Internal PCS Data Path Bit Ranges | Fabric Width Mode | Non-Active Channel (MSB) Last Bits to TX | Active Channel (LSB) First Bits to TX |
---|---|---|---|---|
512 | [511:0] | Half Density | TXDATA[255:0] | TXDATA[255:0] |
320 | [415:256, 159:0] | Half Density | TXDATA[159:0] | TXDATA[159:0] |
256 | [255:0] | Full Density | - | TXDATA[255:0] |
160 | [159:0] | Full Density | - | TXDATA[159:0] |
128 | [127:0] | Full Density | - | TXDATA[127:0] |
80 | [79:0] | Full Density | - | TXDATA[79:0] |
64 | [63:0] | Full Density | - | TXDATA[63:0] |
40 | [39:0] | Full Density | - | TXDATA[39:0] |
32 | [31:0] | Full Density | - | TXDATA[31:0] |
|