Low Latency Ethernet 10G MAC Intel® FPGA IP User Guide: Agilex™ 5 FPGAs and SoCs

ID 813663
Date 4/01/2024
Public

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

Document Table of Contents

6.9. Statistics Registers

Statistics counters with prefix tx_ collect statistics on the TX datapath; prefix rx_ collect statistics on the RX datapath. The counters collect statistics for the following frames:

  • Good frame—error-free frames with a valid frame length.
  • Error frame—frames that contain errors or with an invalid frame length.
  • Invalid frame—frames that are not supported by the MAC IP core or its current configuration. For example, if the MAC is configured to receive all unicast frames, unicast frames are considered valid because address filtering is disabled. The MAC drops invalid frames.

Most of the statistics counters are 36 bits wide and occupy two offsets. The user application must first read the lower 32 bits followed by the upper 4 bits.

  • The lower 32 bits of the counter occupy the first offset.
  • The upper 4 bits of the counter occupy bits 3:0 at the second offset.
  • Bits 31:5 at the second offset are reserved.

Consider the following guidelines when using the statistics counters:

  • Memory-based statistics counters may not be accurate when the MAC IP core receives or transmits back-to-back undersized frames. On the TX datapath, you can enable padding to avoid this situation. Undersized frames are frames with less than 64 bytes.
  • Do not access the statistics counters when the TX and RX datapaths reset are in progress. Doing so can lead to unpredictable results.

Table 40.  TX and RX Statistics Registers
Word Offset Register Name Description Access HW Reset Value
0x0140 tx_stats_clr
  • Bit 0—Set this register to 1 to clear all TX statistics counters. The IP core clears this bit when all counters are cleared.
  • Bits 31:1—reserved.
RWC 0x0
0x01C0 rx_stats_clr
  • Bit 0—Set this register to 1 to clear all RX statistics counters. The IP core clears this bit when all counters are cleared.
  • Bits 31:1—reserved.
RWC 0x0
0x0142 tx_stats_framesOK 36-bit statistics counter that collects the number of frames that are successfully received or transmitted, including control frames. RO 0x0
0x0143
0x01C2 rx_stats_framesOK
0x01C3
0x0144 tx_stats_framesErr 36-bit statistics counter that collects the number of frames received or transmitted with error, including control frames. RO 0x0
0x0145
0x01C4 rx_stats_framesErr
0x01C5
0x01C6 rx_stats_framesCRCErr 36-bit statistics counter that collects the number of RX frames with CRC error. RO 0x0
0x01C7
0x0148 tx_stats_octetsOK 64-bit statistics counter that collects the payload length, including the bytes in control frames. The payload length is the number of data and padding bytes received or transmitted. If the tx_vlan_detection[0] or rx_vlan_detection[0] register bit is set to 1, the VLAN and stacked VLAN tags are counted as part of the TX payload or RX payload respectively. RO 0x0
0x0149
0x01C8 rx_stats_octetsOK
0x01C9
0x014A tx_stats_pauseMACCtrl_Frames 36-bit statistics counter that collects the number of valid pause frames received or transmitted. RO 0x0
0x014B
0x01CA rx_stats_pauseMACCtrl_Frames
0x01CB
0x014C tx_stats_ifErrors 36-bit statistics counter that collects the number of frames received or transmitted that are invalid and with error. RO 0x0
0x014D
0x01CC rx_stats_ifErrors
0x01CD
0x014E tx_stats_unicast_FramesOK 36-bit statistics counter that collects the number of good unicast frames received or transmitted, excluding control frames. RO 0x0
0x014F
0x01CE rx_stats_unicast_FramesOK
0x01CF
0x0150 tx_stats_unicast_FramesErr 36-bit statistics counter that collects the number of unicast frames received or transmitted with error, excluding control frames. RO 0x0
0x0151
0x01D0 rx_stats_unicast_FramesErr
0x01D1
0x0152 tx_stats_multicast_FramesOK 36-bit statistics counter that collects the number of good multicast frames received or transmitted, excluding control frames. RO 0x0
0x0153
0x01D2 rx_stats_multicast_FramesOK
0x01D3
0x0154 tx_stats_multicast_FramesErr 36-bit statistics counter that collects the number of multicast frames received or transmitted with error, excluding control frames. RO 0x0
0x0155
0x01D4 rx_stats_multicast_FramesErr
0x01D5
0x0156 tx_stats_broadcast_FramesOK 36-bit statistics counter that collects the number of good broadcast frames received or transmitted, excluding control frames. RO 0x0
0x0157
0x01D6 rx_stats_broadcast_FramesOK
0x01D7
0x0158 tx_stats_broadcast_FramesErr 36-bit statistics counter that collects the number of broadcast frames received or transmitted with error, excluding control frames. RO 0x0
0x0159
0x01D8 rx_stats_broadcast_FramesErr
0x01D9
0x015A tx_stats_etherStatsOctets 64-bit statistics counter that collects the total number of octets received or transmitted. This count includes good, errored, and invalid frames. RO 0x0
0x015B
0x01DA rx_stats_etherStatsOctets
0x01DB
0x015C tx_stats_etherStatsPkts 36-bit statistics counter that collects the total number of good, errored, and invalid frames received or transmitted. RO 0x0
0x015D
0x01DC rx_stats_etherStatsPkts
0x01DD
0x015E tx_stats_etherStatsUndersizePkts 36-bit statistics counter that collects the number of undersized TX or RX frames. RO 0x0
0x015F
0x01DE rx_stats_etherStatsUndersizePkts
0x01DF
0x0160 tx_stats_etherStatsOversizePkts 36-bit statistics counter that collects the number of TX or RX frames whose length exceeds the maximum frame length specified. RO 0x0
0x0161
0x01E0 rx_stats_etherStatsOversizePkts
0x01E1
0x0162 tx_stats_etherStatsPkts64Octets 36-bit statistics counter that collects the number of 64-byteTX or RX frames, including the CRC field but excluding the preamble and SFD bytes. This count includes good, errored, and invalid frames. RO 0x0
0x0163
0x01E2 rx_stats_etherStatsPkts64Octets
0x01E3
0x0164 tx_stats_etherStatsPkts65to127Octets 36-bit statistics counter that collects the number of TX or RX frames between the length of 65 and 127 bytes, including the CRC field but excluding the preamble and SFD bytes. This count includes good, errored, and invalid frames. RO 0x0
0x0165
0x01E4 rx_stats_etherStatsPkts65to127Octets
0x01E5
0x0166 tx_stats_etherStatsPkts128to255Octets 36-bit statistics counter that collects the number of TX or RX frames between the length of 128 and 255 bytes, including the CRC field but excluding the preamble and SFD bytes. This count includes good, errored, and invalid frames. RO 0x0
0x0167
0x01E6 rx_stats_etherStatsPkts128to255Octets
0x01E7
0x0168 tx_stats_etherStatsPkts256to511Octets 36-bit statistics counter that collects the number of TX or RX frames between the length of 256 and 511 bytes, including the CRC field but excluding the preamble and SFD bytes. This count includes good, errored, and invalid frames. RO 0x0
0x0169
0x01E8 rx_stats_etherStatsPkts256to511Octets
0x01E9
0x016A tx_stats_etherStatsPkts512to1023Octets 36-bit statistics counter that collects the number of TX or RX frames between the length of 512 and 1,023 bytes, including the CRC field but excluding the preamble and SFD bytes. This count includes good, errored, and invalid frames. RO 0x0
0x016B
0x01EA rx_stats_etherStatsPkts512to1023Octets
0x01EB
0x016C tx_stats_etherStatPkts1024to1518Octets 36-bit statistics counter that collects the number of TX or RX frames between the length of 1,024 and 1,518 bytes, including the CRC field but excluding the preamble and SFD bytes. This count includes good, errored, and invalid frames. RO 0x0
0x016D
0x01EC rx_stats_etherStatPkts1024to1518Octets
0x01ED
0x016E tx_stats_etherStatsPkts1519toXOctets 36-bit statistics counter that collects the number of TX or RX frames equal or more than the length of 1,519 bytes, including the CRC field but excluding the preamble and SFD bytes. This count includes good, errored, and invalid frames. RO 0x0
0x016F
0x01EE rx_stats_etherStatsPkts1519toXOctets
0x01EF
0x01F0 rx_stats_etherStatsFragments 36-bit statistics counter that collects the total number of RX frames with length less than 64 bytes and CRC error. The MAC does not drop these frames. RO 0x0
0x01F1
0x01F2 rx_stats_etherStatsJabbers 36-bit statistics counter that collects the number of oversized RX frames with CRC error. The MAC does not drop these frames. RO 0x0
0x01F3
0x01F4 rx_stats_etherStatsCRCErr 36-bit statistics counter that collects the number of RX frames with CRC error, whose length is between 64 and the maximum frame length specified in the register. The MAC does not drop these frames. RO 0x0
0x01F5
0x0176 tx_stats_unicastMACCtrlFrames 36-bit statistics counter that collects the number of valid TX or RX unicast control frames. RO 0x0
0x0177
0x01F6 rx_stats_unicastMACCtrlFrames
0x01F7
0x0178 tx_stats_multicastMACCtrlFrames 36-bit statistics counter that collects the number of valid TX or RX multicast control frames. RO 0x0
0x0179
0x01F8 rx_stats_multicastMACCtrlFrames
0x01F9
0x017A tx_stats_broadcastMACCtrlFrames 36-bit statistics counter that collects the number of valid TX or RX broadcast control frames. RO 0x0
0x017B
0x01FA rx_stats_broadcastMACCtrlFrames
0x01FB
0x017C tx_stats_PFCMACCtrlFrames 36-bit statistics counter that collects the number of valid TX or RX PFC frames. RO 0x0
0x017D
0x01FC rx_stats_PFCMACCtrlFrames
0x01FD