Status and Statistics Register Space - 3.1 English

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

Document ID
PG203
Release Date
2023-11-01
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 5-6:      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

Notes:

1.Histogram/Counter registers are available when Include Statistics Counters option is selected in This Figure.