3.4.1.3. LL 40GBASE-KR4 Registers
Most LL 40GBASE-KR4 registers are 10GBASE-KR PHY registers of the Arria 10 10GBASE-KR PHY IP core, documented in the Arria 10 Transceiver PHY User Guide. Exceptions are:
- The register offsets of the 10GBASE-KR PHY registers are offset by negative 0x400 in the LL 40GBASE-KR4 variations of the LL 40-100GbE IP core. The Arria 10 10GBASE-KR PHY IP core registers begin at offset 0x4B0. In the LL 40GBASE-KR4 IP core, these registers begin at offset 0x0B0.
- The LL 40GBASE-KR4 variations of the LL 40-100GbE IP core have additional 40GBASE-KR4 related registers and register fields.
- The FEC error insertion feature requires that you program some Arria 10 device registers through the Arria 10 dynamic reconfiguration interface. The FEC error count is collected in other Arria 10 device registers that you access through the Arria 10 dynamic reconfiguration interface. You access the relevant Arria 10 device registers at offsets 0xBD through 0xE3 for Lane 0, 0x4BD through 0x4E3 for Lane 1, 0x8BD through 0x8E3 for Lane 2, and 0xCBD through 0xCE3 for Lane 3. The descriptions of the LL 40GBASE-KR4 registers that depend on these Arria 10 device registers provide the individual A10 register information.
For your convenience, the LL 40-100GbE IP core user guide includes an appendix with the 10GBASE-KR PHY register descriptions: Arria 10 10GBASE-KR Registers.
Address |
Name |
Bit |
Description |
HW Reset Value |
Access |
---|---|---|---|---|---|
0x0B0 |
SEQ Force Mode[3:0] | [7:4] | Forces the sequencer to a specific protocol. Must write the Reset SEQ bit (bit [0]) to 1 for the Force to take effect. The following encodings are defined:
|
4'b0 | RW |
Enable Arria 10 Calibration | [8] | When set to 1, it enables the Arria 10 HSSI reconfiguration calibration as part of the PCS dynamic reconfiguration. 0 skips the calibration when the PCS is reconfigured. | 1'b1 | RW | |
LT Failure Response | [12] | When set to 1, LT failure causes the PHY to go into data mode. When set to 0, LT failure restarts auto-negotiation (if enabled). If auto-negotiation is not enabled, the PHY will restart LT. | 1'b1 in simulation; 1'b0 in hardware | RW | |
Reserved | [17] | Reserved Access FEC error indication selection using the Arria 10 dynamic reconfiguration interface. Refer to the descriptions of register 0xB2. |
|||
Reserved | [19] |
Reserved | |||
0x0B1 | SEQ Reconfig Mode[5:0] | [13:8] | Specifies the Sequencer mode for PCS reconfiguration. The following modes are defined:
|
||
FEC Block Lock | [23:20] | FEC Block Lock for lanes [3:0]: bit [20] is FEC block lock for lane 0, bit [21] is FEC block lock for lane 1, bit [22] is FEC block lock for lane 2, and bit [23] is FEC block lock for lane 3. |
4'b0 | RO | |
0xB2 | KR FEC TX Error Insert, Lane 0 | 11 | Writing a 1 inserts one error pulse into the TX FEC for lane 0, depending on the Transcoder and Burst error settings for lane 0. You must select these settings through the Arria 10 dynamic reconfiguration interface to the Arria 10 device registers before you write a 1 to the KR FEC TX Error Insert, Lane 0 bit. To select these settings for Lane 0, perform a read-modify-write operation sequence at register offset 0xBD. You select a Transcoder error by setting the transcode_err bit, resetting the burst_err bit, resetting the burst_err_len field, and leaving the remaining bits at their previous values. You select a Burst error by setting the burst_err bit, specifying the burst error length in the burst_err_len field, resetting the transcode_err bit, and leaving the remaining bits at their previous values. |
1'b0 | RWSC |
RCLR_ERRBLK_CNT, Lane 0 | 12 | Writing a 1 resets the error block counters.Writing a 0 causes counting to resume. Each lane has a 32-bit corrected error block counter and a 32-bit uncorrected error block counter in the Arria 10 device registers. Refer to Clause 74.8.4.1 and Clause 74.8.4.2 of IEEE Std 802.3ap-2007. For Lane 0, the corrected error block counter is in the Arria 10 device registers you access through the Arria 10 dynamic reconfiguration interface at offsets 0xDC to 0xDF: blkcnt_corr[31:0] is in {0xDF[7:0],0xDE[7:0],0xDD[7:0],0xDC[7:0]}. For Lane 0, the uncorrected error block counter is in the Arria 10 device registers you access through the Arria 10 dynamic reconfiguration interface at offsets 0xE0 to 0xE3: blkcnt_uncorr[31:0] is in {0xE3[7:0],0xE2[7:0],0xE1[7:0],0xE0[7:0]}. |
RW | ||
Reserved | [31:13] | Reserved | |||
0x0B5 |
Register 0xB2 refers to Lane 0. This register is the equivalent of register 0xB2 for Lane 1. The relevant FEC error Arria 10 device registers for Lane 1 are at 0x4BD through 0x4E3 (additional offset of 0x400). | RW |
|||
0x0B8 |
This register is the equivalent of register 0xB2 for Lane 2. The relevant FEC error Arria 10 device registers for Lane 2 are at 0x8BD through 0x8E3 (additional offset of 0x800 compared to the Lane 0 device registers). | RW |
|||
0x0BB |
This register is the equivalent of register 0xB2 for Lane 3. The relevant FEC error Arria 10 device registers for Lane 3 are at 0xCBD through 0xCE3 (additional offset of 0xC00 compared to the Lane 0 device registers). | RW |
|||
0x0C0 |
Override AN Channel Enable | [6] | Overrides the auto-negotiation master channel that you set with the Auto-Negotiation Master parameter, setting the new master channel according to the value in register 0xCC[3:0]. While 0x0C0[6] has the value of 1, the channel encoded in 0xCC[3:0] is the master channel. While 0xC0[6] has the value of 0, the master channel is the channel that you set with the Auto-Negotiation Master parameter. |
1'b0 | RW |
0x0C2 | KR4 AN Link Ready [5:0] | [17:12] | Provides a one-hot encoding of an_receive_idle = true and link status for the supported link as described in Clause 73.10.1. The following encodings are defined:
The only valid value for the LL 40GBASE-KR4 IP core is 6'b001000: 40GBASE-KR4. |
6'b001000 | RO |
0x0CB |
AN LP ADV Tech_A[24:0] | [24:0] | Received technology ability field bits of Clause 73 Auto Negotiation. The following protocols are defined:
The only valid value for the LL 40GBASE-KR4 IP core is A3: 40GBASE-KR4.. For more information, refer to Clause 73.6.4 and AN LP base page ability registers (7.19-7.21) of Clause 45 of IEEE 802.3ap-2007. |
25'b0 | RO |
0x0CC |
Override AN Channel Select | [3:0] | If you set the value of the Override AN Channel Enable register field (0xC0[6]) to the value of 1, then while 0xC0[6] has the value of 1, the value in this register field (0xCC[3:0])overrides the master channel you set with the Auto-Negotiation Master parameter. This register field has the following valid values:
All other values are invalid. The new master channel is encoded with one-hot encoding. |
4'b0 | RW |
0x0D0 | Reserved | [3:2] | Reserved | ||
Ovride LP Coef Enable | [16] | When set to 1, overrides the link partner's equalization coefficients; software changes the update commands sent to the link partner TX equalizer coefficients. When set to 0, uses the Link Training logic to determine the link partner coefficients. Used with 0x0D1 bits [7:4] and bits[7:0] of 0x0D4 through 0x0D7. | 1'b0 | RW | |
Ovride Local RX Coef Enable | [17] | When set to 1, overrides the local device equalization coefficients generation protocol. When set, the software changes the local TX equalizer coefficients. When set to 0, uses the update command received from the link partner to determine local device coefficients. Used with 0x0D1 bits [11:8] and bits[23:16] of 0x0D4 through 0x0D7. | 1'b0 | RW | |
Reserved | [31:22] | Reserved | |||
0x0D1 |
Restart Link training, Lane 1 | [1] | When set to 1, resets the 40GBASE-KR4 start-up protocol. When set to 0, continues normal operation. This bit self clears. Refer to the state variable mr_restart_training as defined in Clause 72.6.10.3.1 and 10GBASE-KR PMD control register bit (1.150.0) in IEEE Std 802.3ap-2007. Register bit 0xD1[0] refers to Lane 0. This bit is the equivalent of register 0xD1[0] for Lane 1. |
1'b0 | RW SC |
Restart Link training, Lane 2 | [2] | This bit is the equivalent of register 0xD1[0] for Lane 2. |
1'b0 | RW SC |
|
Restart Link training, Lane 3 | [3] | This bit is the equivalent of register 0xD0[1] for Lane 3. |
1'b0 | RW SC |
|
0x0D1 |
Updated TX Coef new, Lane 1 | [5] | When set to 1, indicates that new link partner coefficients are available to send. The LT logic starts sending the new values set in 0xD4[7:0] to the remote device. When set to 0, continues normal operation. This bit self clears. This override of normal operation can only occur if 0xD0[16] (Ovride LP Coef enable) has the value of 1. If 0xD0[16] has the value of 0, this register field (0xD1[5]) has no effect. Register bit 0xD1[4] refers to Lane 0. This bit is the equivalent of register 0xD1[4] for Lane 1. |
1'b0 | RW SC |
Updated TX Coef new, Lane 2 | [6] | This bit is the equivalent of register 0xD1[5] for Lane 2. |
1'b0 | RW SC |
|
Updated TX Coef new, Lane 3 | [7] | This bit is the equivalent of register 0xD1[5] for Lane 3. |
1'b0 | RW SC |
|
0x0D1 |
Updated RX Coef new, Lane 1 | [9] | When set to 1, indicates that new local device coefficients are available for Lane 1. The LT logic changes the local TX equalizer coefficients as specified in 0xE1[23:16]. When set to 0, continues normal operation. This bit self clears. This override of normal operation can only occur if 0xD0[17] (Ovride Local RX Coef enable) has the value of 1. If 0xD0[17] has the value of 0, this register field (0xD1[9]) has no effect. Register bit 0xD1[8] refers to Lane 0. This bit is the equivalent of register 0xD1[8] for Lane 1. |
1'b0 | RW |
Updated RX Coef new, Lane 2 | [10] | When set to 1, indicates that new local device coefficients are available for Lane 2. The LT logic changes the local TX equalizer coefficients as specified in 0xE5[23:16]. When set to 0, continues normal operation. This bit self clears. This override of normal operation can only occur if 0xD0[17] (Ovride Local RX Coef enable) has the value of 1. This bit is the equivalent of register 0xD1[9] for Lane 2. |
1'b0 | RW |
|
Updated RX Coef new, Lane 3 | [11] | When set to 1, indicates that new local device coefficients are available for lane 3. The LT logic changes the local TX equalizer coefficients as specified in 0xE9[23:16]. When set to 0, continues normal operation. This bit self clears. This override of normal operation can only occur if 0xD0[17] (Ovride Local RX Coef enable) has the value of 1. This bit is the equivalent of register 0xD1[9] for Lane 3. |
1'b0 | RW |
|
0x0D2 |
Reserved | [7:6] | Reserved | ||
[13:8] | Register bits 0xD2[5:0] refer to Lane 0. These bits are the equivalent of 0xD2[5:0] for Lane 1. For Link Training Frame lock Error, Lane 1, if the tap settings specified by the fields of 0xE2 are the same as the initial parameter value, the frame lock error was unrecoverable. |
RO |
|||
[21:16] | These bits are the equivalent of 0xD2[5:0] for Lane 2. For Link Training Frame lock Error, Lane 2, if the tap settings specified by the fields of 0xE6 are the same as the initial parameter value, the frame lock error was unrecoverable. |
RO |
|||
[29:24] | These bits are the equivalent of 0xD2[5:0] for Lane 3. For Link Training Frame lock Error, Lane 3, if the tap settings specified by the fields of 0xEA are the same as the initial parameter value, the frame lock error was unrecoverable. |
RO |
|||
0x0D4 | LD coefficient update[5:0], Lane 0 | [5:0] | Reflects the contents of the first 16-bit word of the training frame sent to Lane 0 from the local device control channel. Normally, the bits in this register are read-only; however, when you override training by setting the Ovride LP Coef enable control bit (0x0D0 bit [16]), these bits become writeable. The following fields are defined:
Before you can send these bits, you must enable the override in 0x0D0 bit [16] and also signal a new word in 0x0D1 bit [4]. For more information, refer to bit 10G BASE-KR LD coefficient update register bits (1.154.5:0) in Clause 45.2.1.80.3 of IEEE 802.3ap-2007. |
RO/RW | |
LP Coefficient Update[5:0], Lane 0 | [21:16] | Reflects the contents of the first 16-bit word of the training frame most recently received on Lane 0 from the control channel. Normally the bits in this register are read only; however, when training is disabled by setting low the Link Training enable control bit (bit 0 at offset 0xD0), these bits become writeable. The following fields are defined:
Before you can send these bits, you must enable the override in 0x0D0 bit [17] and also signal a new word in 0x0D2 bit [8]. For more information, refer to bit 10G BASE-KR LP coefficient update register bits (1.152.5:0) in Clause 45.2.1.78.3 of IEEE 802.3ap-2007. |
|||
0x0D5 | Reserved | [31:21] | Reserved | ||
0x0D6 | LT VODMAX ovrd, Lane 0 | [4:0] | Override value for the VMAXRULE parameter on Lane 0. When enabled, this value substitutes for the VMAXRULE to allow channel-by-channel override of the device settings. This only effects the local device TX output for the channel specified. This value must be greater than the INITMAINVAL parameter for proper operation. Note this will also override the PREMAINVAL parameter value. |
0x1C (28 decimal) for simulation; 0 for compilation | RW |
LT VODMAX ovrd Enable, Lane 0 | [5] | When set to 1, enables the override value for the VMAXRULE parameter stored in the LT VODMAX ovrd, Lane 0 register field. | 1 for simulation; 0 for compilation | RW | |
LT VODMin ovrd, Lane 0 | [12:8] | Override value for the VODMINRULE parameter on Lane 0. When enabled, this value substitutes for the VMINRULE to allow channel-by-channel override of the device settings. This override only effects the local device TX output for this channel. The value to be substituted must be less than the INITMAINVAL parameter and greater than the VMINRULE parameter for proper operation. |
0x19 (25 decimal) for simulaton; 0 for compilation | RW | |
LT VODMin ovrd Enable, Lane 0 | [13] | When set to 1, enables the override value for the VODMINRULE parameter stored in the LT VODMin ovrd, Lane 0 register field. | 1 for simulation; 0 for compilation | RW | |
LT VPOST ovrd, Lane 0 | [21:16] | Override value for the VPOSTRULE parameter on Lane 0. When enabled, this value substitutes for the VPOSTRULE to allow channel-by-channel override of the device settings. This override only effects the local device TX output for this channel. The value to be substituted must be greater than the INITPOSTVAL parameter for proper operation. |
6 for simulation; 0 for compilation | RW | |
LT VPOST ovrd Enable, Lane 0 | [22] | When set to 1, enables the override value for the VPOSTRULE parameter stored in the LT VPOST ovrd, Lane 0 register field. | 1 for simulation; 0 for compilation | RW | |
LT VPre ovrd, Lane 0 | [28:24] | Override value for the VPRERULE parameter on Lane 0. When enabled, this value substitutes for the VPOSTRULE to allow channel-by-channel override of the device settings. This override only effects the local device TX output for this channel. The value to be substituted must be greater than the INITPREVAL parameter for proper operation. |
4 for simulation; 0 for compilation | RW | |
LT VPre ovrd Enable, Lane 0 | [29] | When set to 1, enables the override value for the VPRERULE parameter stored in the LT VPre ovrd, Lane 0 register field. | 1 for simulation; 0 for compilation | RW | |
0xE0 |
Register 0xD3 refers to Lane 0. This register, register 0xE0, is the equivalent of register 0xD3 for Lane 1 link training. |
RW |
|||
0xE1 |
Register 0xD4 refers to Lane 0. This register, register 0xE1, is the equivalent of register 0xD4 for Lane 1 link training. |
RW |
|||
0xE2 |
Register 0xD5 refers to Lane 0. This register, register 0xE2, is the equivalent of register 0xD5 for Lane 1 link training. |
RO |
|||
0xE3 |
Register 0xD6 refers to Lane 0. This register, register 0xE3, is the equivalent of register 0xD6 for Lane 1 link training.. |
RW |
|||
0xE4 |
This register is the equivalent of register 0xD3 for Lane 2 link training. |
RW |
|||
0xE5 |
This register is the equivalent of register 0xD4 for Lane 2 link training. |
R / RW |
|||
0xE6 |
This register is the equivalent of register 0xD5 for Lane 2 link training. |
RO |
|||
0xE7 |
This register is the equivalent of register 0xD6 for Lane 2 link training. |
RW |
|||
0xE8 |
This register is the equivalent of register 0xD3 for Lane 3 link training. |
RW |
|||
0xE9 |
This register is the equivalent of register 0xD4 for Lane 3 link training. |
R / RW |
|||
0xEA |
This register is the equivalent of register 0xD5 for Lane 3 link training. |
RO |
|||
0xEB |
This register is the equivalent of register 0xD6 for Lane 3 link training. |
RW |