6. IP Registers
The Interlaken IP core control registers are 32 bits wide and are accessible to you using the management interface, an Avalon-MM interface which conforms to the Avalon Interface Specifications. This table lists the registers available in the IP core. All unlisted locations are reserved.
Offset | Name | R/W | Description |
---|---|---|---|
16'h0 | PCS_BASE | RO |
|
16'h1 | LANE_COUNT | RO | Number of lanes. |
16'h3 | ELAPSED_SEC | RO | [23:0]—Elapsed seconds since power up. The IP core calculates this value from the management interface clock (mm_clk) for diagnostic purposes. During continuous operation, this value rolls over every 194 days. |
16'h4 | TX_EMPTY | RO | [NUM_LANES–1:0]—Transmit FIFO status (empty) |
16'h5 | TX_FULL | RO | [NUM_LANES–1:0]—Transmit FIFO status (full) |
16'h6 | TX_PEMPTY | RO | [NUM_LANES–1:0]—Transmit FIFO status (partially empty) |
16'h7 | TX_PFULL | RO | [NUM_LANES–1:0]—Transmit FIFO status (partially full) |
16'h8 | RX_EMPTY | RO | [NUM_LANES–1:0]—Receive FIFO status (empty) |
16'h9 | RX_FULL | RO | [NUM_LANES–1:0]—Receive FIFO status (full) |
16'hA | RX_PEMPTY | RO | [NUM_LANES–1:0]—Receive FIFO status (partially empty) |
16'hB | RX_PFULL | RO | [NUM_LANES–1:0]—Receive FIFO status (partially full) |
16'hC | MAC_CLK_KHZ | RO | MAC clock frequency (kHz). This register is only available in PAM4 mode variations. |
16'hD | RX_KHZ | RO | RX recovered clock frequency (kHz) |
16'hE | TX_KHZ | RO | TX serial clock frequency (kHz) |
16'h10 | PLL_LOCKED | RO |
|
16'h11 | FREQ_LOCKED | RO | [NUM_LANES–1:0]—Clock data recovery is frequency locked on the inbound data stream |
16'h13 | RESET | RW | The normal operating state for this register is all zeros, to allow automatic reset control. These bits are intended primarily for hardware debugging use. Bits 6 and 7 are convenient for monitoring long stretches of error-free operation.
|
16'h20 | ALIGN | RO |
|
16'h21 | WORD_LOCK | RO | [NUM_LANES–1:0]—Word (block) boundaries have been identified in the RX stream. |
16'h22 | SYNC_LOCK | RO | [NUM_LANES–1:0]—Metaframe synchronization has been achieved. |
16'h23 | CRC0 | RO | 4-bit counters indicating CRC errors in lanes [7:0]. These saturates at F, and you clear them by setting bit 6 in the RESET register. |
16'h24 | CRC1 | RO | 4-bit counters indicating CRC errors in lanes [15:8]. These saturates at F, and you clear them by setting bit 6 in the RESET register. |
16'h25 | CRC2 | RO | 4-bit counters indicating CRC errors in lanes [23:16]. These saturates at F, and you clear them by setting bit 6 in the RESET register. |
16'h26 | CRC3 | RO | 4-bit counters indicating CRC errors in lanes [31:24]. These saturates at F, and you clear them by setting bit 6 in the RESET register. |
16'h28 | RX_LOA | RO | Bit [0]—Sticky flag indicating loss of RX side lane-to-lane alignment since this bit was last cleared through the RESET register. Typically, the IP core asserts this bit in case of a catastrophic problem such as one or more lanes going down. |
16'h29 | TX_LOA | RO | Bit [0]—Sticky flag indicating loss of TX side lane to lane alignment since this bit was last cleared through the RESET register. Typically, the IP core asserts this bit in case of a TX FIFO underflow / overflow caused by a significant deviation from the expected data flow rate through the TX PCS. |
16'h38 | CRC32_ERR_INJECT | RW | [NUM_LANES–1:0]—When a bit has the value of 1, the IP core injects CRC32 errors on the corresponding TX lane. When it has the value of 0, the IP core does not inject errors on the TX lane. You must maintain each bit at the value of 1 for the duration of a meta Frame, at least, to ensure that the IP core transmits at least one CRC32 error. For NRZ mode only. |
16'h80 | ILKN_FEC_XCODER_TX_ILLEGAL_STATE | RO | This register is only available in PAM4 mode variations. Transcoder detects illegal framing bits [66:64] of the Interlaken frame layer words. This is sticky bit. |
16'h81 | ILKN_FEC_XCODER_RX_UNCOR_FECCW | RO | This register is only available in PAM4 mode variations. FEC indicates uncorrectable FEC code word error. This register saturates at 4'b1111 for each lane. |