Professional Documents
Culture Documents
25g4ch 100g Allpcs Ref Guide v3.2
25g4ch 100g Allpcs Ref Guide v3.2
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Reference Guide
1
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Contents
1 INTRODUCTION ............................................................................................................................. 7
2 CORE FEATURES OVERVIEW ...................................................................................................... 8
2.1 100GETH PCS LAYER FEATURES .............................................................................................. 8
2.2 10/25/40/50GETH PCS LAYERS FEATURES ............................................................................... 8
2.3 BASE-R (FIRECODE) FEC FEATURES ......................................................................................... 8
2.4 REED-SOLOMON FEC (RS-FEC) FEATURES .............................................................................. 9
2.5 MULTIRATE FEATURES ............................................................................................................... 9
3 100G BASE-R PCS MAPPER CORE BLOCK DIAGRAM ........................................................... 10
4 CORE PINOUT .............................................................................................................................. 11
4.1 CORE SIGNALS ........................................................................................................................ 12
4.2 CORE MEMORY INTERFACE SIGNALS ........................................................................................ 20
4.3 OPTIONAL BASE-R FEC (FEC-74) MEMORY INTERFACE SIGNALS ............................................. 21
5 MODE CONFIGURATION AND CHANNEL/LANE ASSOCIATIONS .......................................... 24
5.1 PCS/ENDEC INTERFACES OVERVIEW ....................................................................................... 24
5.2 MODE CONFIGURATION PINS ................................................................................................... 24
5.3 MODE CONFIGURATION PCS REGISTERS ................................................................................. 26
5.3.1 50G with RS-FEC Specific Settings Requirements .......................................................... 27
5.4 SOFTWARE RESET USAGE ........................................................................................................ 27
6 100GETH PCS ............................................................................................................................... 28
6.1 USE OF BLOCKS ...................................................................................................................... 28
6.2 64B/66B TRANSMISSION CODE................................................................................................ 28
6.2.1 Overview ........................................................................................................................... 28
6.2.2 Block Structure .................................................................................................................. 28
6.2.3 Control Codes ................................................................................................................... 29
6.2.4 Ordered Sets ..................................................................................................................... 29
6.2.5 Valid and Invalid Blocks .................................................................................................... 30
6.2.6 Idle (/I/) .............................................................................................................................. 30
6.2.7 Start (/S/) ........................................................................................................................... 30
6.2.8 Terminate (/T/)................................................................................................................... 31
6.2.9 Ordered_Set (/O/).............................................................................................................. 31
6.2.10 Error (/E/) ....................................................................................................................... 31
6.3 TRANSMIT FUNCTIONS ............................................................................................................. 31
6.3.1 Overview ........................................................................................................................... 31
6.3.2 Scrambler .......................................................................................................................... 31
6.4 RECEIVE FUNCTIONS ............................................................................................................... 32
6.4.1 Overview ........................................................................................................................... 32
6.4.2 Descrambler ...................................................................................................................... 32
7 BLOCK SYNCHRONIZATION ...................................................................................................... 33
8 MULTI-LANE DISTRIBUTION (MLD) ........................................................................................... 34
8.1 TRANSMIT MLD ....................................................................................................................... 34
8.2 MARKER ENCODINGS............................................................................................................... 34
8.2.1 100G Markers.................................................................................................................... 34
8.2.2 40G/50G Markers .............................................................................................................. 35
8.2.3 25G Markers...................................................................................................................... 35
8.3 RECEIVE MLD ......................................................................................................................... 36
9 MARKER COMPENSATION REQUIREMENTS .......................................................................... 37
10 FORWARD ERROR CORRECTION (FEC, CLAUSE 74) OPTION ............................................. 39
10.1 OVERVIEW .............................................................................................................................. 39
10.2 TRANSMIT FEC ENCODER ....................................................................................................... 39
10.3 RECEIVE FEC DECODER ......................................................................................................... 40
11 REED-SOLOMON FEC (RS-FEC) ................................................................................................ 41
11.1 OVERVIEW .............................................................................................................................. 41
2
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
11.2 STATUS AND CONTROL REGISTERS INFORMATION ..................................................................... 42
11.3 CORRECTION BYPASS OPTION ................................................................................................. 42
11.4 ERROR INDICATION BYPASS OPTION ........................................................................................ 42
12 SYSTEM CLOCK DISTRIBUTION................................................................................................ 44
12.1 CLOCK DOMAINS ..................................................................................................................... 44
12.1.1 Asynchronous Design Variant ....................................................................................... 44
12.1.2 Synchronous Design Variant ......................................................................................... 44
12.2 CLOCK FREQUENCIES OVERVIEW ............................................................................................. 44
12.3 CORE SYSTEM CLOCK DISTRIBUTION ....................................................................................... 46
12.3.1 Asynchronous Core Variant .......................................................................................... 46
12.3.2 Synchronous Core Variant ............................................................................................ 46
13 CLOCK DECOUPLING FIFOS AND LOOPBACK ....................................................................... 48
13.1 OVERVIEW .............................................................................................................................. 48
13.2 CGMII LOOPBACK ................................................................................................................... 48
14 CGMII INTERFACE ....................................................................................................................... 49
14.1 OVERVIEW .............................................................................................................................. 49
14.2 TRANSMIT ............................................................................................................................... 50
14.2.1 Frame Transmit Operation ............................................................................................ 50
14.2.2 Frame Transmit with Error ............................................................................................ 52
14.2.3 Start Control Character Alignment ................................................................................ 52
14.3 RECEIVE ................................................................................................................................. 53
14.3.1 Start Control Character Alignment ................................................................................ 53
14.3.2 Link Fault Signaling ....................................................................................................... 53
15 XLGMII INTERFACE ..................................................................................................................... 54
15.1 OVERVIEW .............................................................................................................................. 54
15.2 FRAME TRANSMIT / RECEIVE OPERATION.................................................................................. 55
15.3 FRAME TRANSMIT WITH ERROR ................................................................................................ 56
15.4 FRAME RECEIVE WITH ERROR .................................................................................................. 56
15.5 START CONTROL CHARACTER ALIGNMENT ............................................................................... 56
15.6 LOW POWER IDLE (LPI) TRANSMISSION .................................................................................... 56
15.7 LINK FAULT SIGNALING ............................................................................................................ 56
16 ENERGY EFFICIENT ETHERNET (EEE) ..................................................................................... 58
16.1 OVERVIEW .............................................................................................................................. 58
16.2 LPI SIGNALING WITH XLGMII ................................................................................................... 58
16.3 APPLICATION INTERFACE OVERVIEW ........................................................................................ 58
17 TEST PATTERNS ......................................................................................................................... 60
17.1 TEST PATTERN GENERATOR .................................................................................................... 60
17.2 TEST PATTERN CHECKER ........................................................................................................ 61
18 GEARBOX ..................................................................................................................................... 62
19 SERDES INTERFACE................................................................................................................... 63
19.1.1 Serialization Bit Ordering .............................................................................................. 63
19.1.2 Clock-Enable based Serdes Interface Rate Control ..................................................... 63
20 HOST PROCESSOR INTERFACE ............................................................................................... 65
20.1 OVERVIEW .............................................................................................................................. 65
20.2 REGISTER W RITE .................................................................................................................... 65
20.3 REGISTER READ ...................................................................................................................... 65
21 MEMORY READ/WRITE INTERFACES ....................................................................................... 67
21.1 W RITE INTERFACE ................................................................................................................... 67
21.2 READ INTERFACE .................................................................................................................... 67
21.3 READ/W RITE TO SAME ADDRESS .............................................................................................. 67
22 CORE REGISTERS ....................................................................................................................... 68
22.1 100G PCS REGISTER MAP...................................................................................................... 68
22.1.1 100G PCS Vendor PCS_MODE Register (32784) ....................................................... 76
22.2 10G..50G PCS REGISTER MAP............................................................................................... 77
22.2.1 PCS status 1 Register (1) ............................................................................................. 83
3
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
22.2.2 10..50G PCS Vendor PCS_MODE Register (32784) ................................................... 84
22.3 RS-FEC REGISTERS ............................................................................................................... 86
22.3.1 RS-FEC Control Register .............................................................................................. 89
22.3.2 RS-FEC Status Register ............................................................................................... 91
22.3.3 RS-FEC Lanemapping Register .................................................................................... 92
22.3.4 RS-FEC Vendor Control Register ................................................................................. 92
22.3.5 RS-FEC Vendor Info 1 Register .................................................................................... 94
22.3.6 RS-FEC Vendor Info 2 Register .................................................................................... 95
22.4 100G PCS STANDARD VIRTUAL LANE MARKER VALUES ........................................................... 95
23 REFERENCES .............................................................................................................................. 96
24 DOCUMENT HISTORY ................................................................................................................. 96
25 CONTACT ..................................................................................................................................... 98
4
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
List of Figures
List of Tables
5
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Table 24: PCS Vendor PCS_MODE Register ............................................................................................... 76
Table 25: Register Map ..................................................................................................................................... 77
Table 26: PCS status 1 Register ..................................................................................................................... 83
Table 27: 10..50G PCS Vendor PCS_MODE Register ................................................................................ 84
Table 28: RS-FEC Register Map ..................................................................................................................... 86
Table 29: RS-FEC Control Register ................................................................................................................ 89
Table 30: RS-FEC Status Register ................................................................................................................. 91
Table 31: RS-FEC Lanemapping Register..................................................................................................... 92
Table 32: RS-FEC Vendor Control Register .................................................................................................. 92
Table 33: RS-FEC Vendor Info 1 Register ..................................................................................................... 94
Table 34: RS-FEC Vendor Info 2 Register ..................................................................................................... 95
6
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
1 Introduction
The 4 Channel 100 Gigabit Ethernet Multirate PCS Mapper allows flexible use of a 4-lane 100G PMA
Interface for 4x10G, 4x25G, 2x50G, 1x40G and 1x100G 100G applications.
The PCS Mapper encodes the different channels into 4 Serdes lanes operating at up to 25.78Gbps or
2 Serdes at up to 53.125Gbps each, performing the necessary rate multiplexing, lane distribution,
synchronization and lane reordering.
It includes a multiplexed 802.3bj Clause 91 Reed-Solomon Forward Error Correction (RS-FEC)
function for use by different channels at various speeds.
The Core implements four independent 10/25/40/50G capable PCS channels for direct connection to
multi-rate MACs and one 100Geth MAC interface.
7
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
8
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Usable for Channels 0..3 only (i.e. not used for 100G PCS)
Support for Error Indication to PCS when uncorrectable errors are detected
9
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
CGMII PCS
MLD 20 VLs
Encode
TX
64/66
SERDES TX
10x 66b 4x 10.3/25.78G
Transcode RSFEC
Interface
GB
Channelized
RS-FEC TX
GB
25/50/100G
XLGMII 0 Lane
4x 66b 4x 66b
10/25/40/50G CH0 Transcode Distribution
CH0 4x 66b
PCS GB
4x 66b FEC74
XLGMII 1 (4x) GB
66b Marker
10/25G 1:4 Transcode
CH1 CH1 Insert 66b
PCS 66b
XLGMII 3
10/25G 66b Marker
CH3 CH3
1:4 Transcode
PCS Insert 66b
66b
CGMII PCS
MLD 20 VLs
Decode
RX
64/66
SERDES RX
4x 10.3/25.78G
Transcode RSFEC
Interface FEC74
Sync Demux
(2x)
Channelized
RS-FEC RX FEC74
Sync Demux
25/50/100G (2x)
Deskew
XLGMII 0 4x 66b 4x 66b and
10/25/40/50G Transcode FEC74
CH0 CH0 4x 66b Lane Re-order Sync Demux
PCS (2x)
4x 66b
FEC74
XLGMII 1 Sync Demux
66b Marker (2x)
10/25G 4:1 Transcode
CH1 CH1 66b Remove 66b
PCS lane1
XLGMII 2
4x 66b
10/25/50G Transcode
CH2 CH2 4x 66b 4x 66b lane2,3
PCS
XLGMII 3 Marker
66b 4:1 Transcode
10/25G Remove
CH3 CH3 66b
PCS 66b lane3
10
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
4 Core Pinout
cgmii_txd(191:0)
Transmit
cgmii_txc(23:0)
Interface
cgmii_txclk_ena reset_sd0_tx_clk
CGMII sd0_ tx_clk
cgmii_rxd(191:0)
Receive sd0_tx(n:0)
Interface cgmii_rxc(23:0) . .
. . PMA Transmit
cgmii_rxclk_ena . .
reset_sd3_tx_clk Interface
xlgmiiN_txclk_ena
sd3_ tx_clk
xlgmiiN_txd(63:0)
xlgmiiN_txc(7:0) sd3_tx(n:0)
10..50G PCS
xlgmiiN_rxclk_ena sd_tx_clk_ena(3:0)
Channels
0..3 xlgmiiN_rxd(63:0)
reset_sd0_rx_clk
xlgmiiN_rxc(7:0) sd0_rx_clk
xlgmiiN_rxt0_next sd0_rx(n:0)
. .
Link Status . .
xl_link_status(3:0) . .
Channels PMA Receive
xl_hi_ber(3:0) reset_sd3_rx_clk
0..3 Interface
sd3_rx_clk
regN_rden
sd3_rx(n:0)
regN_wren
sd_rx_clk_ena(3:0)
PCS Register regN_addr(15:0)
Access signal_det(3:0)
regN_din(15:0)
Channels 0..3
regN_dout(15:0)
align_lock
regN_busy
block_lock(19:0)
PCS Status
reset_ref_clk hi_ber
Global ref_clk link_status
Signals reset_reg_clk
reg_clk rsfec_aligned(3:0)
RS-FEC Status
amps_lock(3:0)
100G
reg_rden PMA Interface
reg_wren
PCS/PMA sd_n2(3:0) Width Config.
100G PCS
Register reg_addr(15:0) Mapper
Access reg_din(15:0) fec91_ena_in(3:0)
reg_dout(15:0) kp_mode_in(3:0)
reg_busy fec91_1lane_in{0,2}
rxlaui_ena_in{0,2} Configuration
reg91_rden pcs100_ena_in
reg91_wren mode40_ena_in
RS-FEC
Register reg91_addr(7:0) pacer_10g(3:0)
Access fast_1lane_mode(3:0)
reg91_din(15:0)
scrambler_bypass_100g
reg91_dout(15:0)
descr_bypass_100g
reg91_busy
pcs0_lane_active(3:0)
pcs2_lane_active(1:0)
Active
tx_lane_thresh0[3:0]
Configuration
indicators tx_lane_thresh1[3:0]
tx_lane_thresh2[3:0]
tx_lane_thresh3[3:0]
11
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Global Signals
reset_sd0_tx_clk
Active high reset signal for sd0_tx_clk ... sd3_tx_clk clock domains.
reset_sd1_tx_clk
In
reset_sd2_tx_clk
Note: do not exist when the synchronous Core variant is used.
reset_sd3_tx_clk
reset_sd0_rx_clk
Active high reset signals for sd0_rx_clk ... sd3_rx_clk clock domains.
reset_sd1_rx_clk
In
reset_sd2_rx_clk
Note: do not exist when the synchronous Core variant is used.
reset_sd3_rx_clk
reset_reg_clk In Active high reset signal for reg_clk clock domain (register interface).
ref_clk In PCS Reference Clock. See 12 page 44 for clock frequency requirements.
12
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
xlgmiiN_txd(63:0) In XLGMII Transmit Data from MAC representing 8 octet lanes. Bit 0 is LSB.
xlgmiiN_txc(7:0) In XLGMII Transmit Control. Indicates data or control characters for each of the 8
data lanes of xlgmii_txd. Bit 0 is LSB.
xlgmiiN_rxd(63:0) Out XLGMII Receive Data to MAC representing 8 octet lanes. Bit 0 is LSB.
xlgmiiN_rxc(7:0) Out XLGMII Receive Control. Indicates data or control characters for each of the 8
data lanes of xlgmii_rxd. Bit 0 is LSB.
xlgmiiN_rxt0_next Out Advance indication if TERM block without data is next after current (directly from
decoder classification block type 0x87, T0)
13
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
A variable reflecting state of the LPI receive function as described by the LPI
receive state diagram.The parameter has one of two values: DATA (0) and QUIET
rx_lpi_mode(3:0) Out
(1). Refer to 16.3 for the coding values.
1-bit per channel.
Informal variable reflecting state of the LPI SM as described by the LPI transmit
rx_lpi_state(4*3-1:0) Out state diagram. Refer to 16.3 for the coding values.
3-bit per channel.
A Boolean variable that is set to true (1) when the receiver is in a low power state
rx_lpi_active(3:0) Out and set to false (0) when it is in an active state and capable of receiving data.
1-bit per channel.
A parameter generated by the PMA/PMD sublayer to reflect the state of the
received signal per lane. In the PMD this has the same definition as parameter
signal_detect and is passed through without modification by the PMA (and FEC).
The energy_detect is expected to assert when the ALERT pattern is received (i.e.
energy_detect(3:0) In the remote transmitter is in the ALERT state).
If the PMA has no such separate indication it may be wired together with
signal_detect.
1-bit per channel.
Asynchronous input (synchronized to ref_clk).
14
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
RS-FEC Status
Per serdes lane RS-FEC codeword alignment status.
One bit per Serdes lane. The signal asserts if the codeword alignment markers
amps_lock(3:0) Out
were detected on a lane (before RSFEC deskew and lane re-ordering).
It is the same indication available in the RS-FEC Status register.
RS-FEC alignment status for every channel.
Bit 0 indicates alignment for Channel 0 with 25G/50G as well as 100G PCS.
rsfec_aligned(3:0) Out Bit 1 indicates alignment for Channel 1 with 25G
Bit 2 indicates alignment for Channel 2 with 25G/50G
Bit 3 indicates alignment for Channel 3 with 25G
15
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Configuration
Per Serdes lane: Number bits used at the line interfaces: When set to 1 the
interface lower 20 bits are used, when set to 0 the full 40 bits of the interface are
used.
sd_n2(3:0) In A serdes interface operating at 10.3Gbps should use 20 bits (sd_n2=1).
A serdes interface operating at 25.78Gbps should use 40bits (sd_n2=0).
Asynchronous input synchronized internally to the respective serdes domain.
See also 12.2 page 44 for PMA interface usage.
Enable control for RS-FEC (Clause 91) datapath per serdes lane. When asserted
(1) the Clause 91 RS-FEC datapath is active for the lane. If deasserted (0) the
datapath uses normal 66b coding and can optionally use FEC74.
If the current enabled channel occupiers multiple serdes lanes, then for all of them
fec91_ena_in must be set. (for details, see 5 page 24)
fec91_ena_in(3:0) In Note: this input is internally OR’ed with fec91_ena register settings (see Table 29
page 89). So the customer has an option how to enable the RS FEC – either
through this pin or through register settings. If the register settings are preferable,
then the pin should be wired to all zeros. The register default settings are also all
zeros.
Asynchronous input synchronized internally to ref_clk.
Enable control for RS-FEC (Clause 91) datapath per serdes lane. When asserted
(1) the RS (544, 514) codewords are used, otherwise the RS (528, 514)
codewords . The setting is relevant, only when RS FEC for the same lane is set.
If the current enabled channel occupiers multiple serdes lanes, then for all of them
kp_mode_in must be set (for details, see 5 page 24).
Note: this input is internally OR’ed with kp_mode register settings. (see Table 29
page 89). So the customer has an option how to enable the RS FEC – either
kp_mode_in(3:0) In through this pin or through register settings. If the register settings are preferable,
then the pin should be wired to all zeros. The register default settings are also all
zeros.
Note: This bit is available, only when the synthesis option to enable the
RS (544, 514) support is set. This feature support is a matter of package’s
delivery agreement and requires a different set of source files.
Asynchronous input synchronized internally to ref_clk.
Define for Channel 0 and 2, when using RS-FEC, to operate at 25G-1lane (1) or
fec91_1lane_in0
In 50G-2lane mode (0).
fec91_1lane_in2
Note: Channels 1,3 have no such input as they operate at 25G-1lane only.
Define for Channel 0 and 2 to operate with 2:1 bitmuxing per lane to use 2-lanes
for the 4 VLs instead of 4 lanes. Can be used when RS-FEC is disabled for the
channel. Allows use of 50G over 2-lanes without FEC or with FEC74.
rxlaui_ena_in0
In When bit N is '0' the Channel N operates without lane bitmuxing (1:1). When bit N
rxlaui_ena_in2 is '1' the channel N uses 2:1 bitmuxing allowing it to operate with 50G over 2
lanes.
Note: Channels 1,3 have no such input as they operate at 1lane only.
100G PCS Enable. When set to '1' the 100G PCS is enabled. When set to '0' the
pcs100_ena_in In other channels can be used individually per lane.
Asynchronous input synchronized internally to ref_clk.
16
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Defined for a channel operated in the 10G/25G mode with no RS-FEC enabled.
For other modes, this pin’s value does not have any affect. One bit per channel.
Setting this bit to 1 guaranties that the Mapper does not read in burst from TX
PCS and does not write in burst in the RX PCS (at least one idle cycle between
pacer_10g(3:0) In
read/write). If this bit is set to 0, the read/write pattern from/to the PCS is
determined by TX FIFO/ De-skew FIFO’s level.
Asynchronous input synchronized internally to ref_clk.
Note: The signal is not available in the synchronous Core variant (not relevant).
Per Serdes lane: When asserted(1), the low latency mode for the corresponding
channel serdes interface will be enabled. This mode allows decrease in latency
(by ~40ns) but requires higher reference clock (ref_clk) frequency. If this mode
enabled, the minimum frequency for reference clock (ref_clk) is 626 MHz.
if this pin is set, the sd_n2(x) for the corresponding serdes lane must be set also.
fast_1lane_mode(3:0) In
This setting can be used only for single lane 10G channel, when lower 20 bits of
the serdes interface are used(sd_n2 = 1). In other modes the pin must be always
deasserted.
Asynchronous input synchronized internally to ref_clk.
Note: The signal is not available in the synchronous Core variant (not relevant).
100G Scrambler bypass mode. When set to ‘1’, the transmit data are not
scrambled. The input can be used for debug purpose in the 100g operational
scrambler_bypass_100g In mode. For standard operation in 100G mode this input must be set to 0.
Asynchronous input synchronized internally to ref_clk.
100G Descrambler bypass mode. When set to ‘1’, the receive data are not
descrambled. The input can be used for debug purpose in the 100g operational
descr_bypass_100g In mode. For standard operation in 100G mode this input must be set to ‘0’.
Asynchronous input synchronized internally to ref_clk.
Per channel enable Base-R (Firecode) Forward Error Correction (FEC74) in both
transmit and receive.
Enabling or Disabling FEC74 can occur at any time during operation. Due to the
link coding change this will cause a link re-start.
Every serdes lane contains two FEC74 functions. See 5.2 page 24 for FEC74 to
fec_ena(3:0) In serdes lane associations.
Note: The remote device needs to enable FEC support also before a link will be
established.
Asynchronous input.
Note: Availability of the FEC74 module is a synthesis option.
17
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Per channel enable optional error propagation in receive when FEC is active
(IEEE 802.3 Clause 74.8.3). When enabled uncorrectable error blocks will cause
fec_err_ena(3:0) In injection of sync header errors to allow error detection by the PCS layer.
Asynchronous input.
Per FEC receive lock indication. When FEC is enabled (fec_ena) each virtual lane
implements an independent FEC function. All FECs must be locked before the
fec_locked(7:0) Out PCS can achieve synchronization and alignment.
Note: FEC lock can take a significant amount of time (milliseconds).
Synchronous to ref_clk
Per virtual lane FEC correctable errors indication. When FEC is enabled (fec_ena)
and fec lock has been achieved the signal asserts whenever bit errors were
fec_cerr(7:0) Out detected that were fully corrected by the FEC.
Asserts at maximum once per FEC coding block (32x 66bit blocks ~204ns).
Synchronous to ref_clk
Per virtual lane FEC uncorrectable errors indication. When the FEC is enabled
(fec_ena) and fec lock has been achieved indicates whenever bit errors were
detected that could not be corrected. That is the receive data to the PCS
fec_ncerr(7:0) Out contained corrupt data.
Asserts at maximum once per FEC coding block (32x 66bit blocks ~204ns).
Synchronous to ref_clk
regN_addr(15:0) In Register Address. Bit 0 is the least significant bit. Addresses 16-bit registers.
regN_dout(15:0) Out Register Read Data. Bit 0 is the least significant bit.
Register Interface Busy. Asserted (set to 1) during register read or register write
regN_busy Out access. Deasserts (0) for one reg_clk cycle to indicate the completion of the
current register access.
reg_addr(15:0) In Register Address. Bit 0 is the least significant bit. Addresses 16-bit registers.
reg_dout(15:0) Out Register Read Data. Bit 0 is the least significant bit.
18
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Register Interface Busy. Asserted (set to 1) during register read or register write
reg_busy Out access. Deasserts (0) for one reg_clk cycle to indicate the completion of the
current register access.
reg91_addr(7:0) In Register Address. Bit 0 is the least significant bit. Addresses 16-bit registers.
reg91_dout(15:0) Out Register Read Data. Bit 0 is the least significant bit.
Register Interface Busy. Asserted (set to 1) during register read or register write
reg91_busy Out access. Deasserts (0) for one reg_clk cycle to indicate the completion of the
current register access.
Configuration Indicators
(convenience signals only, not required to be used by the application for any specific purpose)
Indicates which lanes are currently in use by the PCS0.
4'b 0001 : 1-Lane - 10/25Geth
4'b 0011 : 2-Lane - 50Geth - 2-Lane 40Geth
pcs0_lane_active(3:0) Out 4'b 1111 : all other modes
Note: will indicate 4'b 1111 when 100G mode is active (i.e. not relevant as PCS0
is then not active).
Synchronous to ref_clk.
Indicates which lanes are currently in use by the PCS2.
2'b 01 : 1-Lane - 10/25Geth
pcs1_lane_active(1:0) Out 2'b 11 : all other modes.
Note: will indicate 2'b 11 even when the PCS is not active (e.g. in 100G mode).
Synchronous to ref_clk.
Presents the bits 11:8 bits of the PCS100 configuration register TX_LANE_
tx_lane_thresh2(3:0) Out
THRESH (offset 0x8003) which represent the setting for lane 2.
19
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
f91dm_wren(3:0) Out Per RSFEC Delay Memory write enable. One bit per memory.
f91dm_waddr_0(3:0)
f91dm_waddr_1(3:0)
Out Per RSFEC Delay Memory write address
f91dm_waddr_2(3:0)
f91dm_waddr_3(3:0)
f91dm_wdata_0(256:0)
f91dm_wdata_1(256:0)
Out Per RSFEC Delay Memory write data to memory.
f91dm_wdata_2(256:0)
f91dm_wdata_3(256:0)
f91dm_rden(3:0) Out Per RSFEC Delay Memory read enable. One bit per memory.
f91dm_raddr_0(3:0)
f91dm_raddr_1(3:0)
Out Per RSFEC Delay Memory read address
f91dm_raddr_2(3:0)
f91dm_raddr_3(3:0)
f91dm_rdata_0(256:0)
f91dm_rdata_1(256:0)
In Per RSFEC Delay Memory read data from memory.
f91dm_rdata_2(256:0)
f91dm_rdata_3(256:0)
20
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Per Deskew Memory read data from memory. 67-bit per memory.
desk_m_rdata(8*67-1:0) In
all synchronous to ref_clk (memories 7..0)
21
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
22
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
23
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
24
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
25
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
26
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
When operating channel 0 or channel 2 with 50G over 2 lanes with RS-FEC, the PCS that is
associated with the 2nd lane must be configured identically with respect to marker distance and
marker values, even though that other lane's PCS layer is not in use. The configuration of the
other lane's PCS is still affecting the lane synchronization modules at the individual serdes lane.
This means:
When channel 0 PCS is used in 50G then Channel 1 PCS settings must be identical.
When channel 2 PCS is used in 50G then Channel 3 PCS settings must be identical.
27
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
6 100Geth PCS
The PCS uses a transmission code to improve the transmission characteristics of information to be
transferred across the link and to support transmission of control and data characters. The
encodings defined by the transmission code ensure that sufficient transitions are present in the
PHY bit stream to make clock recovery possible at the receiver. The encoding also preserves the
likelihood of detecting any single or multiple bit errors that may occur during transmission and
reception of information. In addition, the synchronization headers of the code enable the receiver
to achieve block alignment on the incoming PHY bit stream. The 64B/66B transmission code
specified for use in this standard has a high transition density and is a run-length-limited code.
64B/66B encodes 8 data octets or control characters into a block. Blocks containing control
characters also contain a block type field. Data octets are labeled D 0 to D7. Control characters
other than /O/, /S/ and /T/ are labeled C0 to C7 . The control character for Ordered Set is labeled as
O0 since it is only valid on an 8B boundary of the CGMII. The control character for Start is labeled
as S0 for the same reason. The control character for Terminate is labeled as T0 to T7.
One CGMII transfer provides 24 characters which are encoded into three 66-bit transmission
blocks. The subscript in the above labels indicates the position of the character on an 8B boundary
of the CGMII for each of the three blocks.
Contents of block type fields, data octets and control characters are shown as hexadecimal
values. The LSB of the hexadecimal value represents the first transmitted bit.
For instance, the block type field 0x1e is sent from left to right as 01111000. The bits of a
transmitted or received block are labeled TxB<65:0> and RxB<65:0>, respectively, where TxB<0>
and RxB<0> represent the first transmitted bit. The value of the sync header is shown as a binary
value. Binary values are shown with the first transmitted bit (the LSB) on the left in the following
tables to conform with IEEE 802.3ae notation.
Blocks consist of 66 bits. The first two bits of a block are the synchronization header (sync
header). Blocks are either data blocks or control blocks. The sync header is 01 (lsb msb) for data
blocks and 10 (lsb msb) for control blocks. Thus, there is always a transition between the first two
bits of a block. The remainder of the block contains the payload. The payload is scrambled and the
sync header bypasses the scrambler. Therefore, the sync header is the only position in the block
that always contains a transition. This feature of the code is used to obtain block synchronization.
Data blocks contain eight data characters. Control blocks begin with an 8-bit block type field which
indicates the format of the remainder of the block. For control blocks containing a Start, Terminate
or Ordered Set character, that character is implied by the block type field. Other control characters
are encoded in a 7-bit control code. Each control block contains eight characters.
The format of the blocks is as shown in Figure 4. In the figure, the column labeled “Input Data”
shows, in abbreviated form, the eight characters used to create the 66-bit block. These characters
28
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
are either data characters or control characters and, when transferred across the CGMII interface,
the corresponding TXC or RXC bit is set accordingly. Within the “Input Data” column, D 0 through
D7 are data octets and are transferred with the corresponding TXC or RXC bit set to zero. All other
characters are control octets and are transferred with the corresponding TXC or RXC bit set to
one. The single bit fields (thin rectangles with no label in the figure) are sent as zero and ignored
upon receipt.
Bits and field positions are shown with the least significant bit on the left. Hexadecimal numbers
are shown in normal hexadecimal. For example the block type field 0x1e is sent as 01111000 (lsb
first) representing bits 2 through 9 of the 66 bit block.
All unused values of block type field are reserved.
The same set of control characters are supported by the CGMII and the 100GBASE-R PCS. The
representations of the control characters are the control codes. CGMII encodes a control character
into an octet (an eight bit value). The 100GBASE-R PCS encodes the Start and Terminate control
characters implicitly by the block type field. The 100GBASE-R PCS encodes the Ordered Set
control codes using the block type field. The 100GBASE-R PCS encodes each of the other control
characters into a 7-bit C code.
The control characters and their mappings to 100GBASE-R control codes and CGMII control
codes are specified in Table 7. All CGMII and 100GBASE-R control code values that do not
appear in the table shall not be transmitted and shall be treated as an error if received.
Sync
Bit Position : 0 1 2 65
Ordered Sets are used to extend the ability to send control and status information over the link
such as remote fault and local fault status. With 8B alignment in 100 Gigabit Ethernet, ordered
29
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
sets span 8 bytes. Ordered sets always begin on an 8B boundary of the CGMII. 100 Gigabit
Ethernet uses one kind of ordered_set: the sequence ordered_set (see 82.2.3.9 in [1]). The
sequence ordered_set control character is denoted /Q/. An additional ordered_set, the signal
ordered_set, has been reserved and it begins with another control code. See Table 7, page 30 for
the mappings.
Idle control characters (/I/) are transmitted when idle control characters are received from the
CGMII. Idle characters may be added or deleted by the PCS to adapt between clock rates. /I/
insertion and deletion shall occur in groups of 8. /I/s may be added following idle or ordered sets.
They shall not be added while data is being received. When deleting /I/s, the minimum IPG of one
character is maintained.
Note: the PCS uses a clock-enable based scheme to adapt the rates making idle insertion/deletion
at the CGMII obsolete.
Table 7: Control Codes
The start control character (/S/) indicates the start of a packet. This delimiter is only valid on an 8B
boundary of the CGMII (TXD<7:0>, TXD<71:64>, TXD<135:128>, …, RXD<7:0>, RXD<71:64>,
RXD<135:128>, …). Receipt of an /S/ on any other octet of TXD indicates an error. Block type field
values implicitly encode an /S/ as the first character of the block. This is the only character of a
block on which a start can occur.
30
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
6.2.8 Terminate (/T/)
The terminate control character (/T/) indicates the end of a packet. Since packets may be any
length, the /T/ can occur on any octet of the CGMII interface and within any character of the block.
The location of the /T/ in the block is implicitly encoded in the block type field. A valid end of packet
occurs when a block containing a /T/ is followed by a control block that does not contain a /T/.
The ordered_set control characters (/O/) indicate the start of an ordered_set. There are two kinds
of ordered sets: the sequence ordered_set and the signal ordered_set (which is reserved). When it
is necessary to designate the control character for the sequence ordered_set specifically, /Q/ will
be used. /O/ is only valid on an 8B boundary of the CGMII. Receipt of an /O/ on any other octet of
TXD indicates an error. Block type field values implicitly encode an /O/ as the first character of the
block.
Sequence ordered_sets may be deleted by the PCS to adapt between clock rates. Such deletion
shall only occur when two consecutive sequence ordered sets have been received and shall
delete only one of the two. Only Idles may be inserted for clock compensation. Signal
ordered_sets are not deleted for clock compensation.
The error control character (/E/) is sent whenever an /E/ is received. It is also sent when invalid
blocks are received. The /E/ allows the PCS to propagate received errors. See R_BLOCK_TYPE
and T_BLOCK_TYPE function definitions in [1] Clause 82.2.19.2.3 for further information.
The transmit process generates blocks based upon the TXD<191:0> and TXC<23:0> signals
received from the CGMII. Each CGMII data transfer is encoded into 3 blocks. It takes e.g. 1.65 40-
bit transfers on the PMA Service Interface to send a block of data. Therefore, if the PCS is
connected to a CGMII and PMA sublayer where the ratio of their transfer rates is exactly 64:66,
then the transmit process does not need to perform rate adaptation. Where the CGMII and PMA
sublayer data rates are not synchronized to that ratio, the transmit process will need to insert idles,
delete idles, or delete sequence ordered sets to adapt between the rates.
The transmit process generates blocks as specified in the transmit process state machine. The
contents of each block are contained in a vector tx_coded<65:0> which is passed to the
scrambler. tx_coded<1:0> contains the sync header, and the remainder of the vector contains the
block payload.
6.3.2 Scrambler
The payload of the block is scrambled with a self-synchronizing scrambler. The scrambler shall
produce the same result as the implementation shown in Figure 5. This implements the scrambler
polynomial1 :
G x1 + x39 + x58 (1)
1
The convention here, which considers the most recent bit into the scrambler to be the lowest order term, is
consistent with most references and with other scramblers shown in the 802.3 standard. Some references
consider the most recent bit into the scrambler to be the highest order term and would therefore identify this as
the inverse of the polynomial in equation (1). In case of doubt, note that the conformance requirement is based
on the representation of the scrambler in the figure rather than the polynomial equation.
31
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
There is no requirement on the initial value for the scrambler. The scrambler is run continuously on
all payload bits. The sync header bits bypass the scrambler.
Figure 5: Scrambler
The receive process decodes blocks to produce RXD<191:0> and RXC<23:0> for transmission to
the CGMII. One CGMII data transfer is decoded from 3 blocks. Where the CGMII and PMA
sublayer data rates are not synchronized to a 64:66 ratio, the receive process will insert idles,
delete idles, or delete sequence ordered sets to adapt between rates.
If the receive state machine is not in sync (block_lock deasserted) or experiences high bit errors
(hi_ber asserted), the PCS will provide the Local Fault Sequence to the Reconciliation Sublayer
via CGMII.
6.4.2 Descrambler
The descrambler processes the payload to reverse the effect of the scrambler using the same
polynomial. It shall produce the same result as the implementation shown in the figure below.
Figure 6: Descrambler
32
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
7 Block Synchronization
When the receive channel is operating in normal mode, the block synchronization function
receives data in 66-bit words, obtains lock to the 66-bit blocks using the sync headers and outputs
66-bit blocks. Lock is obtained as specified in the block lock state machine shown in Figure 7
below.
33
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
10, 5, 4, 2, 1 10, 5, 4, 2, 1 20
This allows all data (bits) from one virtual lane to be transmitted over the same electrical and
optical lane combination and ensures that the data from a virtual lane is always received with the
correct bit order at the receive MLD.
Periodic alignment blocks (alignment markers) are added to each virtual lane. The alignment
markers allow the receive PCS to perform skew compensation, realign all the virtual lanes, and
reassemble a single 100G aggregate stream (with all the blocks in the correct order). The
alignment markers are inserted after every 16383 66-bit blocks on each virtual lane at the same
time. The alignment markers are 66-bit blocks containing a virtual lane identifier, as shown in
Figure 8 below.
10 VL ~VL
Note: The PCS Core does not compensate for inserted alignment markers. The MAC is expected
to remove one block of Idle every 16384 blocks resulting in 16383 blocks at the CGMII (which is
implemented as such in the 40/100G MAC).
When the Core operates in 100Geth mode the encodings of the virtual lane identifiers are shown
in Table 9 for 100GBASE-R.
34
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Table 9: 100GBASE-R Alignment Marker Encodings
The 4th byte in every marker (not shown in above table) contains a Bit Interleaved Parity (BIP)
field.
The 40G/50G capable PCS Layers should use the following markers as defined in [1] Table 82-3.
Note that 50G is the same as 40G, but may use different markers in the future.
The PCS layers provide programmable marker registers to allow adapting for future standards.
Table 10: 40GBASE-R Alignment Marker Encodings
Marker Value
VL Number
{m0, m1, m2}
When operating at 25Gbps with RS-FEC the MLD mechanism is used to insert markers into the
datastream allowing the receiver to recover the RS-FEC codeword boundaries. As the markers are
no longer used for lane deskew they are named Codeword Markers (CWM).
25G modes use the 100G VL0 marker to allow re-use of the same alignment sync function
independent of the mode of operation of a 25Gbps link. The marker 1..3 are taken from 40G hence
the marker table is as follows.
35
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Table 11: 25GBASE-R Alignment Marker Encodings
Marker Value
VL Number
{m0, m1, m2}
The PCS layers provide programmable marker registers to allow adapting for future standards.
36
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
37
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Note: The table lists the amount of 66b blocks within which the amount of 8 Idle bytes must have
been removed. For a Clause 82 PCS (40G/50G/100G) this is identical to dropping one 66b block
of idles. For a Clause 49 PCS (10G/25G) this requires dropping two times 4-byte XGMII Idle
columns to respect the minimum IPG requirement of 5 for XGMII (see 802.3 Clause 46.2.1 and
49.2.4.7)
Note: When a PCS mode change occurs the application is responsible to initialize the PCS and
MAC (or other function responsible for marker compensation) marker distance registers correctly.
38
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
10.1 Overview
The IEEE 802.3 Clause 74 defines the Forward Error Correction (FEC) sublayer for Base-R PHYs
which is used on a per (virtual) lane basis. The FEC provides coding gain to increase the link
budget and BER (Bit Error Rate) performance. The Core optionally implements Transmit and
Receive FEC functions to provide additional margin to account for variations in manufacturing and
environmental conditions.
The FEC operates after the PCS on each virtual lane independently. Hence for 100GBase-R there
are 20 individual modules in each direction of the datapath.
PN-2112
Generation
Message or Parity
Compress Sync bits Selector
+
FEC 32-Bit Parity Generator
FEC Data
The generator polynomial g(x) for the (2112, 2080) parity-check bits are defined as given in the
following equation:
g(x) = X32 + X23 + X21 + X11 + X2 + 1
PN-2112 is a pseudo-noise sequence of length 2112 generated by the following polynomial:
r(x) = 1 + X39 + X58
39
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Scrambling with the PN-2112 sequence at the FEC codeword boundary is necessary for
establishing FEC block synchronization (to ensure that any shifted input bit sequence is not equal
to another FEC codeword) and to ensure DC balance.
PMA Data
PN-2112
Generation
FEC Block Sync
Each of the 32 65-bit data words is extracted from the recovered FEC block and the 2-bit sync
header is reconstructed for the 66b code blocks.
40
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
11.1 Overview
The IEEE802.3bj specification Clause 91 defines a Reed-Solomon Forward Error Correction (RS-
FEC) function for use with 100G applications using 4x 25.8Gbps Serdes technology.
The implemented RS-FEC supports 100GBase-KR4 and 100GBase-CR4 PHYs using RS(528,
514) codewords allowing correction of up to seven 10bit symbols within 514 such symbols.
Optionally the implementation also supports 100GBase-KP4 PHYs using RS(544, 514) codewords
allowing correction of up to fifteen 10bit symbols within 514 such symbols. (Note: This feature is
available, only when the synthesis option to enable the RS (544, 514) support is set. This feature
support is a matter of package’s delivery agreement and requires a different file list.)
In addition it allows usage for 25G single-lane and 50G 2-lane modes of operation.
The RS-FEC function can be enabled by the RS-FEC control register (see 22.1.1 page 76) or
toplevel input fec91_ena_in. When enabled, the 100G PCS datapath is changed and a different
coding is used that allows inserting the FEC overhead. The FEC layer is integrated directly into the
PCS omitting Virtual Lane (VL) distribution (MLD) and 66B block mux/de-mux functions providing a
low latency implementation.
The following figure shows the RS-FEC integration concepts when used with the 100G PCS Layer.
For clarity both datapathes are shown with their logical datapathes. This may not represent the
actual implementation which e.g. will share the deskew buffers and other common functions.
PCS TX
CGMII Trans-
code RS-FEC TX
GB SERDES TX
257
PCS MLD (4x 25.75G)
Error GB
Encode Marker
Inject
64/66 Insert
Lane GB
Lane
MLD * MUXLane
MUXBit GB
TX * 5:1
MUX
BIP8 5:1
MUX
5:1
5:1
20VL
rsfec_enable
5VL BS + DeMux + GB
41
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Transcodes four encoded and scrambled 66bit blocks from PCS encoder into 257bit units
to create space for the FEC overhead information.
Transcodes the PCS alignment markers to allow the remote receiver to determine symbol
boundaries and achieve lane synchronization.
Adds the RS-FEC overhead
Distributes the RS-FEC 10B symbols over the four serdes lanes.
In receive the RS-FEC datapath performs the following tasks:
Synchronizes each serdes lane to the incoming marker patterns found in the bitstream to
recover RS-FEC symbol and codeword boundaries.
Aligns (deskews) and reorders the four serdes lanes
Forwards the reassembled codewords to the RS-FEC decoder for checking and possibly
correcting symbol errors.
Removes the FEC overhead and Inverse-Transcodes the incoming 257bit units back into
66bit blocks which are forwarded to the PCS decoder function.
42
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
It is possible to disable this error propagation functionality through the RS-FEC Control register
(see Table 29 page 89). When it is disabled, latency is reduced by ~45ns when operating in
normal (correcting) mode.
When error indication is bypassed, the FEC keeps monitoring the amount of symbol errors
detected (802.3bj Clause 91.5.3.3). The errors from all lanes are accumulated over 8192
codeword intervals and if during such interval more than 416 symbol errors are found, the FEC will
corrupt sync-headers to the PCS continuously. This will cause the PCS to enter Hi-Ber state
indicating local fault to the CGMII. This high symbol error (SER) state will be kept for another
~60ms after the high error threshold is no longer reached. Then the FEC will clear the indication
again and fall back to normal operation.
The RS-FEC Status register bit 2 (high SER) asserts in this situation (see Table 30 page 91).
Note: If Autonegotiation is enabled, hi-ber assertion will cause it to restart.
Note: If short marker interval is configured (vl_intvl) the measurement window is shortened to 1/50 (164
codewords).
43
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
For the asynchronous variant the Core implements line interface asynchronous FIFOs to decouple
between the PMA Service Interface clocks and the reference clock ref_clk. The decoupling
FIFOs are placed at the Serdes interfaces.
The reference clock and the Serdes interfaces can be independent with no frequency or phase
requirements as long as the minimum frequency requirements are met (see below).
For the synchronous variant the Core implements no serdes interface FIFOs. Instead it operates
all serdes interfaces with ref_clk. The serdes interfaces then must implement the clock-enable
based rate control as shown in Figure 21 page 64.
IMPORTANT: The given minimum frequencies must be respected. Any lower is not allowed (e.g.
644.53125 for 25G will not work, it must be 645MHz or higher).
The PMA interface clocks (sd_rx_clk(3:0) and sd_tx_clk(3:0), async variant only)
frequency is defined by to the Serdes speed and Serdes interface active width controlled with the
signal sd_n2.
44
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Table 14: Serdes Interface Clock Frequencies
26,5625 Gbps
40 0 40 664,0625MHz
for RS FEC with
RS (544, 514) )
only
When the PMA operates at half-width (sd_n2=1) the lower 20 bits (19:0) of the interface are used and
the upper bits are ignored/arbitrary.
Notes:
The ref_clk clock frequency can be of any frequency higher than specified above, only
restricted by the chosen technology capability.
The SERDES/PMA interface clocks for one direction (TX/RX) are all independent and can
have arbitrary skew but must not drift. TX and RX interfaces are fully independent from
each other.
45
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
For the asynchronous Core variant having independent Serdes clocks, Figure 12 below shows the
system clock distribution as an example for the 100GBase-R PCS datapath when using a 40-bit
SERDES / PMA interface. The concepts and clock domain crossings are valid for all modes of
operation.
ref_clk
.. sd3_tx_clk
rxclk
The synchronous Core variant does not have separate serdes clocks and operates completely
with the single global reference clock ref_clk. The serdes interfaces then must implement the
clock-enable based rate control as shown in Figure 21 page 64.
46
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
ref_clk
txclk
66 FIFO 66 Gearbox 40
66 FIFO 66 Gearbox 40
rxclk
47
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
13.1 Overview
The PCS implements FIFOs to decouple between the PMA Service Interface clocks and the
system/CGMII clocks. The clock compensation FIFOs at the TX Serdes interfaces and the Rx MLD
Deskew Buffers on receive decouple the CGMII and PMA Service Interface transmit and receive
clocks, respectively.
cgmii_rxclk sd*_rx_clk
PCS Receive
XL/CGMII Interface
cgmii_txclk
Remote Fault
sd_tx_clk PCS Transmit
Note: Even though the above figure shows independent cgmii_rx/txclk clocks these are connected to a
single reference clock (ref_clk).
48
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
14 CGMII Interface
14.1 Overview
The CGMII output of the PCS can be connected directly to MorethanIP's 100G MAC as both Cores
implement the same 192-Bit CGMII interface.
On transmit, the 192 cgmii_txd signals and 24 cgmii_txc signals are organized into 24 data
lanes, as are the 192 cgmii_rxd signals and 24 cgmii_rxc on receive. The 24 lanes in each
direction share a common clock - cgmii_clk for both transmit and receive. The 24 lanes are
used in round-robin sequence to carry an octet stream. On both transmit and receive, signals are
synchronized on the clock rising edge only. The mapping of the 192-Bit transmit and receive data
signals is shown in Table 15.
Table 15: Lane Association
cgmii_txd cgmii_txc
Lane
cgmii_rxd cgmii_rxc
(7:0) (0) 0
(15:8) (1) 1
(23:16) (2) 2
(31:24) (3) 3
(39:32) (4) 4
(47:40) (5) 5
(55:48) (6) 6
(63:56) (7) 7
(71:64) (8) 8
(79:72) (9) 9
(87:80) (10) 10
(95:88) (11) 11
(103:96) (12) 12
(111:104) (13) 13
(119:112) (14) 14
(127:120) (15) 15
(135:128) (16) 16
(143:136) (17) 17
(151:144) (18) 18
(159:152) (19) 19
(167:160) (20) 20
(175:168) (21) 21
(183:176) (22) 22
(191:184) (23) 23
49
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
14.2 Transmit
Code groups are used to indicate the Start of a Frame, Idle, End of a Frame and Sequence or
Error control characters.
Table 16: TXD / TXC Encoding
When no Ethernet Frame is available for transmission, the inter-frame gap is filled with Idles.
Idles are send on the lanes when the command bus (cgmii_txc) bit is set to 1 and 0x07 (Idle)
is on the data bus (cgmii_txd) [1]. A Frame starts when cgmii_txc is set to 1 and 0xFB
(Start) is on the data bus cgmii_txd [2]. The start of frame is only set on Lane 0, Lane 8,
Lane 16, etc. The pattern 0xFB on the data bus replaces the first Preamble byte. Frame Data
or Preamble bytes are sent on a lane when the corresponding command line is set to 0 [3]. The
end of frame is reached when one command line is set to 1 and the corresponding data bus is
set to 0xFD (Term) [4].
50
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
1 2 3 4
51
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
14.2.2 Frame Transmit with Error
To propagate transmission errors, the transmitting device can insert error control characters in
the data stream by setting the control line n to ‘1’ with the Lane n set to 0xFE (Error) [1].
On transmit, the start-of-frame character can only appear on an 8-Byte boundary, starting from
Lane 0, that is, Lane 0, Lane 8, Lane 16, etc. Additional Idle characters are inserted (by the
transmitting MAC) between frames to align the frame start on Lane 0, Lane 8, Lane 16, etc.
52
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
14.3 Receive
14.3.1 Start Control Character Alignment
On the receive interface, a start-of-frame character may be received on any 8-Byte boundary,
starting from Lane 0, that is, Lane 0, Lane 8, Lane 16, etc.
The PCS is capable of detecting faults that render a Link unreliable for communication (loss of
synchronization or excessive bit errors). Upon recognition of a fault condition, the PCS device
indicates Local Fault status to the PCS Client via the CGMII interface. Link Fault status is
indicated in an 8-Byte Sequence (see Table 17 on page 53).
On the CGMII interface, a Sequence is represented as a control character on Lane n*8 set to
0x9C (with rxc=1) and data characters (with rxc=0) on Lanes (n*8)+1, (n*8)+2, (n*8)+4, (n*8)+5,
(n*8)+6, (n*8)+7 set to 0x00 and Lane (n*8)+3 set to 0x01 or 0x02 for a Local Fault or a
Remote Fault, respectively (see 81.3.4 in [1]).
Table 17: Link Fault Sequences
53
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
15 XLGMII Interface
15.1 Overview
On transmit, the 64 xlgmii_txd signals and 8 xlgmii_txc signals are organized into 8 data
lanes, as are the 64 xlgmii_rxd signals and 8 xlgmii_rxc signals on receive.
When operating in 10Geth/25Geth mode of operation, two blocks of 4 octets XGMII data are
placed on the 64-bit XLGMII transmit and receive busses. The 4-octet block on
xlgmii_txd(31:0) is transmitted first, and the 4-octet block on xlgmii_rxd(31:0) is
received first.
The 8 lanes are used in round-robin sequence to carry an octet stream. On both transmit and
receive, signals are synchronized on the clock rising edge only.
The mapping of the 64-bit transmit and receive data signals is shown in the following table.
Table 18: Lane Association
xlgmii_txd xlgmii_txc
Lane
xlgmii_rxd xlgmii_rxc
(7:0) (0) 0
(15:8) (1) 1
(23:16) (2) 2
(31:24) (3) 3
(39:32) (4) 4
(47:40) (5) 5
(55:48) (6) 6
(63:56) (7) 7
On Transmit, the MAC should set on a lane the appropriate xlgmii_txd values with
xlgmii_txc to generate code groups or transmit frame data and on Receive, the Core decodes
the xlgmii_rxd values with xlgmii_rxc to generate code groups or frame data to the MAC.
Code groups are used to indicate the start of a Frame, Idle, end of Frame and Sequence or Error
control characters.
Table 19: TXD / TXC Encoding
xlgmii_txc xlgmii_txd
Description
xlgmii_rxc xlgmii_rxd
1 0x07 Idle
54
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Sequence
40Geth and 50Geth Modes: Only set on MAC Core
1 0x9C Lane 0
10Geth and 25Geth Mode: Only set on MAC Core
Lane 0 or Lane 4
Start
40Geth and 40Geth Modes: Only set on MAC Core
Lane 0
1 0xFB
10Geth an 25Geth Mode: Only set on MAC Core Lane
0 or Lane 4
Replaces the first byte of preamble
1 0xFC Reserved
Terminate
1 0xFD
Can be set by the MAC Core on any Lane from 0 to 7
1 0xFF Reserved
55
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
1 2 3 4
56
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Table 20: 40Geth and 50Geth XLGMII Link Fault Sequences (Clause 82)
0x9C
0x00 0x00 0x01 0x00 0x00 0x00 0x00 Local Fault
(Sequence)
0x9c
0x00 0x00 0x02 0x00 0x00 0x00 0x00 Remote Fault
(Sequence)
In 10Geth and 25Geth mode, n the XLGMII interface, a Sequence should be received as a 0x9C
control character on Lane 0 or Lane and data characters on Lanes 1 through 3 or Lanes 5 through
7 (see IEEE 802.3, 46.3.4).
Table 21: 10Geth and 25Geth XGMII Link Fault Sequences (Clause 49)
xlgmii_rxc=1 xlgmii_rxc=0
0x9C
0x00 0x00 0x01 Local Fault
(Sequence)
0x9c
0x00 0x00 0x02 Remote Fault
(Sequence)
57
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
16.1 Overview
The IEEE P802.3bj amendment defines procedures to implement Energy Efficient Ethernet. It
allows end stations to exchange a so-called low power idle (LPI) sequence to indicate the link is
not used and may be allowed to power down.
Note: EEE support is available only in 10Geth and 40Geth over 4 lanes (Only) modes. In all
modes only fast-wake should be used as deep-sleep is not supported due to the multi-channel
architecture.
Note:
Detection of low power idle occurs only if all lanes contain only the LPI control characters.
Boolean variable controlling the wake mode for the LPI transmit
and receive functions. This variable is set true when the link is to
use the fast wake mechanism, and false when the link is to use the
EEE Control&Capability optional deep sleep mechanism for each direction. This variable
Register fast-wake mode defaults true and may only be set to false if the optional deep sleep
bit mode is supported.
Note: The multi-channel Mapper cannot support deep sleep and
the application should only consider fast-wake operation.
tx_lpi_mode(1:0) A variable reflecting state of the LPI transmit function as described
58
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
tx_lpi_state(2:0) 2: TX_QUIET
3: TX_ALERT
4: TX_WAKE (Clause 82 only)
5: TX_WAKE2 (Clause 82 only)
6: TX_SCR_BYPASS
Note: tx_lpi_state is informal only and should not be used for
controlling any system function.
A variable reflecting state of the LPI receive function as described
rx_lpi_mode by the LPI receive state diagram (Figure 82-17/49-13).The
parameter has one of two values: DATA(0) and QUIET(1).
A variable reflecting state of the LPI SM as described by the LPI
transmit state diagram (Figure 82-17 when Clause82 is enabled,
Figure 49-13 when Clause 49 is enabled).
Coding:
0: RX_ACTIVE
1: RX_TIMER (Clause 82 only)
2: RX_SLEEP
rx_lpi_state(2:0)
3: RX_FW (Clause 82 only)
4: RX_QUIET
5: RX_WAKE
6: RX_WTF (Clause 82 only)
7: RX_LINK_FAIL (Clause 82 only)
Note: rx_lpi_state is informal only and should not be used for
controlling any system function.
A Boolean variable that is set to true when the receiver is in a low
rx_lpi_active power state and set to false when it is in an active state and
capable of receiving data.
Note 1: To be able to transmit the sequences, the PCS must not be within an auto-negotiation
phase. Hence auto-negotiation must be either completed, or disabled.
Note 2: Deep sleep mode is not supported in any mode.
59
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
17 Test Patterns
MLD Receive
De-
scrambler
Test Pattern
Monitoring
Checker
Error (82.2.17)
Counter
Test Pattern
Generator
(82.2.10)
data pattern
MLD Transmit
64/66b Coder
Scrambler
When the receiver operates in test pattern mode, the receive state-machine is disabled and the
PCS produces local fault sequences onto CGMII. As the test pattern checker is permanently
monitoring the incoming blocks, it will increment the error counter during normal operation.
60
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
61
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
18 Gearbox
The gearbox adapts between the 66-bit width of the blocks and the n-bit width of the PMA
interface. It receives the 66-bit blocks and produces n-bit blocks that are then transferred on the
PMA Service Interface (see Figure 1). When the transmit channel is operating in normal mode, the
gearbox sends n bits that are fully packed with bits. For example, with a 40-bit PMA interface, if
one block happened to start with the sync header on bits 0 and 1 of a transferred word, then the
last two bits of that block would be on bits 24 and 25 of the next transfer, and the next block would
begin with a sync header on bits 26 and 27 of that transfer.
The internal data path width between the PCS and PMA is an implementation choice. Depending
on the path width, the gearbox functionality may not be necessary.
62
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
19 SerDes Interface
The Core implements a parallel Serdes interfaces. The following gives 40-bit implementations,
which can be extrapolated to other sizes accordingly.
On transmit, and to ensure proper data reception of the remote node, the least significant bit (LSB)
of the transmit bus (sdX_tx(0)) must be serialized first by the Serdes, the most significant bit
(MSB) of the Core output bus must be serialized last.
On Receive, the Serdes must de-serialize the first received bit into the least significant bit (LSB)
and the last bit into the most significant bit (MSB).
sd_tx(N:0)
39 0
Serialization
Serial Stream
sd_rx(N:0)
39 0
De-Serialization
Serial Stream
When the input pin sd_n2 is asserted (1), the interface changes to a half-wide (20-bit) interface.
Then only the lower 20 bits (19:0) are relevant and the upper half is ignored on receive and may
present arbitrary data on transmit. The clock frequency must then also be doubled accordingly.
When the synchronous design variant is used (see 12.1.2 page 44), the serdes interfaces all
operate with the same common reference clock (ref_clk) as the complete design. Then the serdes
rates are controlled by an enable based scheme.
The following figure shows a timing example for a clock-enable based serdes interface. During a
hold cycle the data on the interface must be ignored. The distance and amount of hold cycles
63
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
depends on the data rate to clock frequency relation. However care should be taken to spread the
hold cycles to avoid unnecessary bursts.
hold hold
sdN_tx(*) *** 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 * * *
sd_tx_clk_ena
The example shows the tx interface but the same scheme applies to every rx interface where each
lane has its own individual clock enable (which may change at different times individually per lane).
64
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
20.1 Overview
Device configuration and control registers are accessed through a generic processor interface.
The interface implements a 16-Bit processor interface, which can be connected to various industry
standard processors.
reg_clk
reg_wren
reg_rden
reg_addr() 0000 <address> 00
reg_dout() 0000
reg_busy
65
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
reg_clk
reg_wren
reg_rden
reg_addr() 0000 <address> 00
reg_din() 00000000
reg_busy
Note: above given figures are examples of the interface. The deassertion of reg_busy can vary by a few
clock cycles.
66
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
xxx_clk
xxx_wren
xxx_clk
xxx_waddr(n:0)
xxx_wren
xxx_wdata(k:0)
xxx_waddr(n:0)
xxx_wdata(k:0)
Data Write
Data Write
Figure 24: Memory Write Interface
xxx_clk
rclk
xxx_rden
xxx_raddr(n:0) A1 A2 A3
xxx_raddr(n:0)
xxx_rdata(k:0) D1 D2 D3
xxx_rdata(k:0)
xxx_rden
The output read data is expected to be stable the clock cycle following rden assertion or a change
of raddr (while rden is maintained). When rden becomes deasserted, the memory output must be
stable with the last data read.
The rden signal to the memory is typically coming from a combinatorial and hence should not be
highly loaded (timing).
67
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
22 Core Registers
Notes:
Only bits 15,14 are writeable. All others are read-
only.
Bits (13,6:2) are fixed.
Bit 11 is not available and always 0.
68
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
15:8: Reserved
7: Fault. 1=Fault condition detected, 0=no fault
condition detected. This indication is the logical OR of
Status 2 Register bits 10 and 11.
1 01 STATUS 1 RO 6:3: Reserved 0
2: Receive link status. 1=Link up, 0=link down. (LL)
1: Low power ability. always 0=low power mode not
supported.
0: Reserved
15:9 Reserved
8: 100G capable
7: 40G capable
6:2: Reserved
4 04 SPEED ABILITY RO
1: 10PASS-TS/2Base-TL capable
0x0100
0: 10G capable
15:7: Reserved
6: TC present
5: DTE XS present
DEVICES IN 4: PHY XS present
5 05 PKG1
RO
3: PCS present (default: 1)
0x0008
2: WIS present
1: PMD/PMA present
0: Clause 22 registers present
69
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Notes:
Bits 5:0 are fixed to 100000 for 100GBase-R.
Bits 11,10 are not relevant and always 0
9- 09 -
Reserved 0
13 0d
16 - 10 -
Reserved 0
31 1F
15:13: Reserved
12: Receive link status. 1=Link up, 0=link down.
BASE-R
32 20 STATUS 1
RO 11:2: Reserved 0
1: High BER. 1=PCS reporting a high BER.
0: Block lock. 1=PCS locked to received blocks.
15: Latched block lock. (LL)
14: Latched high BER. (LH)
13:8: BER counter. (NR)
7:0: Errored blocks counter. (NR)
BASE-R
33 21 STATUS 2
ROR Note: clear of counters and latches can take several 0
reg_clk cycles after the register has been read (clock
domain crossing into cgmii_rx_clk).
Note: the BER counter is updated only once every BER
measurement period.
34 - 22 -
Reserved 0
41 29
15:8: Reserved
BASE-R TEST
42 2a CONTROL
RW 7: Scrambled idle test-pattern enable. 0
6:0: Reserved
BASE-R TEST
43 2b ERR CNT
ROR Test-pattern error counter. (NR) 0
70
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
BER HIGH
44 2c ORDER CNT
RO 15:0: Bits 21:6 of BER counter. (NR) 0
15:12: Reserved
11: Lane 19 block lock
10: Lane 18 block lock
9: Lane 17 block lock
8: Lane 16 block lock
MULTI-LANE 7: Lane 15 block lock (also 1-lane modes lane 3)
51 33 ALIGN STATUS RO 6: Lane 14 block lock 0
2 5: Lane 13 block lock
4: Lane 12 block lock
3: Lane 11 block lock
2: Lane 10 block lock (also 1-lane modes lane 2)
1: Lane 9 block lock
0: Lane 8 block lock
15:8: Reserved
7: Lane 7 alignment marker lock
6: Lane 6 alignment marker lock
MULTI-LANE 5: Lane 5 alignment marker lock
52 34 ALIGN STATUS RO 4: Lane 4 alignment marker lock 0
3 3: Lane 3 alignment marker lock
2: Lane 2 alignment marker lock
1: Lane 1 alignment marker lock
0: Lane 0 alignment marker lock
71
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
15:12: Reserved
11: Lane 19 alignment marker lock
10: Lane 18 alignment marker lock
9: Lane 17 alignment marker lock
8: Lane 16 alignment marker lock
MULTI-LANE 7: Lane 15 alignment marker lock
53 35 ALIGN STATUS RO 6: Lane 14 alignment marker lock 0
4 5: Lane 13 alignment marker lock
4: Lane 12 alignment marker lock
3: Lane 11 alignment marker lock
2: Lane 10 alignment marker lock
1: Lane 9 alignment marker lock
0: Lane 8 alignment marker lock
54 - 36 -
Reserved 0
199 c7
72
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
220
dc-
- Reserved
18f
399
73
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
74
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
32784 8010 PCS_MODE RW PCS options configuration. See Table 24 page 76. 0
75
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Reset
Bits Name Description Type
Value
76
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
PCS status.
1 01 STATUS 1 RO
See Table 26 page 83.
0
15:5 Reserved
CH0,2:
4: 25G capable
0x0015
SPEED 3: 100G capable
4 04 ABILITY
RO
2: 40G capable
CH1,3:
1: 10PASS-TS/2Base-TL capable
0x0011
0: 10Geth capable
15:7: Reserved
6: TC present
5: DTE XS present
DEVICES IN 4: PHY XS present
5 05 PKG1
RO
3: PCS present (default: 1)
0x0008
2: WIS present
1: PMD/PMA present
0: Clause 22 registers present
77
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Notes:
Bit 11 can indicate serdes interface decoupling buffer
over/underflow occurences if such buffer exists in the
implementation.
Bit 10 is not relevant and always 0
9 - 13 9 - 0D Reserved 0
16 - 10 –
Reserved 0
19 13
78
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
15:12 : Reserved
11: 25GBASE-R deep sleep supported if 1 (RO)
10: 25GBASE-R fast wake supported if 1 (RO)
9: 40GBASE-R deep sleep supported if 1 (RO)
8: 40GBASE-R fast wake supported if 1 (RO)
7: reserved
6: 10GBASE-KR EEE support (RO) CH0,2:
1 = EEE is supported for 10GBASE-KR 0x0541
EEE control RO,
20 14 and capability RW 0 = EEE is not supported for 10GBASE-KR
5..1: n.a., all 0 CH1,3:
0: LPI_FW (RW) 0x0440
1 = Fast wake mode is used for LPI function
0 = Deep sleep is used for LPI function
Note: Bit 0 can be set in any mode disabling the EEE
statemachines. Even for 10G then it is possible to
transfer LPI sequences without powering down the PCS.
21 15 Reserved 0
79
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
15:8: Reserved.
7: Select Random Idle test pattern (40G)
6:4: reserved
3: Transmit test-pattern enable.
2: Receive test-pattern enable.
1: Select Square Wave (1) or Pseudo Random (0) test
pattern.
0: Data Pattern Select: 1=all Zero, 0=2x Local Fault.
BASE-R TEST
42 2A CONTROL
RW 0
Notes:
To enable test patterns Bits 2,3 need to be set.
Pattern select Bit 7 takes precedence over Bits 1,0.
When set, the Bits 0,1 settings are ignored.
Bits 0,1 are for 10Geth mode of operation affecting
only lane 0.
Bit 1 (Square Wave) is only a transmitter test and
affects only lane 0.
BASE-R TEST
43 2B ERR CNT
ROR Test-pattern error counter. (NR) 0
BER HIGH
44 2C ORDER CNT
RO 15:0: Bits 21:6 of BER counter. (NR) 0
ERR BLK 15: High order counter present. Always 1, writes ignored.
45 2D HIGH ORDER RO 14: Reserved. Always 0, writes ignored. 0x8000
CNT 13:0: Bits 21:8 of errored blocks counter. (NR)
46 - 2E -
Reserved 0
49 31
15:13: Reserved
12: Lane alignment status. 1=All Receive lanes locked
and aligned.
11:4: Reserved
MULTI-LANE
3: Lane 3 block lock
50 32 ALIGN RO
2: Lane 2 block lock
0
STATUS 1
1: Lane 1 block lock
0: Lane 0 block lock
Note: Bits 3:0 are relevant only on Channels 0 and 2
when operating in 40/50G mode.
MULTI-LANE
51 33 ALIGN RO reserved 0
STATUS 2
80
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
15:4: Reserved
MULTI-LANE 3: Lane 3 alignment marker lock
52 34 ALIGN RO 2: Lane 2 alignment marker lock 0
STATUS 3 1: Lane 1 alignment marker lock
0: Lane 0 alignment marker lock
MULTI-LANE
53 35 ALIGN RO reserved 0
STATUS 4
54 - 36 –
Reserved 0
199 C7
204 CC
BIP ERR CNT
.. .. ROR reserved 0
LANE 4 .. 19
219 DB
220- DC-
Reserved 0
399 18F
81
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
CORE_
32769 8001 RO Always 0. 0
REVISION
A 16-bit value defining the amount of data between
markers. (I.e. distance of markers-1)
Following values are valid:
FEC91 not enabled: (64*n)-1; 63, 1023, 16383.
FEC91 enabled: (80*n)-1; 159, 1279, 20479.
The value 16383 is the IEEE standard distance when
operating in 40G. The value 20479 is standard for
25G/50G modes operating with RS-FEC.
The setting from each PCS applies to a single lane only
(PCS0 to lane 0, PCS1 to lane 1, ...) and does not CH0,2:
consider the mode of operation. That is, when 40G mode 16383
32770 8002 VL_INTVL RW over 4 lanes is active, all the four VL_INTVL of PCS0..3
must be initialized to the same value. When a PCS CH1,3:
operates in 50G mode, the corresponding VL_INTVL of 20479
PCS0,1 or PCS2,3 must be set to the same value.
When the 100G PCS is active none of the PCS0..3
settings have an effect, but instead the 100G PCS has its
own VL_INTVL register, which then applies to all lanes.
Note: The application is responsible for initialization of
the correct setting when the operational mode changed.
In addition, when values less 16383 are set, it also
configures the internal hi-ber timer to operate with a
shorter window of 12.5µs instead 1.25ms (Clause 82) or
125µs (Clause 49).
Bits 3:0: A 4-bit value to define the transmit line
decoupling FIFOs almost full threshold. Valid values are
4..9.
Lower values result in lower latency but require a higher
system clock (ref_clk) to avoid the risk of buffer
TX_LANE_ underflows that would lead to transmit data corruption.
32771 8003 RW 7
THRESH If a too low value is set and a FIFO underflow occurs the
PCS Status 2 register bit 11 (tx error) is set.
Note: when the Transmit FIFOs experience
over/underflow they are automatically resetting itself.
Note: Not used. Threshold settings should be done in the
100G PCS TX_LANE_THRESH.
This register is unused in this implementation. RXLAUI CH0,2:
modes are configured with the configuration pins 0x0D80
RXLAUI_
32772 8004 RW rxlaui_ena_in0/2 (see 5 page 24).
CONFIG
Note: Exists only for Channels 0 and 2. Bits 11:0 are CH1,3
writeable but have no effect on any function. 0
32773 8005
.. .. reserved RO 0
32775 8007
82
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
83
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
*Note: Bits 8..11 are implemented only if the Energy-Efficient-Ethernet (EEE) option is enabled in
synthesis. They are reserved (always 0) otherwise.
Note: This Register definition applies only to the four Channel specific PCS modules.
Table 27: 10..50G PCS Vendor PCS_MODE Register
Reset
Bits Name Description Type
Value
When cleared (0) the PCS uses the Clause 82
encoder/decoder functions implementing XLGMII to
the MAC (i.e. 8-byte granularity).
When set (1) the PCS uses the Clause 49
0 ENA_CLAUSE49 encoder/decoder functions implementing a 64-bit 1 RW
XGMII to the MAC (i.e. 4-byte granularity).
Note: The toplevel input pcs_cl49 (if such exists) is
OR'ed with this control bit. Hence if the external
control pin should be used the register bit should be 0.
84
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
85
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
RS-FEC Registers
86
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
87
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
136 88 reserved RO 0
137 89 reserved RO 0
88
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
89
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
Notes:
The toplevel input fec91_ena_in(x) is
OR'ed with this control bit. Hence if the
external control bit should be used the
2 RS-FEC Enable register bit should be written with 0. 0
This bit is used per serdes lane rather than
per channel. If for 100G channel the RS
FEC mode to be set, then RS-FEC bit for
all four RS-FEC control registers is to be
set. If for 50G channel over serdes lanes 0
an 1 the RS FEC mode to be set, then the
RS-FEC Enable bit of RS-FEC control
register for channel 0 and 1 is to be set.
3..7 reserved
Notes:
90
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
15:11 reserved RO 0
Reset
Bits Register Name Description Type
value
Indicates existence of the receive correction
bypass option. The bypass function allows a
RS-FEC bypass correction reduced latency operation at the cost of being
0 RO 0
ability unable to correct receive errors.
Note: option not supported.
3..7 reserved RO 0
12..13 reserved RO 0
91
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
8 .. 15 reserved RO 0
0 reserved RO 0
1 reserved RO 0
92
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
3 reserved RO 0
11:7 reserved RO 0
93
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
22.3.5 RS-FEC Vendor Info 1 Register
11 reserved RO 0
94
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
22.3.6 RS-FEC Vendor Info 2 Register
15:8 reserved RO 0
95
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
23 References
[1] IEEE 802.3-2015 Edition
[2] IEEE 802.3by, Standard for Ethernet Amendment: Media Access Control Parameters. Physical
Layers and Management Parameters for 25 Gb/s Operation.
[3] 25G/50G Ethernet Consortium, Schedule 3 25G&50G Specification, Version 1.6, Aug. 2015.
[4] IEEE 802.3bj - August 2014
[5] IEEE 802.3cd, Amendment: Media Access Control Parameters for 50 Gb/s and Physical
Layers and Management Parameters for 50 Gb/s, 100 Gb/s, and 200 Gb/s Operation;
Draft 1.2; Feb. 2017.
24 Document History
Version Changes
1.0, Apr '15 Initial (based on 1.2.1 4/14)
- added memory interfaces.
- added PCS100 PCS_MODE special vendor register
1.1, Apr '15 - added 25G and 40G marker tables
1.2 June ‘15 - added pacer_10g(3:0) input pin
1.3 July `15 - Added HI_BER25 (bit 2) in 10..50G PCS Vendor PCS_MODE
Register (32784), to set different Hi-BER measurement windows
depending on the operation mode
1.7 Dec. '15 Doc aligned to 1.7.
- Added “Software Reset Usage” subchapter (5.3)
- PCS 100G Vendor Specific Register CORE_REVISION redefined
- PCS 10..50G Vendor Specific Register CORE_REVISION redefined
- PCS 10..50G Vendor Specific Register TX_LANE_THRESH redefined
- PCS 100G TX_LANE_THRESH register’s reset value changed
- RS-FEC Status register’s reset value changed
- Description of PCS registers VL_INTVL updated to reflect mode
independence
- 25/50 Consortium Draft 1.6 update now using same markers for 25G
RSFEC as IEEE hence no separated Table 11 needed any more
- Updated PCS Registers Control1(#0), Speed Ability (#4), Control2 (#7),
Status2 (#8), VL0_0 (0x8008), VL0_1 (0x8009) reflecting 25G updates
- Updated PCS EEE Control&Capability register (#20) allowing Fast-
Wake bit 0 write for all modes and indicate 25G fast-wake support.
- removed write support for PCS Control2 register
- Added RSFEC Vendor Registers DecoderThreshold0..3
1.8 March ‘16 New configuration pins for 100G mode added:
- scramble_bypass_100g
- descr_bypass_100g
1.9 July’16 New configuration pin for 10G single lane mode low latency added:
fast_1lane_mode(3:0)
96
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
97
Confidential
UNH Member
4 Channel 100G Ethernet Multirate PCS Mapper
with RS-FEC
Reference Guide
Version 3.2 - March 2017
25 Contact
MorethanIP GmbH
Muenchner Str. 199
85757 Karlsfeld
Germany
98
Confidential
UNH Member