JESD204C Intel® FPGA IP User Guide

ID 683108
Date 6/26/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

8.2. Receiver Registers

Table 54.  lane_ctrl_commonCommon lane control and assignment. The common lane control applies to all lanes in the link.

Offset: 0x0

Note: For bits that are compile-time specific, you must recompile to change the reset value.
Bit Name Description Attribute Reset
31:14 Reserved Reserved RV 0x0
13:11 Reserved Reserved RV 0x0
10 rx_2b_lben Enables the 132-bit interface loopback from TX. Instead of taking RX gearbox data, TX loopback data is multiplexed in for subsequent RX operation. RW 0x0
9:6 rx_thresh_sh_err The number of consecutive erroneous sequences required to force the algorithm back to initial SH_INIT. 0-based value. 0=threshold of 1. ‘d15= threshold of 16. RW Compile-time specific
5:3 rx_thresh_emb_err The number of consecutive erroneous sequences required to force the algorithm back to initial EMB_INIT. 0-based value. 0=threshold of 1. ‘d7= threshold of 8. RW Compile-time specific
2 Reserved Reserved RV 0x0
1 scr_disable Setting this bit disables RX descrambler. RW Compile-time specific
0 bit_reversal

This is a compile-time option which needs to be set before IP generation.

  • 0 = LSB-first serialization.
  • 1 = MSB-first serialization.
Note: JESD204C converter device may support either MSB-first serialization or LSB-first serialization.

When bit_reversal = 1, the word aligner reverses RX parallel data bits upon receiving the PMA deserialized data. For example; in 64-bit mode => D[63:0] is rewired to D[0:63]

RO Compile-time specific
Table 55.  lane_ctrl_0Lane control and assignment for Lane 0.

Offset: 0x4

Bit Name Description Attribute Reset
31:1 Reserved Reserved RV 0x0
0 lane_polarity_en

Set 1 to enable lane polarity detection.

When set, the RX interface detects and inverts the polarity of the RX data.

If the CSR_OPT=1 or POL_EN_ATR=0, this register is RO. Otherwise, it is RW.

RW/RO POL_ENx
Table 56.  lane_ctrl_1Lane control and assignment for Lane 1.

Offset: 0x8

Bit Name Description Attribute Reset
31:1 Reserved Reserved RV 0x0
0 lane_polarity_en

Set 1 to enable lane polarity detection.

When set, the RX interface detects and inverts the polarity of the RX data.

If the CSR_OPT=1 or POL_EN_ATR=0, this register is RO. Otherwise, it is RW.

RW/RO POL_ENx
Table 57.  lane_ctrl_2Lane control and assignment for Lane 2.

Offset: 0xC

Bit Name Description Attribute Reset
31:1 Reserved Reserved RV 0x0
0 lane_polarity_en

Set 1 to enable lane polarity detection.

When set, the RX interface detects and inverts the polarity of the RX data.

If the CSR_OPT=1 or POL_EN_ATR=0, this register is RO. Otherwise, it is RW.

RW/RO POL_ENx
Table 58.  lane_ctrl_3Lane control and assignment for Lane 3.

Offset: 0x10

Bit Name Description Attribute Reset
31:1 Reserved Reserved RV 0x0
0 lane_polarity_en

Set 1 to enable lane polarity detection.

When set, the RX interface detects and inverts the polarity of the RX data.

If the CSR_OPT=1 or POL_EN_ATR=0, this register is RO. Otherwise, it is RW.

RW/RO POL_ENx
Table 59.  lane_ctrl_4Lane control and assignment for Lane 4.

Offset: 0x14

Bit Name Description Attribute Reset
31:1 Reserved Reserved RV 0x0
0 lane_polarity_en

Set 1 to enable lane polarity detection.

When set, the RX interface detects and inverts the polarity of the RX data.

If the CSR_OPT=1 or POL_EN_ATR=0, this register is RO. Otherwise, it is RW.

RW/RO POL_ENx
Table 60.  lane_ctrl_5Lane control and assignment for Lane 5.

Offset: 0x18

Bit Name Description Attribute Reset
31:1 Reserved Reserved RV 0x0
0 lane_polarity_en

Set 1 to enable lane polarity detection.

When set, the RX interface detects and inverts the polarity of the RX data.

If the CSR_OPT=1 or POL_EN_ATR=0, this register is RO. Otherwise, it is RW.

RW/RO POL_ENx
Table 61.  lane_ctrl_6Lane control and assignment for Lane 6.

Offset: 0x1C

Bit Name Description Attribute Reset
31:1 Reserved Reserved RV 0x0
0 lane_polarity_en

Set 1 to enable lane polarity detection.

When set, the RX interface detects and inverts the polarity of the RX data.

If the CSR_OPT=1 or POL_EN_ATR=0, this register is RO. Otherwise, it is RW.

RW/RO POL_ENx
Table 62.  lane_ctrl_7Lane control and assignment for Lane 7.

Offset: 0x20

Bit Name Description Attribute Reset
31:1 Reserved Reserved RV 0x0
0 lane_polarity_en

Set 1 to enable lane polarity detection.

When set, the RX interface detects and inverts the polarity of the RX data.

If the CSR_OPT=1 or POL_EN_ATR=0, this register is RO. Otherwise, it is RW.

RW/RO POL_ENx
Table 63.  lane_ctrl_8Lane control and assignment for Lane 8.

Offset: 0x24

Bit Name Description Attribute Reset
31:1 Reserved Reserved RV 0x0
0 lane_polarity_en

Set 1 to enable lane polarity detection.

When set, the RX interface detects and inverts the polarity of the RX data.

If the CSR_OPT=1 or POL_EN_ATR=0, this register is RO. Otherwise, it is RW.

RW/RO POL_ENx
Table 64.  lane_ctrl_9Lane control and assignment for Lane 9.

Offset: 0x28

Bit Name Description Attribute Reset
31:1 Reserved Reserved RV 0x0
0 lane_polarity_en

Set 1 to enable lane polarity detection.

When set, the RX interface detects and inverts the polarity of the RX data.

If the CSR_OPT=1 or POL_EN_ATR=0, this register is RO. Otherwise, it is RW.

RW/RO POL_ENx
Table 65.  lane_ctrl_10Lane control and assignment for Lane 10.

Offset: 0x2C

Bit Name Description Attribute Reset
31:1 Reserved Reserved RV 0x0
0 lane_polarity_en

Set 1 to enable lane polarity detection.

When set, the RX interface detects and inverts the polarity of the RX data.

If the CSR_OPT=1 or POL_EN_ATR=0, this register is RO. Otherwise, it is RW.

RW/RO POL_ENx
Table 66.  lane_ctrl_11Lane control and assignment for Lane 11.

Offset: 0x30

Bit Name Description Attribute Reset
31:1 Reserved Reserved RV 0x0
0 lane_polarity_en

Set 1 to enable lane polarity detection.

When set, the RX interface detects and inverts the polarity of the RX data.

If the CSR_OPT=1 or POL_EN_ATR=0, this register is RO. Otherwise, it is RW.

RW/RO POL_ENx
Table 67.  lane_ctrl_12Lane control and assignment for Lane 12.

Offset: 0x34

Bit Name Description Attribute Reset
31:1 Reserved Reserved RV 0x0
0 lane_polarity_en

Set 1 to enable lane polarity detection.

When set, the RX interface detects and inverts the polarity of the RX data.

If the CSR_OPT=1 or POL_EN_ATR=0, this register is RO. Otherwise, it is RW.

RW/RO POL_ENx
Table 68.  lane_ctrl_13Lane control and assignment for Lane 13.

Offset: 0x38

Bit Name Description Attribute Reset
31:1 Reserved Reserved RV 0x0
0 lane_polarity_en

Set 1 to enable lane polarity detection.

When set, the RX interface detects and inverts the polarity of the RX data.

If the CSR_OPT=1 or POL_EN_ATR=0, this register is RO. Otherwise, it is RW.

RW/RO POL_ENx
Table 69.  lane_ctrl_14Lane control and assignment for Lane 14.

Offset: 0x3C

Bit Name Description Attribute Reset
31:1 Reserved Reserved RV 0x0
0 lane_polarity_en

Set 1 to enable lane polarity detection.

When set, the RX interface detects and inverts the polarity of the RX data.

If the CSR_OPT=1 or POL_EN_ATR=0, this register is RO. Otherwise, it is RW.

RW/RO POL_ENx
Table 70.  lane_ctrl_15Lane control and assignment for Lane 15.

Offset: 0x40

Bit Name Description Attribute Reset
31:1 Reserved Reserved RV 0x0
0 lane_polarity_en

Set 1 to enable lane polarity detection.

When set, the RX interface detects and inverts the polarity of the RX data.

If the CSR_OPT=1 or POL_EN_ATR=0, this register is RO. Otherwise, it is RW.

RW/RO POL_ENx
Table 71.  tl_ctrlTransport layer control.

Offset: 0x50

Bit Name Description Attribute Reset
31:0 Reserved Reserved RV 0x0
Table 72.  sysref_ctrlSYSREF control.

Offset: 0x54

Note: For bits that are compile-time specific, you must recompile to change the reset value.
Bit Name Description Attribute Reset
31:26 Reserved Reserved RV 0x0
25 force_rbd_release Setting this bit will force RBD elastic buffer to be released immediately when the latest arrival lane arrived in the system. It indirectly forces rbd_offset == rx_status0 (0x80) rbd_count. This register overrides rbd_offset. RW Compile-time specific
24:16 rbd_offset RX Buffer Delay (RBD) offset. RX elastic buffer will align the data from multiple lanes of the link and release the buffer at the LEMC boundary (rbd_offset = 0).

This register provides flexibility for an early RBD release opportunity. Legal value of RBD offset is from (E*16-1) down to 0 as it is aligned in number of link clocks. If rbd_offset is set out of the legal value, the RBD elastic buffer will be immediately released.

RW Compile-time specific
15:8 lemc_offset

Upon the detection of the rising edge of SYSREF in continuous mode or single detect mode, the LEMC counter will be reset to the value set in lemc_offset. LEMC counter operates in the link clock domain, therefore the legal value for the counter is from 0 to (E*16)-1.

  • In the event that (E*16)-1 > 255, the design has no capability to adjust the LEMC for offset greater than 255.
  • If (E*16-1) < 255, and an out-of-range value is set, the LEMC offset will be internally reset to 0.

By default, the rising edge of SYSREF resets the LEMC counter to 0. However, if the system design has a large phase offset between the SYSREF sampled by the converter device and the FPGA, you can virtually shift the SYSREF edges by changing the LEMC offset reset value using this register.

RW Compile-time specific
7:3 Reserved Reserved RV 0x0
2 sysref_singledet

This register enables LEMC realignment with a single sample of the rising edge of SYSREF. The bit is auto-cleared by hardware once SYSREF is sampled. If the user requires SYSREF to be sampled again (due to link reset or reinitialization), you must set this bit again.

This register also has another critical function: JESD204C IP will never send EoEMB unless at least a SYSREF edge is sampled. This is to prevent race condition between SYSREF being sampled at TX (logic device) and the deterministic timing of EoEMB transmission.

  • 0 = Any rising edge of SYSREF will not reset the LEMC counter.
  • SYSREF and then clears this bit. (Default)

Intel recommends to use 1 = Resets the LEMC counter on the first rising edge of sysref_singledet with sysref_alwayson even if you want to do SYSREF continuous detection mode. This is because this register is able to indicate whether SYSREF was ever sampled. This register also prevents race condition as mentioned above. Using only SYSREF single detect mode will not be able to detect incorrect SYSREF period.

RW1S 0x1
1 sysref_alwayson

This register enables LEMC realignment at every rising edge of SYSREF. LEMC counter is reset when every SYSREF transition from 0 to 1 is detected.

0 = Any rising edge of SYSREF will not reset the LEMC counter.

1 = Continuously resets LEMC counter at every SYSREF rising edge.

When this bit is set, the SYSREF period will be checked to make sure it never violates internal extended multiblock period and this period can only be n-integer multiplied of (E*32).

Note: When this bit is set, the SYSREF period will be checked to make sure it never violates internal extended multiblock period and this period can only be n-integer multiplied of (E*32). If the SYSREF period s different from the local extended multiblock period, the sysref_lemc_err (0x60) register will be asserted and an interrupt will be triggered.

If you want to change the SYSREF period, this bit should be set to 0 first. After SYSREF clock has stabilized, this bit is set to 1 to sample the rising edges of the new SYSREF.

RW 0x0
0 link_reinit

The JESD204C IP reinitializes the RX link by resetting all internal pipestages and status, but not including SYSREF detection information.

(This bit will automatically be cleared once link reinitialization is entered by hardware).

  • 0 = No link reinit request (Default)
  • 1 = Reinitialize the link.
RW1S 0x0
Table 73.  rx_errThis register logs errors detected in the FPGA IP. Each set bit in the register will generate interrupt, if enabled by corresponding bits in the RX Error Enable register( rx_err_enable (0x64)). After servicing the interrupt, software must clear the appropriate serviced interrupt status bit and ensure that no other interrupts are pending.

Offset: 0x60

Bit Name Description Attribute Reset
31:23 Reserved Reserved RV 0x0
22 ecc_fatal_err Assert when ECC fatal error occurs. This reflects a double bit error detected and uncorrected. RW1C 0x0
21 ecc_corrected_err Assert when ECC error has been corrected. This reflects a single bit error detected and corrected. RW1C 0x0
20 eb_full_err Assert when any of the RX elastic buffer detected an overflow condition. RW1C 0x0
19 emb_unlock_err Assert when any of the EMB alignment logic detected an “unlock” due to error count> error threshold, e.g. EMB_UNLOCK=1. RW1C 0x0
18 sh_unlock_err Assert when any of sync header alignment logic detected an “unlock” due to error count> error threshold, e.g. SH_UNLOCK=1. RW1C 0x0
17 rx_gb_overflow_err Assert when overflow happens on any of the lane’s RX gearbox. RW1C 0x0
16 rx_gb_underflow_err Assert when underflow happens on any of the lane’s RX gearbox. RW1C 0x0
15 Reserved Placed holder for “Uncorrectable FEC error” RV 0x0
14 crc_err The RX CRC generator has calculated a parity which does not match the parity received in the sync word RW1C 0x0
13 Reserved Place holder for “Smaller than expected payload in command channel”. To move this detection to the application layer. RV 0x0
12 Reserved Place holder for “Invalid command channel header”. To move this detection to the application layer. RV 0x0
11 cmd_par_err The final parity bit in the command channel data for a given sync word does not match the calculated parity for the received command channel bits. RW1C 0x0
10 invalid_eoemb The EoEMB identifier in the pilot signal has an unexpected value. RW1C 0x0
9 invalid_eomb The “00001” sequence in the pilot signal is not received at an expected location in the sync word. RW1C 0x0
8 invalid_sync_header “11” or “00” received in expected sync header location RW1C 0x0
7 lane_deskew_err Asserted when lane to lane deskew exceeds the LEMC boundary. This error will trigger when rbd_offset is not correctly programmed or the lane to lane skew within the device or across multidevice has exceeded the LEMC boundary.

EoEMB for all lanes should be within one LEMC boundary.

Refer to Deterministic Latency for more information.

RW1C 0x0
6 pcfifo_empty_err

Detected 1 or more lanes of Phase Compensation FIFO is empty unexpectedly when JESD204C link is running.

Note: You MUST reset the JESD204C link if this bit is triggered. The transceiver channel, and the JESD204C IP link reset must be applied.
RW1C 0x0
5 pcfifo_full_err

Detected 1 or more lanes of Phase Compensation FIFO is full unexpectedly when JESD204C link is running.

Note: You MUST reset the JESD204C link if this bit is triggered. The transceiver channel, and the JESD204C IP link reset must be applied.
RW1C 0x0
4 cdr_locked_err Detected 1 or more lanes of CDR locked lose lock when JESD204C link is running. RW1C 0x0
3 cmd_ready_err This error bit is applicable only if command channel is used in JESD204C link. This error bit will be asserted if the upstream component deasserts j204c_rx_cmd_ready signal while link layer is sending command (via j204c_rx_cmd_valid). RW1C 0x0
2 frame_data_ready_err

This error bit will be asserted if the RX detects data ready by the upstream component is 0 on the Avalon-ST bus when data is valid. The transport layer expects the upstream device in the system (Avalon-ST sink component) will always be ready to receive the valid data from the transport layer.

Note: If this error detection is not required, the user can tie off the data ready signal from the upstream to 1, j204_rx_avst_ready in the transport layer.
RW1C 0x0
1 dll_data_ready_err

This error bit will be asserted if the RX detects data ready by the upstream component is 0 on the Avalon-ST bus when data is valid. By design, the JESD204C RX IP core expects the upstream device (JESD204C transport layer/application layer) will always be ready to receive the valid data from JESD204C RX IP.

Note: If this error detection is not required, the user can tie off the Avalon-ST the j204_rx_avst_ready signal to 1.
RW1C 0x0
0 sysref_lemc_err When the sysref_alwayson (0x54) register is set to 1, the LEMC counter checks whether the SYSREF period matches the LEMC counter where it is n-integer multiplier of the (E*32).

If the SYSREF period does not match the LEMC period, the IP asserts this bit.

RW1C 0x0
Table 74.  rx_err_enThis register enables the error types that will generate interrupt. Setting 0 to the register bits will disable the specific error type from generating interrupt.

Offset: 0x64

Bit Name Description Attribute Reset
31:23 Reserved Reserved RV 0x0
22 ecc_fatal_err_en ECC fatal error interrupt enable RW 0x1
21 ecc_corrected_err_en ECC corrected error interrupt enable RW 0x0
20 eb_full_err_en Elastic buffer full error interrupt enable RW 0x1
19 emb_unlock_err_en EMB alignment unlock error interrupt enable RW 0x1
18 sh_unlock_err_en Sync header alignment unlock error interrupt enable RW 0x1
17 rx_gb_overflow_err_en Gearbox overflow error interrupt enable RW 0x1
16 rx_gb_underflow_err_en Gearbox underflow error interrupt enable RW 0x1
15 Reserved Reserved RV 0x0
14 crc_err_en CRC error interrupt enable RW 0x1
13 Reserved Reserved RV 0x0
12 Reserved Reserved RV 0x0
11 cmd_par_err_en Command Parity error interrupt enable RW 0x1
10 invalid_eoemb_en Invalid EoEMB error interrupt enable RW 0x1
9 invalid_eomb_en Invalid EoMB error interrupt enable RW 0x1
8 invalid_sync_header_en Invalid sync header error interrupt enable RW 0x1
7 lane_deskew_err_en Lane deskew error interrupt enable RW 0x1
6 pcfifo_empty_err_en PCFIFO empty error interrupt enable RW 0x1
5 pcfifo_full_err_en PCFIFO Full error interrupt enable RW 0x1
4 cdr_locked_err_en CDR lost lock error interrupt enable RW 0x1
3 cmd_ready_err_en Command data ready error interrupt enable RW 0x0
2 frame_data_ready_err_en Frame data ready error interrupt enable RW 0x0
1 dll_data_ready_err_en Link data ready error interrupt enable RW 0x0
0 sysref_lemc_err_en SYSREF LEMC error interrupt enable RW 0x1
Table 75.  rx_err_link_reinitThis register enables the error types that will generate link reinitialization. Setting 0 to the register bits will disable the specific error type from link reinitialization.

Offset: 0x68

Bit Name Description Attribute Reset
31:23 Reserved Reserved RV 0x0
22 ecc_fatal_err_en_reinit ECC fatal error reinitialization enable RW 0x0
21 ecc_corrected_err_en_reinit ECC corrected error reinitialization enable RW 0x0
20 eb_full_err_en_reinit Elastic buffer full error reinitialization enable RW 0x0
19 Reserved Reserved RV 0x0
18 Reserved Reserved RV 0x0
17 rx_gb_overflow_err_en_reinit Gearbox overflow error reinitialization enable RW 0x0
16 rx_gb_underflow_err_en_reinit Gearbox underflow error reinitialization enable RW 0x0
15 Reserved Reserved RV 0x0
14 crc_err_en_reinit CRC error reinitialization enable RW 0x0
13 Reserved Reserved RV 0x0
12 Reserved Reserved RV 0x0
11 cmd_par_err_en_reinit Command Parity error reinitialization enable RW 0x0
10 invalid_eoemb_en_reinit Invalid EoEMB error reinitialization enable RW 0x0
9 invalid_eomb_en_reinit Invalid EoMB error reinitialization enable RW 0x0
8 invalid_sync_header_en_reinit Invalid sync header error reinitialization enable RW 0x0
7 lane_deskew_err_en_reinit Lane deskew error reinitialization enable RW 0x0
6 pcfifo_empty_err_en_reinit

PCFIFO empty error reinitialization enable.

Note: Link reinitialization sequence does not cover transceiver reinitialization steps, hence such error will not be recovered via link reinitialization.

RW 0x0
5 pcfifo_full_err_en_reinit

PCFIFO Full error reinitialization enable.

Note: Link reinitialization sequence does not cover transceiver reinitialization steps, hence such error will not be recovered via link reinitialization.

RW 0x0
4 cdr_locked_err_en_reinit

CDR lost lock error reinitialization enable.

Note: Link reinitialization sequence does not cover transceiver reinitialization steps, hence such error will not be recovered via link reinitialization.

RW 0x0
3 cmd_ready_err_en_reinit Command data ready error reinitialization enable RW 0x0
2 frame_data_ready_err_en_reinit Frame data ready error reinitialization enable RW 0x0
1 dll_data_ready_err_en_reinit Link data ready error reinitialization enable RW 0x0
0 sysref_lemc_err_en_reinit SYSREF LEMC error reinitialization enable RW 0x0
Table 76.  rx_status0Monitor ports of internal signals and counter which will be useful for debugging.

Offset: 0x80

Note: For bits that are compile-time specific, you must recompile to change the reset value.
Bit Name Description Attribute Reset
31:30 Reserved Reserved RV 0x0
29 sysref_det_pending Indicate that SYSREF is yet to be detected. You need to set sysref_singledet to enable link initialization. ROV 0x0
28 reinit_in_prog Indicates that auto or manual link reinitialization is in progress. ROV 0x0
27:19 rbd_count_early
  • When rbd_count_early = 0, this indicates that the earliest lane arrives within the link at the LEMC boundary.
  • When rbd_count_early = 1, this indicates that the earliest lane arrives within the link at 1 link clock cycle after the LEMC boundary.
ROV 0x0
18:10 rbd_count

Legal value reported from this register is 0 to 512. When rbd_count = 0, this indicates that the latest lane arrives within the link at the LEMC boundary. When rbd_count = 1, this indicates that the latest lane arrives within the link at 1 link clock cycle after the LEMC boundary.

Note: When the latest lane arrival in the link is too close to the LEMC boundary, Intel recommends you set the RBD release opportunity (rbd_offset) at least 2 link clocks away from rbd_count to accommodate for worst-case power cycle variation.

Refer to Deterministic Latency for more information.

ROV 0x0
9:2 lemc_period Represent E: the number of multiblock in an extended multiblock RO Compile-time specific
1:0 sh_config

b00: CRC-12

b01: Standalone command channel

b10: Reserved (CRC-3)

b11: Reserved (FEC)

RO Compile-time specific
Table 77.  rx_status1Monitor ports of internal signals and counter which will be useful for debugging.

Offset: 0x84

Bit Name Description Attribute Reset
31 lane15_rx_pcfifo_empty RX phase compensation FIFO status empty flag for Lane 15 ROV 0x0
30 lane14_rx_pcfifo_empty RX phase compensation FIFO status empty flag for Lane 14 ROV 0x0
29 lane13_rx_pcfifo_empty RX phase compensation FIFO status empty flag for Lane 13 ROV 0x0
28 lane12_rx_pcfifo_empty RX phase compensation FIFO status empty flag for Lane 12 ROV 0x0
27 lane11_rx_pcfifo_empty RX phase compensation FIFO status empty flag for Lane 11 ROV 0x0
26 lane10_rx_pcfifo_empty RX phase compensation FIFO status empty flag for Lane 10 ROV 0x0
25 lane9_rx_pcfifo_empty RX phase compensation FIFO status empty flag for Lane 9 ROV 0x0
24 lane8_rx_pcfifo_empty RX phase compensation FIFO status empty flag for Lane 8 ROV 0x0
23 lane7_rx_pcfifo_empty RX phase compensation FIFO status empty flag for Lane 7 ROV 0x0
22 lane6_rx_pcfifo_empty RX phase compensation FIFO status empty flag for Lane 6 ROV 0x0
21 lane5_rx_pcfifo_empty RX phase compensation FIFO status empty flag for Lane 5 ROV 0x0
20 lane4_rx_pcfifo_empty RX phase compensation FIFO status empty flag for Lane 4 ROV 0x0
19 lane3_rx_pcfifo_empty RX phase compensation FIFO status empty flag for Lane 3 ROV 0x0
18 lane2_rx_pcfifo_empty RX phase compensation FIFO status empty flag for Lane 2 ROV 0x0
17 lane1_rx_pcfifo_empty RX phase compensation FIFO status empty flag for Lane 1 ROV 0x0
16 lane0_rx_pcfifo_empty RX phase compensation FIFO status empty flag for Lane 0 ROV 0x0
15 lane15_rx_pcfifo_full RX phase compensation FIFO status full flag for Lane 15 ROV 0x0
14 lane14_rx_pcfifo_full RX phase compensation FIFO status full flag for Lane 14 ROV 0x0
13 lane13_rx_pcfifo_full RX phase compensation FIFO status full flag for Lane 13 ROV 0x0
12 lane12_rx_pcfifo_full RX phase compensation FIFO status full flag for Lane 12 ROV 0x0
11 lane11_rx_pcfifo_full RX phase compensation FIFO status full flag for Lane 11 ROV 0x0
10 lane10_rx_pcfifo_full RX phase compensation FIFO status full flag for Lane 10 ROV 0x0
9 lane9_rx_pcfifo_full RX phase compensation FIFO status full flag for Lane 9 ROV 0x0
8 lane8_rx_pcfifo_full RX phase compensation FIFO status full flag for Lane 8 ROV 0x0
7 lane7_rx_pcfifo_full RX phase compensation FIFO status full flag for Lane 7 ROV 0x0
6 lane6_rx_pcfifo_full RX phase compensation FIFO status full flag for Lane 6 ROV 0x0
5 lane5_rx_pcfifo_full RX phase compensation FIFO status full flag for Lane 5 ROV 0x0
4 lane4_rx_pcfifo_full RX phase compensation FIFO status full flag for Lane 4 ROV 0x0
3 lane3_rx_pcfifo_full RX phase compensation FIFO status full flag for Lane 3 ROV 0x0
2 lane2_rx_pcfifo_full RX phase compensation FIFO status full flag for Lane 2 ROV 0x0
1 lane1_rx_pcfifo_full RX phase compensation FIFO status full flag for Lane 1 ROV 0x0
0 lane0_rx_pcfifo_full RX phase compensation FIFO status full flag for Lane 0 ROV 0x0
Table 78.  rx_status2Monitor ports of internal signals and counter which will be useful for debugging.

Offset: 0x88

Bit Name Description Attribute Reset
31 lane15_rx_cdr_locked RX CDR lock status flag for Lane 15 ROV 0x0
30 lane14_rx_cdr_locked RX CDR lock status flag for Lane 14 ROV 0x0
29 lane13_rx_cdr_locked RX CDR lock status flag for Lane 13 ROV 0x0
28 lane12_rx_cdr_locked RX CDR lock status flag for Lane 12 ROV 0x0
27 lane11_rx_cdr_locked RX CDR lock status flag for Lane 11 ROV 0x0
26 lane10_rx_cdr_locked RX CDR lock status flag for Lane 10 ROV 0x0
25 lane9_rx_cdr_locked RX CDR lock status flag for Lane 9 ROV 0x0
24 lane8_rx_cdr_locked RX CDR lock status flag for Lane 8 ROV 0x0
23 lane7_rx_cdr_locked RX CDR lock status flag for Lane 7 ROV 0x0
22 lane6_rx_cdr_locked RX CDR lock status flag for Lane 6 ROV 0x0
21 lane5_rx_cdr_locked RX CDR lock status flag for Lane 5 ROV 0x0
20 lane4_rx_cdr_locked RX CDR lock status flag for Lane 4 ROV 0x0
19 lane3_rx_cdr_locked RX CDR lock status flag for Lane 3 ROV 0x0
18 lane2_rx_cdr_locked RX CDR lock status flag for Lane 2 ROV 0x0
17 lane1_rx_cdr_locked RX CDR lock status flag for Lane 1 ROV 0x0
16 lane0_rx_cdr_locked RX CDR lock status flag for Lane 0 ROV 0x0
15 lane15_rx_xcvr_ready RX transceiver ready status flag for Lane 15 ROV 0x0
14 lane14_rx_xcvr_ready RX transceiver ready status flag for Lane 14 ROV 0x0
13 lane13_rx_xcvr_ready RX transceiver ready status flag for Lane 13 ROV 0x0
12 lane12_rx_xcvr_ready RX transceiver ready status flag for Lane 12 ROV 0x0
11 lane11_rx_xcvr_ready RX transceiver ready status flag for Lane 11 ROV 0x0
10 lane10_rx_xcvr_ready RX transceiver ready status flag for Lane 10 ROV 0x0
9 lane9_rx_xcvr_ready RX transceiver ready status flag for Lane 9 ROV 0x0
8 lane8_rx_xcvr_ready RX transceiver ready status flag for Lane 8 ROV 0x0
7 lane7_rx_xcvr_ready RX transceiver ready status flag for Lane 7 ROV 0x0
6 lane6_rx_xcvr_ready RX transceiver ready status flag for Lane 6 ROV 0x0
5 lane5_rx_xcvr_ready RX transceiver ready status flag for Lane 5 ROV 0x0
4 lane4_rx_xcvr_ready RX transceiver ready status flag for Lane 4 ROV 0x0
3 lane3_rx_xcvr_ready RX transceiver ready status flag for Lane 3 ROV 0x0
2 lane2_rx_xcvr_ready RX transceiver ready status flag for Lane 2 ROV 0x0
1 lane1_rx_xcvr_ready RX transceiver ready status flag for Lane 1 ROV 0x0
0 lane0_rx_xcvr_ready RX transceiver ready status flag for Lane 0 ROV 0x0
Table 79.  rx_status3Monitor ports of internal signals and counter which will be useful for debugging.

Offset: 0x8C

Bit Name Description Attribute Reset
31 lane15_rx_gb_empty RX gearbox empty status flag for Lane 15 ROV 0x0
30 lane14_rx_gb_empty RX gearbox empty status flag for Lane 14 ROV 0x0
29 lane13_rx_gb_empty RX gearbox empty status flag for Lane 13 ROV 0x0
28 lane12_rx_gb_empty RX gearbox empty status flag for Lane 12 ROV 0x0
27 lane11_rx_gb_empty RX gearbox empty status flag for Lane 11 ROV 0x0
26 lane10_rx_gb_empty RX gearbox empty status flag for Lane 10 ROV 0x0
25 lane9_rx_gb_empty RX gearbox empty status flag for Lane 9 ROV 0x0
24 lane8_rx_gb_empty RX gearbox empty status flag for Lane 8 ROV 0x0
23 lane7_rx_gb_empty RX gearbox empty status flag for Lane 7 ROV 0x0
22 lane6_rx_gb_empty RX gearbox empty status flag for Lane 6 ROV 0x0
21 lane5_rx_gb_empty RX gearbox empty status flag for Lane 5 ROV 0x0
20 lane4_rx_gb_empty RX gearbox empty status flag for Lane 4 ROV 0x0
19 lane3_rx_gb_empty RX gearbox empty status flag for Lane 3 ROV 0x0
18 lane2_rx_gb_empty RX gearbox empty status flag for Lane 2 ROV 0x0
17 lane1_rx_gb_empty RX gearbox empty status flag for Lane 1 ROV 0x0
16 lane0_rx_gb_empty RX gearbox empty status flag for Lane 0 ROV 0x0
15 lane15_rx_gb_full RX gearbox full status flag for Lane 15 ROV 0x0
14 lane14_rx_gb_full RX gearbox full status flag for Lane 14 ROV 0x0
13 lane13_rx_gb_full RX gearbox full status flag for Lane 13 ROV 0x0
12 lane12_rx_gb_full RX gearbox full status flag for Lane 12 ROV 0x0
11 lane11_rx_gb_full RX gearbox full status flag for Lane 11 ROV 0x0
10 lane10_rx_gb_full RX gearbox full status flag for Lane 10 ROV 0x0
9 lane9_rx_gb_full RX gearbox full status flag for Lane 9 ROV 0x0
8 lane8_rx_gb_full RX gearbox full status flag for Lane 8 ROV 0x0
7 lane7_rx_gb_full RX gearbox full status flag for Lane 7 ROV 0x0
6 lane6_rx_gb_full RX gearbox full status flag for Lane 6 ROV 0x0
5 lane5_rx_gb_full RX gearbox full status flag for Lane 5 ROV 0x0
4 lane4_rx_gb_full RX gearbox full status flag for Lane 4 ROV 0x0
3 lane3_rx_gb_full RX gearbox full status flag for Lane 3 ROV 0x0
2 lane2_rx_gb_full RX gearbox full status flag for Lane 2 ROV 0x0
1 lane1_rx_gb_full RX gearbox full status flag for Lane 1 ROV 0x0
0 lane0_rx_gb_full RX gearbox full status flag for Lane 0 ROV 0x0
Table 80.  rx_status4Monitor ports of internal signals and counter which will be useful for debugging.

Offset: 0x90

Bit Name Description Attribute Reset
31:16 Reserved Reserved RV 0x0
15 lane15_sh_lock RX sync header alignment lock status flag for Lane 15 ROV 0x0
14 lane14_sh_lock RX sync header alignment lock status flag for Lane 14 ROV 0x0
13 lane13_sh_lock RX Sync Header alignment lock status flag for Lane 13 ROV 0x0
12 lane12_sh_lock RX sync header alignment lock status flag for Lane 12 ROV 0x0
11 lane11_sh_lock RX sync header alignment lock status flag for Lane 11 ROV 0x0
10 lane10_sh_lock RX sync header alignment lock status flag for Lane 10 ROV 0x0
9 lane9_sh_lock RX sync header alignment lock status flag for Lane 9 ROV 0x0
8 lane8_sh_lock RX sync header alignment lock status flag for Lane 8 ROV 0x0
7 lane7_sh_lock RX sync header alignment lock status flag for Lane 7 ROV 0x0
6 lane6_sh_lock RX sync header alignment lock status flag for Lane 6 ROV 0x0
5 lane5_sh_lock RX sync header alignment lock status flag for Lane 5 ROV 0x0
4 lane4_sh_lock RX sync header alignment lock status flag for Lane 4 ROV 0x0
3 lane3_sh_lock RX sync header alignment lock status flag for Lane 3 ROV 0x0
2 lane2_sh_lock RX sync header alignment lock status flag for Lane 2 ROV 0x0
1 lane1_sh_lock RX sync header alignment lock status flag for Lane 1 ROV 0x0
0 lane0_sh_lock RX sync header alignment lock status flag for Lane 0 ROV 0x0
Table 81.  rx_status5Monitor ports of internal signals and counter which will be useful for debugging.

Offset: 0x94

Bit Name Description Attribute Reset
31:16 Reserved Reserved RV 0x0
15 lane15_emb_lock RX EMB alignment lock status flag for Lane 15 ROV 0x0
14 lane14_emb_lock RX EMB alignment lock status flag for Lane 14 ROV 0x0
13 lane13_emb_lock RX EMB alignment lock status flag for Lane 13 ROV 0x0
12 lane12_emb_lock RX EMB alignment lock status flag for Lane 12 ROV 0x0
11 lane11_emb_lock RX EMB alignment lock status flag for Lane 11 ROV 0x0
10 lane10_emb_lock RX EMB alignment lock status flag for Lane 10 ROV 0x0
9 lane9_emb_lock RX EMB alignment lock status flag for Lane 9 ROV 0x0
8 lane8_emb_lock RX EMB alignment lock status flag for Lane 8 ROV 0x0
7 lane7_emb_lock RX EMB alignment lock status flag for Lane 7 ROV 0x0
6 lane6_emb_lock RX EMB alignment lock status flag for Lane 6 ROV 0x0
5 lane5_emb_lock RX EMB alignment lock status flag for Lane 5 ROV 0x0
4 lane4_emb_lock RX EMB alignment lock status flag for Lane 4 ROV 0x0
3 lane3_emb_lock RX EMB alignment lock status flag for Lane 3 ROV 0x0
2 lane2_emb_lock RX EMB alignment lock status flag for Lane 2 ROV 0x0
1 lane1_emb_lock RX EMB alignment lock status flag for Lane 1 ROV 0x0
0 lane0_emb_lock RX EMB alignment lock status flag for Lane 0 ROV 0x0
Table 82.  rx_status6Monitor ports of internal signals and counter which will be useful for debugging.

Offset: 0x98

Bit Name Description Attribute Reset
31:16 Reserved Reserved RV 0x0
15 lane15_rx_eb_full RX Elastic buffer full status flag for Lane 15 ROV 0x0
14 lane14_rx_eb_full RX Elastic buffer full status flag for Lane 14 ROV 0x0
13 lane13_rx_eb_full RX Elastic buffer full status flag for Lane 13 ROV 0x0
12 lane12_rx_eb_full RX Elastic buffer full status flag for Lane 12 ROV 0x0
11 lane11_rx_eb_full RX Elastic buffer full status flag for Lane 11 ROV 0x0
10 lane10_rx_eb_full RX Elastic buffer full status flag for Lane 10 ROV 0x0
9 lane9_rx_eb_full RX Elastic buffer full status flag for Lane 9 ROV 0x0
8 lane8_rx_eb_full RX Elastic buffer full status flag for Lane 8 ROV 0x0
7 lane7_rx_eb_full RX Elastic buffer full status flag for Lane 7 ROV 0x0
6 lane6_rx_eb_full RX Elastic buffer full status flag for Lane 6 ROV 0x0
5 lane5_rx_eb_full RX Elastic buffer full status flag for Lane 5 ROV 0x0
4 lane4_rx_eb_full RX Elastic buffer full status flag for Lane 4 ROV 0x0
3 lane3_rx_eb_full RX Elastic buffer full status flag for Lane 3 ROV 0x0
2 lane2_rx_eb_full RX Elastic buffer full status flag for Lane 2 ROV 0x0
1 lane1_rx_eb_full RX Elastic buffer full status flag for Lane 1 ROV 0x0
0 lane0_rx_eb_full RX Elastic buffer full status flag for Lane 0 ROV 0x0
Table 83.  rx_status7Monitor ports of internal signals and counter which will be useful for debugging.

Offset: 0x9C

Bit Name Description Attribute Reset
31:16 Reserved Reserved RV 0x0
15 lane15_rx_polarity RX polarity inversion status flag for Lane 15 ROV 0x0
14 lane14_rx_polarity RX polarity inversion status flag for Lane 14 ROV 0x0
13 lane13_rx_polarity RX polarity inversion status flag for Lane 13 ROV 0x0
12 lane12_rx_polarity RX polarity inversion status flag for Lane 12 ROV 0x0
11 lane11_rx_polarity RX polarity inversion status flag for Lane 11 ROV 0x0
10 lane10_rx_polarity RX polarity inversion status flag for Lane 10 ROV 0x0
9 lane9_rx_polarity RX polarity inversion status flag for Lane 9 ROV 0x0
8 lane8_rx_polarity RX polarity inversion status flag for Lane 8 ROV 0x0
7 lane7_rx_polarity RX polarity inversion status flag for Lane 7 ROV 0x0
6 lane6_rx_polarity RX polarity inversion status flag for Lane 6 ROV 0x0
5 lane5_rx_polarity RX polarity inversion status flag for Lane 5 ROV 0x0
4 lane4_rx_polarity RX polarity inversion status flag for Lane 4 ROV 0x0
3 lane3_rx_polarity RX polarity inversion status flag for Lane 3 ROV 0x0
2 lane2_rx_polarity RX polarity inversion status flag for Lane 2 ROV 0x0
1 lane1_rx_polarity RX polarity inversion status flag for Lane 1 ROV 0x0
0 lane0_rx_polarity RX polarity inversion status flag for Lane 0 ROV 0x0
Table 84.  rx_converter_param1Link and transport control configuration per converter parameters.

Offset: 0xC0

Note: For bits that are compile-time specific, you must recompile to change the reset value.
Bit Name Description Attribute Reset
31:30 CS Number of control bits per converter sample. 1-based value. For example, 0=0 bit, 1=1 bit. RO Compile-time specific
29 HD High Density format. RO Compile-time specific
28:24 N

Number of data bits per converter sample. 0-based value. For example, 0=0 bit, 1=2 bits.

Note: CSR indexing is different from the parameter indexing. If parameter=`d8, this register field will be `d7.
RO Compile-time specific
23:16 M

Number of converters per device. 0-based value. For example, 0=1 converter, 1=2 converters.

Note: CSR indexing is different from the parameter indexing. If parameter=`d8, this register field will be `d7.
RO Compile-time specific
15:8 F

Number of octets per frame per lane. 0-based value. For example, 0=1 octet, 1=2 octets.

Note: CSR indexing is different from the parameter indexing. If parameter=`d8, this register field will be `d7.
RO Compile-time specific
7:4 Reserved Reserved RV 0x0
3:0 L

Number of lanes per link. 0-based value. For example, 0=1 lane, 1=2 lanes.

Note: CSR indexing is different from the parameter indexing. If parameter=`d8, this register field will be `d7.
RO Compile-time specific
Table 85.  rx_converter_param2Link and Transport control configuration per converter parameters.

Offset: 0xC4

Note: For bits that are compile-time specific, you must recompile to change the reset value.
Bit Name Description Attribute Reset
31:24 E

Number of multiblock within an extended multiblock. 0-based value.For example, 0=1 multiblock to form extended multiblock, 1=2 multiblock to form an extended multiblock.

If (256 Mod F) =1, E must be greater than 1. (The register value should be greater than 0).

Note: CSR indexing is different from the parameter indexing. If parameter=`d8, this register field will be `d7
RO Compile-time specific
23:21 Reserved Reserved RV 0x0
20:16 CF Number of control words per frame clock per link. 1-based value. For example, 0=0 word, 1=1 word. RO Compile-time specific
15:13 Reserved Reserved RO 0x0
12:8 S

Number of samples per converter frame cycle. 0-based value. For example, 0=1 sample, 1=2 samples.

Note: CSR indexing is different from the parameter indexing. If parameter=`d8, this register field will be `d7
RO Compile-time specific
7:5 subclass_ver

Device Subclass Version

  • b000: Subclass 0
  • b001: Subclass 1
RO Compile-time specific
4:0 NP

Number of data bits+control bits+tail bits per converter sample. 0-based value. For example, 0=1 bit, 1=2 bits.

RO Compile-time specific