Triple-Speed Ethernet Intel® FPGA IP User Guide: Agilex™ 5 FPGAs and SoCs

ID 813669
Date 7/08/2024
Public
Document Table of Contents

5.1.1.1. Command_Config Register (Dword Offset 0x02)

Figure 33. Command_Config Register Fields


At the minimum, you must configure the TX_ENA and RX_ENA bits to 1 to start the MAC operations. When configuring the command_config register, Altera recommends that you configure the TX_ENA and RX_ENA bits the last because the MAC immediately starts its operations once these bits are set to 1.

Table 26.  Command_Config Register Field Descriptions
Bit(s) Name R/W Description HW Reset
0 TX_ENA RW Transmit enable. Set this bit to 1 to enable the transmit datapath. The MAC clears this bit following a hardware or software reset. See the SW_RESET bit description. 0
1 RX_ENA RW Receive enable. Set this bit to 1 to enable the receive datapath. The MAC clears this bit following a hardware or software reset. See the SW_RESET bit description. 0
2 XON_GEN RW Pause frame generation. When you set this bit to 1, the MAC generates a pause frame with a pause quanta of 0, independent of the status of the receive FIFO buffer. 0
3 ETH_SPEED RW Ethernet speed control.
  • Set this bit to 1 to enable gigabit Ethernet operation. The set_1000 signal is masked and does not affect the operation.
  • If you set this bit to 0, gigabit Ethernet operation is enabled only if the set_1000 signal is asserted. Otherwise, the MAC operates in 10/100 Mbps Ethernet mode.

When the MAC operates in gigabit mode, the eth_mode signal is asserted. This bit is not available in the small MAC variation.

0
4 PROMIS_EN RW Promiscuous enable. Set this bit to 1 to enable promiscuous mode. In this mode, the MAC receives all frames without address filtering. 0
5 PAD_EN RW Padding removal on receive. Set this bit to 1 to remove padding from receive frames before the MAC forwards the frames to the user application. This bit has no effect on transmit frames.

This bit is not available in the small MAC variation.

0
6 CRC_FWD RW CRC forwarding on receive.
  • Set this bit to 1 to forward the CRC field to the user application.
  • Set this bit to 0 to remove the CRC field from receive frames before the MAC forwards the frame to the user application.
  • The MAC ignores this bit when it receives a padded frame and the PAD_EN bit is 1. In this case, the MAC checks the CRC field and removes the checksum and padding from the frame before forwarding the frame to the user application.
0
7 PAUSE_FWD RW Pause frame forwarding on receive.
  • Set this bit to 1 to forward receive pause frames to the user application.
  • Set this bit to 0 to terminate and discard receive pause frames.
0
8 PAUSE_IGNORE RW Pause frame processing on receive.
  • Set this bit to 1 to ignore receive pause frames.
  • Set this bit to 0 to process receive pause frames. The MAC suspends transmission for an amount of time specified by the pause quanta.
0
9 TX_ADDR_INS RW MAC address on transmit.
  • Set this bit to 1 to overwrite the source MAC address in transmit frames received from the user application with the MAC primary or supplementary address configured in the registers. The TX_ADDR_SEL bit determines the address selection.
  • Set this bit to 0 to retain the source MAC address in transmit frames received from the user application.
0
10 HD_ENA RW Half-duplex enable.
  • Set this bit to 1 to enable half-duplex.
  • Set this bit to 0 to enable full-duplex.
  • The MAC ignores this bit if you set the ETH_SPEED bit to 1.
0
11 EXCESS_COL RO Excessive collision condition.
  • The MAC sets this bit to 1 when it discards a frame after detecting a collision on 16 consecutive frame retransmissions.
  • The MAC clears this bit following a hardware or software reset. See the SW_RESET bit description.
0
12 LATE_COL RO Late collision condition.
  • The MAC sets this bit to 1 when it detects a collision after transmitting 64 bytes and discards the frame.
  • The MAC clears this bit following a hardware or software reset. See the SW_RESET bit description.
0
13 SW_RESET RW Software reset. Set this bit to 1 to trigger a software reset. The MAC clears this bit when it completes the software reset sequence.

When software reset is triggered, the MAC completes the current transmission or reception, and subsequently disables the transmit and receive logic, flushes the receive FIFO buffer, and resets the statistics counters.

0
14 MHASH_SEL RW Hash-code mode selection for multicast address resolution.
  • Set this bit to 0 to generate the hash code from the full 48-bit destination address.
  • Set this bit to 1 to generate the hash code from the lower 24 bits of the destination MAC address.
0
15 LOOP_ENA RW Local loopback enable. Set this bit to 1 to enable local loopback on the RGMII/GMII/MII of the MAC. The MAC sends transmit frames back to the receive path.

This bit is not available in the small MAC variation.

0
16 – 18 TX_ADDR_SEL[2:0] RW Source MAC address selection on transmit. If you set the TX_ADDR_INS bit to 1, the value of these bits determines the MAC address the MAC selects to overwrite the source MAC address in frames received from the user application.
  • 000 = primary address configured in the mac_0 and mac_1 registers.
  • 100 = supplementary address configured in the smac_0_0 and smac_0_1 registers.
  • 101 = supplementary address configured in the smac_1_0 and smac_1_1 registers.
  • 110 = supplementary address configured in the smac_2_0 and smac_2_1 registers.
  • 111 = supplementary address configured in the smac_3_0 and smac_3_1 registers.
000
19 MAGIC_ENA RW Magic packet detection. Set this bit to 1 to enable magic packet detection.

This bit is not available in the small MAC variation.

0
20 SLEEP RW Sleep mode enable. When the MAGIC_ENA bit is 1, set this bit to 1 to put the MAC to sleep and enable magic packet detection.

This bit is not available in the small MAC variation.

0
21 WAKEUP RO Node wake-up request. Valid only when the MAGIC_ENA bit is 1.
  • The MAC sets this bit to 1 when a magic packet is detected.
  • The MAC clears this bit when the SLEEP bit is set to 0.
0
22 XOFF_GEN RW Pause frame generation. Set this bit to 1 to generate a pause frame independent of the status of the receive FIFO buffer. The MAC sets the pause quanta field in the pause frame to the value configured in the pause_quant register. 0
23 CNTL_FRM_ENA RW MAC control frame enable on receive.
  • Set this bit to 1 to accept control frames other than pause frames (opcode = 0x0001) and forward them to the user application.
  • Set this bit to 0 to discard control frames other than pause frames.
0
24 NO_LGTH_CHECK RW Payload length check on receive.
  • Set this bit to 0 to check the actual payload length of receive frames against the length/type field in receive frames.
  • Set this bit to 1 to omit length checking.

This bit is not available in the small MAC variation

0

1 (for small MAC variation)

25 ENA_10 RW 10-Mbps interface enable. Set this bit to 1 to enable the 10-Mbps interface. The MAC asserts the ena_10 signal when you enable the 10-Mbps interface. You can also enable the 10-Mbps interface by asserting the set_10 signal. 0
26 RX_ERR_DISC RW Erroneous frames processing on receive.
  • Set this bit to 1 to discard erroneous frames received. This applies only when you enable store and forward operation in the receive FIFO buffer by setting the rx_section_full register to 0.
  • Set this bit to 0 to forward erroneous frames to the user application with rx_err[0] asserted.
0
27 DISABLE_READ_TIMEOUT RW

By default, this bit is set to 0. Set this bit to 1 to disable MAC configuration register read timeout.

To ensure the configuration register does not wait for read timeout when an error occurs, set this bit to 1.

0
28 – 30 Reserved 000
31 CNT_RESET RW Statistics counters reset. Set this bit to 1 to clear the statistics counters. The MAC clears this bit when the reset sequence completes. 0