CertusPro-NX SerDes/PCS Usage Guide
Preliminary
Technical Note
FPGA-TN-02245-0.81
© 2020-2021 Lattice Semiconductor
65
All rights reserved. CONFIDENTIAL
Figure 6.25. XGMII vs. MPCS-Fabric Interface
6.4.2.2.
Function Block Description
Tx/Rx Gear Box
The Tx/Rx Gear Box module implements 4:1 gearing functionality in order to adapt the data path between the 66-bit
width of 64B/66B block and the 16-bit width of PMA data bus. The PCS internal data bus (between Tx/Rx Gear Box and
fabric) bandwidth is one bit higher than the PMA data bus bandwidth, considering PCS internal data bus using the
div-by-4 clock from PMA Controller:
16 × 𝑓
16𝑏𝑖𝑡
= 64 × 𝑓
64𝑏𝑖𝑡
< 66 × 𝑓
64𝑏𝑖𝑡
To solve this bandwidth mismatch issue, the Tx/Rx Gear Box processes 32 66-bit data blocks in 33 clock cycles. An
internal signal, which is driven low for one clock cycle in every 33 cycles and is used to indicate the valid 66-bit data
block.
Tx Gear Box and Rx Gear Box are implemented for 64B/66B PCS channel, and cannot be used by 8B/10B PCS channel or
PMA only channel.
PRBS Generator and Checker
The PRBS Generator module can generate bit sequence of square wave, PRBS9 pattern and PRBS31 pattern for
debugging purpose. The PRBS Checker module checks the corresponding pattern enabled at the PRBS Generator
module, and performs error counting.
The square wave pattern is intended to aid in conducting certain transmitter tests required by IEEE802.3 10GBASE-R
PCS. It is not intended for receiver tests, and the PRBS Checker module is not expected to receive this square wave
pattern. When square wave pattern is selected, the PRBS Generator sends a repeating pattern of n ones followed by n
zeros where n can be 4, 6, 8 or 11.
Scrambler and Descrambler
The Scrambler module scrambles the 64-bit block payload data using x
58
+ x
39
+ 1 polynomial specified by IEEE802.3
specification. The Descrambler module descrambles the 64-bit block payload data received from PMA. Expect for the
two sync header bits, the entire 64-bit payload data of a 66-bit data block is scrambled and descrambled.
Both the Scrambler module and Descrambler module can be optionally bypassed for test purposes. If bypassed, the
scrambler directly sends the 66-bit input data to the output ports.
PRD Generator and Checker
The Pseudo Random Data (PRD) Generator module generates the pseudo random pattern for test purpose. This pseudo
random data is named as pseudo-random pattern in IEEE802.3 specification section 49.2.8.
The pattern generated by PRD Generator module can be set as 64-bit payload data in a 66-bit data block, then is
forwarded to Scrambler module. The seed of the pattern can be configured as seed A or seed B by accessing
10GBASE-R Test Pattern Control registers. Both seed A and seed B can be changed by accessing related registers.
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
C0
C1
C2
C3
C4
C5
C6
C7
C8
C9
{D1,D0}
{D3,D2}
{D5,D4}
{D7,D6}
{D9,D8}
{C1,C0}
{C3,C2}
{C5,C4}
{C7,C6}
{C9,C8}
XGMII Clock
TXD/RXD[31:0]
TxC/RXC[3:0]
MPCS-Fabric Clock
Tx/Rx Data[63:0]
Tx/Rx Control[7:0]