Status and Statistics Register Space - 2.4 English - PG169

Integrated Interlaken 150G LogiCORE IP Product Guide (PG169)

Document ID
PG169
Release Date
2024-06-05
Version
2.4 English

The Status and Statistics registers provide an indication of the health of the link and histogram counters to provide classification of the traffic, and error counts.

The status and counters are all read-only. Some bits are sticky, that is, latching their values High or Low once set. This is indicated by the suffix LH (Latched High) or LL (Latched Low). Status registers are clear on read, counters controlled by a “tick” mechanism.

The counters accumulate their counts in an internal accumulator. A write to the TICK_REG register causes the accumulated counts to be pushed to the readable STAT_*_MSB/LSB registers and simultaneously clears the accumulators. The STAT_*_MSB/LSB registers can then be read. In this way all values stored in the statistics counters represent a snapshot over the same time-interval.

The STAT_CYCLE_COUNT_MSB/LSB register contains a count of the number of SerDes clock cycles between TICK_REG register writes. This allows for easy time-interval based statistics. The counters have a default width of 48 bits. The counters saturate to 1s. The values in the counters are held until the next write to the TICK_REG register.

R/LL
Register bit defaults to 1; upon error condition this bit latches to 0; the bit is set back to its default state after each read.
R/LH
Register bit defaults to 0; upon error condition this bit latches to 1; the bit is set back to its default state after each read.

If the register bit is not defaulting to its respective value after each read, the error state is ongoing.

The addresses shown in the following table for the counters are the addresses of the LSB register or Bits[31:0] of the count. The MSB Bits[47:32] of the counter are located at +0x4 from the LSB.

Table 1. Status and Statistics Register Map
Address Register Name
0x0200 STAT_TX_STATUS_REG
0x0204 STAT_RX_STATUS_REG
0x0208 STAT_RX_DIAGWORD_REG
0x020C STAT_RX_MUBITS_REG
0x0210 STAT_RX_SYNCED_REG
0x0214 STAT_RX_SYNCED_ERR_REG
0x0218 STAT_RX_MF_ERR_REG
0x021C STAT_RX_MF_LEN_ERR_REG
0x0220 STAT_RX_MF_REPEAT_ERR_REG
0x0224 STAT_RX_DESCRAM_ERR_REG
0x0228 to 0x02AF Reserved
Histogram/Counter Registers
0x02B0 TICK_REG
0x02B8 STAT_CYCLE_COUNT
0x02C0 STAT_RX_CRC32_ERR_LANE0
0x02C8 STAT_RX_CRC32_ERR_LANE1
0x02D0 STAT_RX_CRC32_ERR_LANE2
0x02D8 STAT_RX_CRC32_ERR_LANE3
0x02E0 STAT_RX_CRC32_ERR_LANE4
0x02E8 STAT_RX_CRC32_ERR_LANE5
0x02F0 STAT_RX_CRC32_ERR_LANE6
0x02F8 STAT_RX_CRC32_ERR_LANE7
0x0300 STAT_RX_CRC32_ERR_LANE8
0x0308 STAT_RX_CRC32_ERR_LANE9
0x0310 STAT_RX_CRC32_ERR_LANE10
0x0318 STAT_RX_CRC32_ERR_LANE11
0x0320 STAT_RX_CRC24_ERR
0x0328 STAT_RX_BAD_TYPE_ERR_LANE0
0x0330 STAT_RX_BAD_TYPE_ERR_LANE1
0x0338 STAT_RX_BAD_TYPE_ERR_LANE2
0x0340 STAT_RX_BAD_TYPE_ERR_LANE3
0x0348 STAT_RX_BAD_TYPE_ERR_LANE4
0x0350 STAT_RX_BAD_TYPE_ERR_LANE5
0x0358 STAT_RX_BAD_TYPE_ERR_LANE6
0x0360 STAT_RX_BAD_TYPE_ERR_LANE7
0x0368 STAT_RX_BAD_TYPE_ERR_LANE8
0x0370 STAT_RX_BAD_TYPE_ERR_LANE9
0x0378 STAT_RX_BAD_TYPE_ERR_LANE10
0x0380 STAT_RX_BAD_TYPE_ERR_LANE11
0x0388 STAT_RX_FRAMING_ERR_LANE0_LSB
0x038C STAT_RX_FRAMING_ERR_LANE0_MSB
0x0390 STAT_RX_FRAMING_ERR_LANE1_LSB
0x0394 STAT_RX_FRAMING_ERR_LANE1_MSB
0x0398 STAT_RX_FRAMING_ERR_LANE2_LSB
0x039C STAT_RX_FRAMING_ERR_LANE2_MSB
0x03A0 STAT_RX_FRAMING_ERR_LANE3_LSB
0x03A4 STAT_RX_FRAMING_ERR_LANE3_MSB
0x03A8 STAT_RX_FRAMING_ERR_LANE4_LSB
0x03AC STAT_RX_FRAMING_ERR_LANE4_MSB
0x03B0 STAT_RX_FRAMING_ERR_LANE5_LSB
0x03B4 STAT_RX_FRAMING_ERR_LANE5_MSB
0x03B8 STAT_RX_FRAMING_ERR_LANE6_LSB
0x03BC STAT_RX_FRAMING_ERR_LANE6_MSB
0x03C0 STAT_RX_FRAMING_ERR_LANE7_LSB
0x03C4 STAT_RX_FRAMING_ERR_LANE7_MSB
0x03C8 STAT_RX_FRAMING_ERR_LANE8_LSB
0x03CC STAT_RX_FRAMING_ERR_LANE8_MSB
0x03D0 STAT_RX_FRAMING_ERR_LANE9_LSB
0x03D4 STAT_RX_FRAMING_ERR_LANE9_MSB
0x03D8 STAT_RX_FRAMING_ERR_LANE10_LSB
0x03DC STAT_RX_FRAMING_ERR_LANE10_MSB
0x03E0 STAT_RX_FRAMING_ERR_LANE11_LSB
0x03E4 STAT_RX_FRAMING_ERR_LANE11_MSB
0x3E4 to 0x07FF Reserved