Status and Statistics Register Space - 3.1 English

UltraScale+ Devices Integrated 100G Ethernet Subsystem LogiCORE IP Product Guide (PG203)

Document ID
PG203
Release Date
2024-07-17
Version
3.1 English

The Status and Statistics registers provide an indication of the health of the link and histograms 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).

  • 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 does not default to its respective values after each read, the error state is ongoing.

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 (or the input port pm_tick is 1'b1) will cause 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 snap-shot over the same time-interval.

The STAT_CYCLE_COUNT_MSB/LSB register will contain 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 will be held until the next write to the TICK_REG register.

The addresses shown below 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.

Note: To know the correct live values, the status and statistics registers should be read after the GT reset is cleared.
Table 1. Status and Statistics Register Map
Address Register Name
0x0200 STAT_TX_STATUS_REG
0x0204 STAT_RX_STATUS_REG
0x0208 STAT_STATUS_REG1
0x020C STAT_RX_BLOCK_LOCK_REG
0x0210 STAT_RX_LANE_SYNC_REG
0x0214 STAT_RX_LANE_SYNC_ERR_REG
0x0218 STAT_RX_AM_ERR_REG
0x021C STAT_RX_AM_LEN_ERR_REG
0x0220 STAT_RX_AM_REPEAT_ERR_REG
0x0224 STAT_RX_PCSL_DEMUXED_REG
0x0228 STAT_RX_PCS_LANE_NUM_REG1
0x022C STAT_RX_PCS_LANE_NUM_REG2
0x0230 STAT_RX_PCS_LANE_NUM_REG3
0x0234 STAT_RX_PCS_LANE_NUM_REG4
0x0238 STAT_RX_BIP_OVERRIDE_REG
0x023C STAT_TX_OTN_STATUS_REG
0x0240–0x0254 Reserved
0x0258 STAT_AN_STATUS_REG
0x025C STAT_AN_ABILITY_REG
0x0260 STAT_AN_LINK_CTL_REG_1
0x0264 STAT_LT_STATUS_REG1
0x0268 STAT_LT_STATUS_REG2
0x026C STAT_LT_STATUS_REG3
0x0270 STAT_LT_STATUS_REG4
0x0274 STAT_LT_COEFFICIENT0_REG
0x0278 STAT_LT_COEFFICIENT1_REG
0x027C STAT_AN_LINK_CTL_REG_2
0x1004 STAT_RSFEC_STATUS_REG
0x1018 STAT_RSFEC_LANE_MAPPING_REG
0x1044 STAT_TX_OTN_RSFEC_STATUS_REG
Histogram/Counter Registers 1
0x02B0 TICK_REG
0x02B8 STAT_CYCLE_COUNT
0x02C0 STAT_RX_BIP_ERR_0
0x02C8 STAT_RX_BIP_ERR_1
0x02D0 STAT_RX_BIP_ERR_2
0x02D8 STAT_RX_BIP_ERR_3
0x02E0 STAT_RX_BIP_ERR_4
0x02E8 STAT_RX_BIP_ERR_5
0x02F0 STAT_RX_BIP_ERR_6
0x02F8 STAT_RX_BIP_ERR_7
0x0300 STAT_RX_BIP_ERR_8
0x0308 STAT_RX_BIP_ERR_9
0x0310 STAT_RX_BIP_ERR_10
0x0318 STAT_RX_BIP_ERR_11
0x0320 STAT_RX_BIP_ERR_12
0x0328 STAT_RX_BIP_ERR_13
0x0330 STAT_RX_BIP_ERR_14
0x0338 STAT_RX_BIP_ERR_15
0x0340 STAT_RX_BIP_ERR_16
0x0348 STAT_RX_BIP_ERR_17
0x0350 STAT_RX_BIP_ERR_18
0x0358 STAT_RX_BIP_ERR_19
0x0360 STAT_RX_FRAMING_ERR_0
0x0368 STAT_RX_FRAMING_ERR_1
0x0370 STAT_RX_FRAMING_ERR_2
0x0378 STAT_RX_FRAMING_ERR_3
0x0380 STAT_RX_FRAMING_ERR_4
0x0388 STAT_RX_FRAMING_ERR_5
0x0390 STAT_RX_FRAMING_ERR_6
0x0398 STAT_RX_FRAMING_ERR_7
0x03A0 STAT_RX_FRAMING_ERR_8
0x03A8 STAT_RX_FRAMING_ERR_9
0x03B0 STAT_RX_FRAMING_ERR_10
0x03B8 STAT_RX_FRAMING_ERR_11
0x03C0 STAT_RX_FRAMING_ERR_12
0x03C8 STAT_RX_FRAMING_ERR_13
0x03D0 STAT_RX_FRAMING_ERR_14
0x03D8 STAT_RX_FRAMING_ERR_15
0x03E0 STAT_RX_FRAMING_ERR_16
0x03E8 STAT_RX_FRAMING_ERR_17
0x03F0 STAT_RX_FRAMING_ERR_18
0x03F8 STAT_RX_FRAMING_ERR_19
0x0400–0x0410 Reserved
0x0418 STAT_RX_BAD_CODE
0x0420 Reserved
0x0428 Reserved
0x0430 Reserved
0x0438 Reserved
0x0440 Reserved
0x0448 Reserved
0x0450 Reserved
0x0458 STAT_TX_FRAME_ERROR
0x0460 Reserved
0x0500 STAT_TX_TOTAL_PACKETS
0x0508 STAT_TX_TOTAL_GOOD_PACKETS
0x0510 STAT_TX_TOTAL_BYTES
0x0518 STAT_TX_TOTAL_GOOD_BYTES
0x0520 STAT_TX_PACKET_64_BYTES
0x0528 STAT_TX_PACKET_65_127_BYTES
0x0530 STAT_TX_PACKET_128_255_BYTES
0x0538 STAT_TX_PACKET_256_511_BYTES
0x0540 STAT_TX_PACKET_512_1023_BYTES
0x0548 STAT_TX_PACKET_1024_1518_BYTES
0x0550 STAT_TX_PACKET_1519_1522_BYTES
0x0558 STAT_TX_PACKET_1523_1548_BYTES
0x0560 STAT_TX_PACKET_1549_2047_BYTES
0x0568 STAT_TX_PACKET_2048_4095_BYTES
0x0570 STAT_TX_PACKET_4096_8191_BYTES
0x0578 STAT_TX_PACKET_8192_9215_BYTES
0x0580 STAT_TX_PACKET_LARGE
0x0588 STAT_TX_PACKET_SMALL
0x0590–0x05B0 Reserved
0x05B8 STAT_TX_BAD_FCS
0x05C0 Reserved
0x05C8 Reserved
0x05D0 STAT_TX_UNICAST
0x05D8 STAT_TX_MULTICAST
0x05E0 STAT_TX_BROADCAST
0x05E8 STAT_TX_VLAN
0x05F0 STAT_TX_PAUSE
0x05F8 STAT_TX_USER_PAUSE
0x0600 Reserved
0x0608 STAT_RX_TOTAL_PACKETS
0x0610 STAT_RX_TOTAL_GOOD_PACKETS
0x0618 STAT_RX_TOTAL_BYTES
0x0620 STAT_RX_TOTAL_GOOD_BYTES
0x0628 STAT_RX_PACKET_64_BYTES
0x0630 STAT_RX_PACKET_65_127_BYTES
0x0638 STAT_RX_PACKET_128_255_BYTES
0x0640 STAT_RX_PACKET_256_511_BYTES
0x0648 STAT_RX_PACKET_512_1023_BYTES
0x0650 STAT_RX_PACKET_1024_1518_BYTES
0x0658 STAT_RX_PACKET_1519_1522_BYTES
0x0660 STAT_RX_PACKET_1523_1548_BYTES
0x0668 STAT_RX_PACKET_1549_2047_BYTES
0x0670 STAT_RX_PACKET_2048_4095_BYTES
0x0678 STAT_RX_PACKET_4096_8191_BYTES
0x0680 STAT_RX_PACKET_8192_9215_BYTES
0x0688 STAT_RX_PACKET_LARGE
0x0690 STAT_RX_PACKET_SMALL
0x0698 STAT_RX_UNDERSIZE
0x06A0 STAT_RX_FRAGMENT
0x06A8 STAT_RX_OVERSIZE
0x06B0 STAT_RX_TOOLONG
0x06B8 STAT_RX_JABBER
0x06C0 STAT_RX_BAD_FCS
0x06C8 STAT_RX_PACKET_BAD_FCS
0x06D0 STAT_RX_STOMPED_FCS
0x06D8 STAT_RX_UNICAST
0x06E0 STAT_RX_MULTICAST
0x06E8 STAT_RX_BROADCAST
0x06F0 STAT_RX_VLAN
0x06F8 STAT_RX_PAUSE
0x0700 STAT_RX_USER_PAUSE
0x0708 STAT_RX_INRANGEERR
0x0710 STAT_RX_TRUNCATED
0x0718 STAT_OTN_TX_JABBER
0x0720 STAT_OTN_TX_OVERSIZE
0x0728 STAT_OTN_TX_UNDERSIZE
0x0730 STAT_OTN_TX_TOOLONG
0x0738 STAT_OTN_TX_FRAGMENT
0x0740 STAT_OTN_TX_PACKET_BAD_FCS
0x0748 STAT_OTN_TX_STOMPED_FCS
0x0750 STAT_OTN_TX_BAD_CODE
0x0758–0x07FF Reserved
0x1008 STAT_RX_RSFEC_CORRECTED_CW_INC
0x1010 STAT_RX_RSFEC_UNCORRECTED_CW_INC
0x101C STAT_RX_RSFEC_ERR_COUNT0_INC
0x1024 STAT_RX_RSFEC_ERR_COUNT1_INC
0x102C STAT_RX_RSFEC_ERR_COUNT2_INC
0x1034 STAT_RX_RSFEC_ERR_COUNT3_INC
0x103C STAT_RX_RSFEC_CW_INC
  1. Histogram/Counter registers are available when Include Statistics Counters option is selected in Figure 1.