SCI¶
Lattice Semiconductor ECP5/ECP5-5G SerDes Client Interface (SCI).
- class bakeneko.interface.phy.serdes.vendor.lattice.ecp5.sci.SCI None ¶
Lattice Semiconductor ECP5/ECP5-5G devices have something called the SerDes Client Interface or SCI. It is an interface accessibkle from the FPGA fabric to allow for configuring and inspecting the status of a
DCU
and it’s channels.
Register definitions for the Lattice ECP5 SerDes Client Interface (SCI).
- class bakeneko.interface.phy.serdes.vendor.lattice.ecp5.sci.registers.DCURegister(value)¶
DCU Control/Status registers as defined in Lattice Technical Note FPGA-TN-02206.
- DL_00 = 0¶
## PCS Control Register 1
Bits
Name
Description
Type
Default
3:0
Reserved
R/W
0b0
4
xge_mode
1 - Select 10GbE (Different XAUI LSM and 8b10b) 0 - Depends on Channel Mode selection
R/W
5
char_mode
1 - Enable SerDes characterization mode 0 - Disable SerDes characterization mode
R/W
0b0
6
force_int
1 - Force generation of an interrupt 0 - Normal operation
R/W
0b0
7
reg_sync_toggle
Trans - Reset TX Serializers to minimize lane skew Level - Normal operation
R/W
0b0
- DL_02 = 2¶
## PCS Control Register 3
Bits
Name
Description
Type
Default
3:0
low_mark
Clock compensation FIFO low water mark, mean is 8
R/W
0b0101
7:4
high_mark
Clock compensation FIFO high water mark, mean is 8
R/W
0b0101
- DL_03 = 3¶
## PCS Control Register 4
Bits
Name
Description
Type
Default
1:0
Reserved
2
pfifo_clr_sel
1 - pfifo_clr signal/channel bit clears FIFO 0 - pfifo_error signal clears FIFO
R/W
0b0
7:3
Reserved
R/W
0b0
- DL_09 = 9¶
## PCS Interrupt Control Register 10
Bits
Name
Description
Type
Default
0
ls_sync_statusn_0_int_ctrl
1 - Enable interrupt for ls_sync_statusn_0 on OoS 0 - Disable interrupt for ls_sync_statusn_0 on OoS
R/W
0b0
1
ls_sync_statusn_1_int_ctrl
1 - Enable interrupt for ls_sync_statusn_1 on OoS 0 - Disable interrupt for ls_sync_statusn_1 on OoS
R/W
0b0
2:3
Reserved
4
ls_sync_status_0_int_ctrl
1 - Enable interrupt for ls_sync_status_0 on In Sync 0 - Disable interrupt for ls_sync_status_0 on In Sync
R/W
0b0
5
ls_sync_status_1_int_ctrl
1 - Enable interrupt for ls_sync_status_1 on In Sync 0 - Disable interrupt for ls_sync_status_1 on In Sync
R/W
0b0
6:7
Reserved
- DL_0A = 10¶
## SerDes Control Register 1
Bits
Name
Description
Type
Default
0
refck_out_sel[0]
1 - rx_refck_local output enabled 0 - rx_refck_local output disabled
R/W
0b00
1
refck_out_sel[1]
1 - refck_to_core output enabled 0 - refck_to_core output disabled
R/W
0b00
2
Reserved
3
refck_rterm
1 - REFCLK Termination is 100Ω 0 - REFCLK Terminatino is high impedance
R/W
0b0
4
refck_dcbias_en
1 - Enable internal refclk DC bias 0 - Disable internal refclk DC bias
R/W
0b0
5
tx_refck_sel
1 - TxPLL is ck_core_tx 0 - TxPLL is rx_refck_local
R/W
0b0
6
Reserved
R/W
0b0
7
Internal
- DL_0B = 11¶
## SerDes Control Register 2
Bits
Name
Description
Type
Default
1:0
refck_mode[1:0]
iff
refclk25x
is 0: 00 - Internal bitclock is 20x 01 - Internal bitclock is 10x 10 - Internal bitclock is 16x 11 - Internal bitclock is 8x iffrefclk25x
is 1: xx - Internal bitclock is 25xR/W
0b00
2
refck_to_nd_en
1 - Enable REFCLK to neighbor DCU
R/W
0b0
3
refck_from_nd_sel[0]
1 - Select TX REFCLK from neighbor DCU
R/W
0b0
4
refck_from_nd_sel[1]
1 - Select RX REFCLK from neighbor DCU
R/W
0b0
5
Reserved
6
bus8bit_sel
1 - Select 8-bit bus width 0 - Select 10-bit bus width
R/W
0b0
7
refclk25x
1 - Internal bitclock is 25x (for 100MHz REFCLK only) 0 - Use
refck_mode
R/W
0b0
- DL_0C = 12¶
## SerDes Control Register 4
Bits
Name
Description
Type
Default
1:0
cdr_lol_set[1:0]
00 - ±1000ppm x2 (Lock) ±1500ppm x2 (Unlock) 01 - ±2000ppm (Lock) ±2500ppm (Unlock) 10 - ±4000ppm (Lock) ±7000ppm (Unlock) 11 - ±300ppm (Lock) ±450ppm (Unlock)
R/W
0b00
7:2
Reserved
- DL_0D = 13¶
## SerDes Control Register 4
Bits
Name
Description
Type
Default
2:0
tx_vco_ck_div[2:0]
00x - Divide by 1 01x - Divide by 2 100 - Divide by 4 101 - Divide by 8 110 - Divide by 16 111 - Divide by 32
R/W
0b000
4:3
pll_lol_set[1:0]
00 - ±300ppm x2 (Lock) ±600ppm x2 (Unlock) 01 - ±300ppm (Lock) ±2000ppm (Unlock) 10 - ±1500ppm (Lock) ±2200ppm (Unlock) 11 - ±4000ppm (Lock) ±6000ppm (Unlock)
R/W
0b00
5
Reserved
7:6
Reserved
- DL_0F = 15¶
## SerDes Interrupt Control Register 6
Bits
Name
Description
Type
Default
5:0
Reserved
6
~PLOL_INT_CTRL
1 - Interrupt enabled for lock obtained on PLOL 0 - Interrupt disabled for lock obtained on PLOL
R/W
0b0
7
PLOL_INT_CTRL
1 - Interrupt enabled for loss of lock on PLOL 0 - Interrupt disabled for loss of lock on PLOL
R/W
0b0
- DL_10 = 16¶
## Reset and Clock Control Register 1
Bits
Name
Description
Type
Default
0
trst
1 - Reset TxPLL Loss of Lock
R/W
0b0
1
dcu_rst
1 - Assert DCU Reset
R/W
0b0
2
macro_rst
1 - Assert macro Reset
R/W
0b0
3
macro_pdb
0 - Assert power down
R/W
0b1
4
refclk_pdnb
0 - Power Down REFCLK 1 - Power Up REFCLK
R/W
0b0
5
txpll_pdnb
0 - Power Down TX PLL 1 - Power Up TX PLL
R/W
0b0
6
Reserved
7
Reserved
- DL_20 = 32¶
## PCS Status Register 1
Bits
Name
Description
Type
Interrupt
1:0
int_cha_out[1:0]
Per Channel Interrupt Status
RO
No
3:2
Reserved
4
int_dua_out
Per DCU Interrupt Status
RO
No
5
Spare
Delayed global rstn from tri_ion
RO
No
7:6
Reserved
- DL_21 = 33¶
## PCS Packet Interrupt Status Register 2
Bits
Name
Description
Type
Interrupt
0
ls_sync_statusn_0
1 - Alarm generated on ls_sync_status_0 when OoS 0 - Alarm not generated on ls_sync_status_0 when OoS
RO
Yes
1
ls_sync_statusn_1
1 - Alarm generated on ls_sync_status_1 when OoS 0 - Alarm not generated on ls_sync_status_1 when OoS
RO
Yes
3:2
Reserved
4
ls_sync_status_0
1 - Alarm generated on ls_sync_status_0 when In Sync 0 - Alarm not generated on ls_sync_status_0 when In Sync
RO
Yes
5
ls_sync_status_1
1 - Alarm generated on ls_sync_status_1 when In Sync 0 - Alarm not generated on ls_sync_status_1 when In Sync
RO
Yes
6:7
Reserved
- DL_22 = 34¶
## PCS Packet Interrupt Status Register 3
Bits
Name
Description
Type
Interrupt
0
ls_sync_statusn_0_int
1 - Interrupt generated on ls_sync_status_0 when OoS 0 - Interrupt not generated on ls_sync_status_0 when OoS
RO CR
Yes
1
ls_sync_statusn_1_int
1 - Interrupt generated on ls_sync_status_1 when OoS 0 - Interrupt not generated on ls_sync_status_1 when OoS
RO CR
Yes
3:2
Reserved
4
ls_sync_status_0_int
1 - Interrupt generated on ls_sync_status_0 when In Sync 0 - Interrupt not generated on ls_sync_status_0 when In Sync
RO CR
Yes
5
ls_sync_status_1_int
1 - Interrupt generated on ls_sync_status_1 when In Sync 0 - Interrupt not generated on ls_sync_status_1 when In Sync
RO CR
Yes
7:6
Reserved
- DL_25 = 37¶
## SerDes Interrupt Status Register 1
Bits
Name
Description
Type
Interrupt
5:0
Reserved
6
~plol_sts
1 - PLL lock obtained
RO
Yes
7
plol_sts
1 - PLL Loss of Lock
RO
Yes
- DL_26 = 38¶
## SerDes Interrupt Status Register 2
Bits
Name
Description
Type
Interrupt
5:0
Reserved
6
~plol_int
1 - Interrupt generated on ~PLOL 0 - Interrupt not generated on ~PLOL
RO CR
Yes
7
plol_int
1 - Interrupt generated on PLOL 0 - Interrupt not generated on PLOL
RO CR
Yes
- class bakeneko.interface.phy.serdes.vendor.lattice.ecp5.sci.registers.CHRegister(value)¶
Channel Control/Status registers as defined in Lattice Technical Note FPGA-TN-02206.
- CH_00 = 0¶
## PCS Control Register 1
Bits
Name | Description
Type
Default
0
uc_mode
1 - Selects User Configured Mode 0 - Selects other Mode (PCIe, RapidIO, etc. )
R/W
0b0
1
Reserved
2
pcie_mode
1 - PCIe Mode 0 - Selects other mode (RapidIO, 10GbE, 1GbE)
R/W
0b0
3
rio_mode
1 - Selects Rapid-IO Mode 0 - Selects other mode (10GbE, 1GbE)
R/W
0b0
4
wa_mode
1 - Bit-slip word alignment mode 0 - Barrel shift word alignment mode
R/W
0b0
7:5
Reserved
R/W
0b0
- CH_01 = 1¶
## PCS Control Register 2
Bits
Name
Description
Type
Default
0
invert_rx
1 - Invert received data 0 - Do not invert received data
R/W
0b0
1
invert_tx
1 - Invert transmitted data 0 - Do not invert transmitted data
R/W
0b0
2
Internal
3
Reserved
4
ge_an_enable
1 - Enable GigE Auto-Negotiation 0 - Disable GigE Auto-Negotiation
R/W
0b0
5
Internal
6
Internal
7
enable_cg_align
Only valid when in uc_mode 1 - Enable continuous comma alignment 0 - Disable continuous comma alignment
R/W
0b0
- CH_02 = 2¶
## PCS Control Register 3
Bits
Name
Description
Type
Default
0
tx_ch
1 - Transmit PCS inputs are sourced from test characterization ports.
The test characterization mode should be enabled.
R/W
0b0
1:0
Reserved
2
tx_gear_mode
1 - Enable 2:1 gearing for transmit path on selected channels. 0 - Disable 2:1 gearing for transmit path on selected channels (no gearing)
R/W
0b0
3
rx_gear_mode
1 - Enable 2:1 gearing for receive path on selected channels. 0 - Disable 2:1 gearing for receive path on selected channels (no gearing)
R/W
0b0
5:4
pcs_det_time_sel[1:0]
PCS Connection detection time 11 - 16µs 10 - 04µs 01 - 02µs 00 - 08µs
R/W
0b0
6
pcie_ei_en
1 - PCI Express Electrical Idle 0 - Normal Operation
R/W
0b0
7
pfifo_clr
1 - Clears PFIFO if DCU bit
pfifo_clr_sel
is set to1
. This signal is or-ed with interface signalpfifo_clr
. 0 - Normal OperationR/W
0b0
- CH_03 = 3¶
## PCS Control Register 4
Bits
Name
Description
Type
Default
0
fb_loopback
1 - Enable loopback in the PCS just before the FPGA bridge from RX to TX. 0 - Normal data operation.
R/W
0b0
1
tx_gear_bypass
1 - Bypass PCS Transmission Gearbox 0 - Normal Operation
R/W
0b0
2
Internal
3
enc_bypass
1 - Bypass 8b10b encoder 0 - Normal Operation
R/W
0b0
4
Internal
5
sb_pfifo_lp
1 - Enabled parallel loopback from rx to tx through the parallel FIFO 0 - Normal data operation
R/W
0b0
6
sb_bypass
1 - Invert TX data after SerDes Bridge 0 - Dont invert TX data after SerDes bridge Note: Loopback data is also inverted
R/W
0b0
7
Reserved
- CH_04 = 4¶
## PCS Control Register 5
Bits
Name
Description
Type
Default
0
sb_loopback
1 - Enable loopback in the PCS from TX to RX in the SerDes bridge. 0 - Normal data operation
R/W
0b0
1
rx_sb_bypass
1 - Invert RX data after SerDes bridge 0 - Normal operation
R/W
0b0
2
wa_bypass
1 - Bypass word alignment 0 - Dont invert RX data after SerDes bridge Note: Loopack data is inverted
R/W
0b0
3
dec_bypass
1 - Bypass 8b10b decoder 0 - Normal operation
R/W
0b0
4
ctc_bypass
1 - Bypass clock tolerance compensation 0 - Normal operation
R/W
0b0
5
rx_gear_bypass
1 - Bypass PCS RX Gearbox 0 - Normal operation
R/W
0b0
6
signal_detect
1 - Force enable the RX link state machine 0 - RX link state machine is enabled depending on the setting of
ffc_signal_detect
R/W
0b0
7
lsm_disable
1 - Disable RX link state machine 0 - Enable RX link state machine
R/W
0b0
- CH_05 = 5¶
## PCS Control Register 6
Bits
Name
Description
Type
Default
3:0
Reserved
4
match_2_enable
1 - Enable two character skip matching (using match 4,3)
R/W
0b1
5
match_4_enable
1 - Enable four character skip matching (using 4,3,2,1)
R/W
0b0
7:6
min_ipg_cng[1:0]
Minimum IPG to enforce
R/W
0b11
NOTE: If neither match bit is enabled, signal character skip matching is performed using match 4
- CH_06 = 6¶
## PCS Control Register 7 - CC Match 1 LO
Bits
Name
Description
Type
Default
7:0
cc_match_1[7:0]
Lower pattern of bits for user-defined clock compensator skip pattern #1
R/W
0x00
- CH_07 = 7¶
## PCS Control Register 8 - CC Match 2 LO
Bits
Name
Description
Type
Default
7:0
cc_match_2[7:0]
Lower pattern of bits for user-defined clock compensator skip pattern #2
R/W
0x00
- CH_08 = 8¶
## PCS Control Register 9 - CC Match 3 LO
Bits
Name
Description
Type
Default
7:0
cc_match_3[7:0]
Lower pattern of bits for user-defined clock compensator skip pattern #3
R/W
0x00
- CH_09 = 9¶
## PCS Control Register 10 - CC Match 4 LO
Bits
Name
Description
Type
Default
7:0
cc_match_4[7:0]
Lower pattern of bits for user-defined clock compensator skip pattern #4
R/W
0x00
- CH_0A = 10¶
## PCS Control Register 11 - CC Match HI
Bits
Name
Description
Type
Default
1:0
cc_match_1[9:8]
Upper pattern bits for user defined clock compensator skip pattern #1
Bit 9 - Disparity Error Bit 8 - K Control
R/W
0b00
2:3
cc_match_2[9:8]
Upper pattern bits for user defined clock compensator skip pattern #2
Bit 9 - Disparity Error Bit 8 - K Control
R/W
0b00
4:5
cc_match_3[9:8]
Upper pattern bits for user defined clock compensator skip pattern #3
Bit 9 - Disparity Error Bit 8 - K Control
R/W
0b01
7:6
cc_match_4[9:8]
Upper pattern bits for user defined clock compensator skip pattern #4
Bit 9 - Disparity Error Bit 8 - K Control
R/W
0b01
- CH_0B = 11¶
## PCS Control Register 12 - UDF Comma Mask LO
Bits
Name
Description
Type
Default
7:0
udf_comma_mask[7:0]
Lower bits of user-defined comma mask
R/W
0xFF
- CH_0C = 12¶
## PCS Control Register 13 - UDF Comma A LO
Bits
Name
Description
Type
Default
7:0
udf_comma_a[7:0]
Lower bits of user-defined comma character
a
R/W
0x83
- CH_0D = 13¶
## PCS Control Register 14 - UDF Comma B LO
Bits
Name
Description
Type
Default
7:0
udf_comma_b[7:0]
Lower bits of user-defined comma character
b
R/W
0x7C
- CH_0E = 14¶
## PCS Control Register 15 - UDF Comma HI
Bits
Name
Description
Type
Default
1:0
Reserved
2:3
udf_comma_mask[9:8]
Upper pattern bits for user defined comma mask
Bit 9 - Disparity Error Bit 8 - K Control
R/W
0b11
4:5
udf_comma_a[9:8]
Upper pattern bits for user defined comma character
a
Bit 9 - Disparity Error Bit 8 - K Control
R/W
0b01
7:6
udf_comma_b[9:8]
Upper pattern bits for user defined comma character
b
Bit 9 - Disparity Error Bit 8 - K Control
R/W
0b10
- CH_0F = 15¶
## PCS Control Register 16
Bits
Name
Description
Type
Default
0
fb_tx_fifo_error_int_ctl
1 - Enable interrupt on empty/full condition in the TX FIFO on the FPGA bridge
R/W
0b0
1
fb_rx_fifo_error_int_ctl
1 - Enable interrupt on empty/full condition in the RX FIFO on the FPGA bridge
R/W
0b0
2
cc_overrun_int_ctl
1 - Enable interrupt for cc_overrun 0 - Disable interrupt for cc_overrun
R/W
0b0
3
cc_underrun_int_ctl
1 - Enable interrupt for cc_underrun 0 - Disable interrupt for cc_underrun
R/W
0b0
7:4
Reserved
- CH_10 = 16¶
## SerDes Control Register 1
Bits
Name
Description
Type
Default
0
tpwdnb
1 - Power down transmit channel 0 - Power up transmit channel
R/W
0b0
1
rate_mode_tx
1 - Full rate selection for transmit 0 - Half rate selection for transmit
R/W
0b0
2
tx_div11_sel
1 - Full rate selection for transmit 0 - Divide by 11 selection for transmit
R/W
0b0
3
ldr_core2tx_sel
1 - Select low-speed serial data from FPGA Core
R/W
0b0
4
tdrv_pre_en
1 - TX Driver pre-emphasis enable 0 - TX Driver pre-emphasis disable
R/W
0b0
5
tdrv_post_en
1 - TX Driver post-emphasis enable 0 - TX Driver post-emphasis disable
R/W
0b0
6
tx_pre_sign
1 - TX pre-emphasis not inverted 0 - TX pre-emphasis inverted
R/W
0b0
7
tx_post_sign
1 - TX post-emphasis not inverted 0 - TX post-emphasis inverted
R/W
0b0
- CH_11 = 17¶
## SerDes Control Register 2
Bits
Name
Description
Type
Default
4:0
rterm_tx[4:0]
TX Resistor termination select. Disabled in PCIe Mode. 00000 - 5kΩ 00001 - 80Ω 00100 - 75Ω 00110 - 70Ω 01011 - 60Ω 10011 - 50Ω 11001 - 46Ω NOTE: Other values reserved
R/W
0b0000
5:6
tx_cm_sel[1:0]
Select output common mode voltage. 00 - Power Down 01 - 0.60V 10 - 0.55V 11 - 0.50V
R/W
0b00
7
Internal
- CH_12 = 18¶
## SerDes Control Register 3
Bits
Name
Description
Type
Default
1:0
tdrv_slice0_sel[1:0]
TX Drive slice enable for slice 0 00 - Power Down 01 - Select Main Data 10 - Select Pre Data 11 - Select Post Data
R/W
0b00
3:2
tdrv_slice1_sel[1:0]
TX Drive slice enable for slice 1 00 - Power Down 01 - Select Main Data 10 - Select Pre Data 11 - Select Post Data
R/W
0b00
5:4
tdrv_slice2_sel[1:0]
TX Drive slice enable for slice 2 00 - Power Down 01 - Select Main Data 10 - Select Pre Data 11 - Select Post Data
R/W
0b00
7:6
tdrv_slice3_sel[1:0]
TX Drive slice enable for slice 3 00 - Power Down 01 - Select Main Data 10 - Select Pre Data 11 - Select Post Data
R/W
0b00
- CH_13 = 19¶
## SerDes Control Register 4
Bits
Name
Description
Type
Default
3:0
Internal
5:4
tdrv_slice3_cur[1:0]
Controls the output current for slice 3. Every 100µA increases the output amplitude by 100mV. 00 - 0800µA 01 - 1600µA 10 - 2400µA 11 - 3200µA
R/W
0b00
7:6
tdrv_slice4_cur[1:0]
Controls the output current for slice 4. Every 100µA increases the output amplitude by 100mV. 00 - 0800µA 01 - 1600µA 10 - 2400µA 11 - 3200µA
R/W
0b00
- CH_14 = 20¶
## SerDes Control Register 5
Bits
Name
Description
Type
Default
2:0
tdrv_slice0_cur[2:0]
Controls the output current for slice 0. Every 100µA increases the output amplitude by 100mV. 000 - 100µA 001 - 200µA 010 - 300µA 011 - 400µA 100 - 500µA 101 - 600µA 110 - 700µA 111 - 800µA
R/W
0b00
5:3
tdrv_slice1_cur[2:0]
Controls the output current for slice 1. Every 100µA increases the output amplitude by 100mV. 000 - 100µA 001 - 200µA 010 - 300µA 011 - 400µA 100 - 500µA 101 - 600µA 110 - 700µA 111 - 800µA
R/W
0b00
7:6
tdrv_slice2_cur[1:0]
Controls the output current for slice 2. Every 100µA increases the output amplitude by 100mV. 00 - 0800µA 01 - 1600µA 10 - 2400µA 11 - 3200µA
R/W
0b00
- CH_15 = 21¶
## SerDes Control Register 6
Bits
Name
Description
Type
Default
3:0
lb_ctl[3:0]
Serial loopback control bitfield. Bit 3 - slb_r2t_dat_en Serial RX to TX LB enable, CDR DAT Bit 2 - slb_r2t_ck_en Serial RX to TX LB enable, CDR CLK Bit 1 - slb_eq2t_en Serial loopback from equalizer to drv Bit 0 - slb_t2r_en Serial TX to RX loopback enable
R/W
0b0000
5:4
tdrv_dat_sel[1:0]
Driver output selection 00 - Data from serializer is muxed to driver 01 - Data rate clock from serializer is muxed to driver 10 - Serial RX to TX LB (data) if slb_r2t_dat_en is
1
10 - Serial RX to TX LB (clock) if slb_r2t_ck_en is1
11 - Serial LB from equalizer if slb_eq2t_en is1
R/W
0b00
7:6
tdrv_slice5_cur[1:0]
Controls the output current for slice 2. Every 100µA increases the output amplitude by 100mV. 00 - 0800µA 01 - 1600µA 10 - 2400µA 11 - 3200µA
R/W
0b00
- CH_16 = 22¶
## SerDes Control Register 7
Bits
Name
Description
Type
Default
0
rpwdnb
1 - Power down receiver channel 0 - Power up receiver channel
R/W
0b0
1
rate_mode_rx
1 - Full rate selection for receiver 0 - Half rate selection for receiver
R/W
0b0
2
rx_div11_sel
1 - Full rate selection for receiver 0 - Divide by 11 selection for receiver
R/W
0b0
3
ldr_rx2core_sel
Enables boundary scan input path for routing the high-speed RX inputs to a lower speed SerDes in the FPGA fabric
R/W
0b0
4
rx_refck_sel
RX CDR Reference Clock Select 1 - ck_core_rx 0 - rx_refck_local
R/W
0b0
5
rcv_dcc_en
1 - Receiver DC coupling 0 - Receiver AC coupling
R/W
0b0
7:6
rxterm_cm[1:0]
Command mode volate for RX input term 00 - RX Input Supply 01 - Floating (AC Ground) 10 - GND 11 - RX Input Supply
R/W
0b00
- CH_17 = 23¶
## SerDes Control Register 8
Bits
Name
Description
Type
Default
4:0
rterm_rx[4:0]
RX Resistor termination select. 00000 - 5.0kΩ 00001 - 80.0Ω 00010 - 78.6Ω 00011 - 76.7Ω 00100 - 75.0Ω 00101 - 73.4Ω 00110 - 70.5Ω 00111 - 68.0Ω 01001 - 63.7Ω 01010 - 62.0Ω 01011 - 60.0Ω 01100 - 58.2Ω 01101 - 56.6Ω 01110 - 55.2Ω 01111 - 54.0Ω 10000 - 52.8Ω 10001 - 51.8Ω 10010 - 50.9Ω 10011 - 50.0Ω 10100 - 49.2Ω 10101 - 48.5Ω 10110 - 47.8Ω 10111 - 47.2Ω 11000 - 46.6Ω 11001 - 46.0Ω NOTE: Other values reserved
R/W
0b0000
5
Reserved
7:6
rcin_cm[1:0]
Common mode voltage for equalizer input in AC-coupling 00 - 0.70V 01 - 0.65V 10 - 0.75V 11 - CMFB
R/W
0b00
- CH_18 = 24¶
## SerDes Control Register 9
Bits
Name
Description
Type
Default
5:0
Reserved
6
fc2dco_floop
Force DCO to lock to the frequency loop
R/W
0b0
7
fc2dco_dloop
Force DCO to lock to the data loop
R/W
0b0
- CH_19 = 25¶
## SerDes Control Register 10
Bits
Name
Description
Type
Default
0
req_en
1 - Enable receiver equalization 0 - Disable receiver equalization
R/W
0b0
4:1
rx_rate_sel[3:0]
Equalizer pole position selection
R/W
0x0
6:5
req_lvl_set[1:0]
Equalization level setting 00 - 06dB 01 - 09dB 10 - 12dB 11 - Unused
R/W
0b00
7
Reserved
- CH_1A = 26¶
## SerDes Control Register 11
Bits
Name
Description
Type
Default
2:0
rx_dco_ck_div[2:0]
VCO Output frequency selector 000 - Divided by 1 001 - Divided by 1 010 - Divided by 2 011 - Divided by 2 100 - Divided by 4 101 - Divided by 8 110 - Divided by 16 111 - Divided by 32
R/W
0b000
3
pden_sel
1 - Disable phase detector if los is
0
0 - Don’t disable phase detector if los is0
R/W
0b0
4
dco_facq_rst
Trigger DCO frequency acquistion reset when needed
R/W
0b0
5
dco_calib_rst
Trigger DCO calibration reset when needed
R/W
0b0
6
en_recalib
1 - Enable recalibration 0 - Disable recalibaration
R/W
0b0
7
band_calib_mode
1 - Enable 0 - Disable
R/W
0b0
- CH_1B = 27¶
## SerDes Control Register 12
Bits
Name
Description
Type
Default
2:0
rx_los_lvl[2:0]
Sets the peak-to-peak threashold voltage for LoS detection
R/W
0b000
4:3
rx_los_ceq[1:0]
Sets the equalization value at the input stage of the LoS detector.
R/W
0b00
5
rx_los_hyst_en
1 - Enable hysteresis for LoS detection threshold 0 - Disalbe hysteresis for LoS detection threshold
R/W
0b0
6
rx_los_en
1 - Enable loss-of-signal (LoS) detector 0 - Disable loss-of-signal (LoS) detector
R/W
0b0
7
rlos_sel
1 - Enable LoS detetion before CDR phase detector 0 - Disable LoS detetion before CDR phase detector
R/W
0b0
- CH_1E = 30¶
## SerDes Interrupt Control Register 1
Bits
Name
Description
Type
Default
0
~rlol_int_ctl
Enable interrupt when receiver is locked
R/W
0b0
1
rlol_int_ctl
Enable interrupt when reciever loses lock
R/W
0b0
2
Reserved
3
Reserved
4
~rlos_int_ctl
Enable interrupt for RX LoS when input level meets or is above
rlos_set
low threashold.R/W
0b0
5
rlos_int_ctl
Enable interrupt for RX LoS when input level fall below
rlos_set
low threashold.R/W
0b0
6
pcie_det_done_int_ctl
Enable interrupt for detection of a far end PCIe receiver.
R/W
0b0
7
Reserved
- CH_1F = 31¶
## Reset and Clock Control Register 1
Bits
Name
Description
Type
Default
0
sel_sd_rx_clk
1 - FPGA Bridge write clock and elastic buffer read clock driven by SerDes recovered clock. 0 - FPGA Bridge write clock and elastic buffer read clock driven by
ff_ebrd_clk
.R/W
0b0
1
ff_rx_h_clk_en
Enable
fx_rx_h_clk
R/W
0b0
2
ff_rx_f_clk_dis
Disable
ff_rx_f_clk
R/W
0b0
3
ff_tx_h_clk_en
Enable
ff_tx_h_clk
R/W
0b0
4
ff_tx_f_clk_dis
Disable
ff_tx_f_clk
R/W
0b0
5
lane_tx_rst
Reset transmit logic
R/W
0b0
6
lane_rx_rst
Reset receive logic
R/W
0b0
7
rrst
Reset receiver
R/W
0b0
- CH_30 = 48¶
## PCS Status Register 1
Bits
Name
Description
Type
Interrupt
0
fb_tx_fifo_error
1 - FPGA Bridge TX FIFO overrun 0 - FPGA Bridge TX FIFO not overrun
RO
Yes
1
fb_rx_fifo_error
1 - FPGA Bridge RX FIFO overrun 0 - FPGA Bridge RX FIFO not overrun
RO
Yes
2
cc_overrun
1 - CC FIFO overrun 0 - CC FIFO not overrun
RO
Yes
3
cc_underrun
1 - CC FIFO underrun 0 - CC FIFO not underrun
RO
Yes
4
pfifo_error
1 - Parallel FIFO error 0 - No Parallel FIFO error
RO
Yes
7:5
Reserved
RO
Yes
- CH_31 = 49¶
## PCS Status Register 2
Bits
Name
Description
Type
Interrupt
7:0
prbs_error_cnt[7:0]
Number of PRBS errors. Resets to
0
on read and sticks at0xFF
.RO CR
No
- CH_32 = 50¶
## PCS Status Register 3
Bits
Name
Description
Type
Interrupt
3:0
wa_offset[3:0]
Word aligner offset
RO
No
7:4
Reserved
- CH_33 = 51¶
## PCS Status Register 4
Bits
Name
Description
Type
Interrupt
0
fb_tx_fifo_error_int
1 - Interrupt generated on
fb_tx_fifo_error
0 - Interrupt not generated onfb_tx_fifo_error
RO CR
Yes
1
fb_rx_fifo_error_int
1 - Interrupt generated on
fb_rx_fifo_error
0 - Interrupt not generated onfb_rx_fifo_error
RO CR
Yes
2
cc_overrun_int
1 - Interrupt generated on
cc_overrun
0 - Interrupt not generated oncc_overrun
RO CR
Yes
3
cc_underrun_int
1 - Interrupt generated on
cc_underrun
0 - Interrupt not generated oncc_underrun
RO CR
Yes
7:4
Reserved
- CH_34 = 52¶
## PCS Status Register 5
Bits
Name
Description
Type
Interrupt
0
cc_we_o
1 - Elsatic FIFO write enabled 0 - Elsatic FIFO write disabled
RO
No
1
cc_re_o
1 - Elastic FIFO read enabled 0 - Elastic FIFO read disabled
RO
No
3:2
Reserved
4
fb_txrst_o
1 - FPGA Bridge TX Normal Operation 0 - FPGA Bridge TX Reset
RO
No
5
fb_rxrst_o
1 - FPGA Bridge RX Normal Operation 0 - FPGA Bridge RX Reset
RO
No
6
ffs_ls_sync_status
1 - Link State Machine not Synced 0 - Link State Machine Synced
RO
No
7
Reserved
- CH_36 = 54¶
## SerDes Status Register 1
Bits
Name
Description
Type
Interrupt
0
~rlol
If CDR has locked to data
RO
Yes
1
rlol
If CDR is not locked to data, but to refclock
RO
Yes
3:2
Reserved
RO CR
Yes
4
~rlos
If the input signal detected by the receiver is equal to or greater than the set threshold for LOW
RO CR
Yes
5
rlos
If the input signal detected by the receiver is below the set LOW threashold.
RO CR
Yes
6
pci_det_done
1 - Receiver detection process completed by TX 0 - Receiver detection process not completed by TX
RO CR
Yes
7
Reserved
- CH_37 = 55¶
## SerDes Status Register 2
Bits
Name
Description
Type
Interrupt
0
pci_connect
1 - Receiver detected by transmitter (at transmitter device) 0 - Receiver not detected by transmitter (at transmitter device)
RO
No
3:1
Reserved
4
dco_facq_done
If DCO frequency acquisition done
RO
No
5
dco_facq_err
If DCO frequency acquisition is more than 300ppm
RO
No
6
dco_calib_done
If DCO calibration is completed
RO
No
7
dco_calib_err
If DCO calibration might be incorrect
RO
No
- CH_3A = 58¶
## SerDes Status Register 5
Bits
Name
Description
Type
Interrupt
0
~rlol_int
Interrupt generated for
~rlol
CO CR
Yes
1
rlol_int
Interrupt generated for
rlol
CO CR
Yes
3:2
Reserved
4
~rlos_int
Interrupt generated for
~rlos
CO CR
Yes
5
rlos_int
Interrupt generated for
rlos
CO CR
Yes
6
pci_det_done_int
Interrupt generated for
pci_det_done
CO CR
Yes
7
Reserved