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.5. TX Configuration and Status Registers

Table 36.  TX Configuration and Status Registers
Word Offset Register Name Description Access HW Reset Value
0x0020 tx_packet_control
  • Bit 0—configures the TX path.

    0: Enables the TX path.

    1: Disables the TX path. The MAC IP core indicates a backpressure on the Avalon® streaming transmit data interface by deasserting the avalon_st_tx_ready signal. When disabled, the IP core stops generating new pause and PFC frames.

  • Bits 31:1—reserved.

You can change the value of this register as necessary. If the TX path is disabled while a frame is being transmitted, the MAC IP core completes the transmission before disabling the TX path.

RW 0x0
0x0022 tx_transfer_status

The MAC sets the following bits to indicate the status of the TX datapath.

  • Bits 7:0—reserved.
  • Bit 8: TX datapath status.

    0: The TX datapath is idle.

    1: A TX data transfer is in progress.

  • Bits 11:9—reserved.
  • Bit 12: TX datapath reset status.

    0: The TX datapath is not in reset.

    1: The TX datapath is in reset.

RO 0x0
0x0024 tx_pad_control
  • Bit 0—padding insertion enable on transmit.

    0: Disables padding insertion. The client must ensure that the length of the data frame meets the minimum length as required by the IEEE 802.3 specifications.

    1: Enables padding insertion. The MAC IP core inserts padding bytes into the data frames from the client to meet the minimum length as required by the IEEE 802.3 specifications.

    When padding insertion is enabled, you must set tx_crc_control[] to 0x3 to enable CRC insertion.

  • Bits 31:1—reserved.

Configure this register before you enable the MAC IP core for operations.

RW 0x1
0x0026 tx_crc_control
  • Bit 0—always set this bit to 1.
  • Bit 1—configures CRC insertion.

    0: Disables CRC insertion. The client must provide the CRC field and ensure that the length of the data frame meets the minimum required length.

    1: Enables CRC insertion. The MAC IP core computes the CRC field and inserts it into the data frame.

  • Bits 31:2—reserved.

Configure this register before you enable the MAC IP core for operations.

RW 0x3
0x0028 tx_preamble_control 3
  • Bit 0—always set this bit to 1.
  • Bit 1—configures CRC insertion.

    0: Disables CRC insertion. The client must provide the CRC field and ensure that the length of the data frame meets the minimum required length.

    1: Enables CRC insertion. The MAC IP core computes the CRC field and inserts it into the data frame.

  • Bits 31:2—reserved.

Configure this register before you enable the MAC IP core for operations.

RW

0x3

0x002A tx_src_addr_override
  • Bit 0—configures source address override.

    0: Disables source address override. The client must fill the source address field with a valid address..

    1: Enables source address override. The MAC IP core overwrites the source address field in data frames with the primary MAC address specified in the tx_primary_mac_addr0 and tx_primary_mac_addr1 registers.

  • Bits 31:1—reserved.

Configure this register before you enable the MAC IP core for operations.

RW 0x0
0x002C tx_frame_maxlength
  • Bits 15:0—specify the maximum allowable frame length. The MAC IP core uses this register only for the purpose of collecting statistics. When the length of the data frame from the client exceeds this value, the MAC IP core asserts the avalon_st_txstatus_error[1] signal to flag the frame as oversized. The MAC IP core then forwards the oversized frame through the transmit datapath as is.
  • Bits 31:16—reserved.

Configure this register before you enable the MAC IP core for operations.

RW 0x5EE (1518)
0x002D tx_vlan_detection
  • Bit 0—TX VLAN detection disable.

    0: The MAC detects VLAN and stacked VLAN frames.

    1: The MAC does not detect VLAN and stacked VLAN frames. When received, the MAC treats them as basic frames and considers their tags as payload bytes.

  • Bits 31:1—reserved.
RW 0x0

0x002E

0x081E

tx_ipg_10g
  • Bit 0—use this bit to specify the average IPG for operating speed of 10 Gbps.

    0: Sets the average IPG to 8 bytes.

    1: Sets the average IPG to 12 bytes.

  • Bits 31:1—reserved.

The Unidirectional feature does not support an average IPG of 8 bytes.

If you turn on Use legacy Ethernet 10G MAC Avalon® memory-mapped interface , the word offset is 0x081E. Otherwise, the word offset is 0x002E.

RW 0x1

0x002F

0x081F

tx_ipg_10M_100M_1G
  • Bits 3:0—use these bits to specify the average IPG for operating speed of 10 Mbps, 100 Mbps or 1 Gbps. Valid values are between 8 to 15 bytes.
  • Bits 31:4—reserved.

If you turn on Use legacy Ethernet 10G MAC Avalon® memory-mapped interface , the word offset is 0x081F. Otherwise, the word offset is 0x002F.

RW 0x0C
0x003E tx_underflow_counter0

36-bit error counter that collects the number of truncated TX frames when TX buffer underflow persists.

  • tx_underflow_counter0: Lower 32 bits of the error counter.
  • tx_underflow_counter1[3:0]: Upper 4 bits of the error counter.
  • tx_underflow_counter1[31:4]—reserved.

To read the counter, read the lower 32 bits followed by the upper 4 bits. The IP core clears the counter after a read.

RO 0x0
0x003F tx_underflow_counter1
3 This register is used only when you turn on Enable preamble pass-through mode option. It is reserved when not used.