GTS Ethernet Intel® FPGA Hard IP User Guide: Agilex™ 3 FPGAs and SoCs

ID 848477
Date 4/07/2025
Public

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

Document Table of Contents

11.2. Packet Client Registers

You can customize the GTS Ethernet Intel® FPGA Hard IP hardware design example by programming the packet client registers for IP variants. These registers are not included in the Agilex™ 3 Ethernet Intel® FPGA Hard IP Register Map.

To access the packet client registers, the address value is calculated using both the base and offset address. For example, to access hw_test_rom_addr register, add offset address 0x08 to the packet client register base address 0x100000, which results in 0x100008.

Table 57.  Packet Client Registers for MAC Avalon® ST Interface
Note: All address offsets are specified in the byte address format.
Address Name Bit Offset Default Value Access Description
0x00 hw_pc_ctrl 0 1'b0 RW Start and stop of the TX packet generation.
  • 0: Stop packet generator
  • 1: Start packet generator
2 1'b0 RW Packet transmission mode.
  • 0: One time mode
  • 1: Continuous mode

When you switch from continuous to one time mode, you must set hw_pc_ctrl[0] to 1 to ensure the pending packet transmission is completed.

4 1'b0 RW Packet client loopback.
  • 0: Packet generator data path: Data flow from packet client to TX data path
  • 1: Loopback client data path: RX MAC Avalon Streaming loopback to TX MAC Avalon Streaming Client Interface
6 1'b0 RW The snapshot status for all statistics counter registers.
  • 0: No snapshot
  • 1: Snapshot available
7 1'b0 RW The clear status of the snapshot registers.
  • 0: Do not clear the internal registers
  • 1: Clear the internal registers
8 1'b0 RW The EOP of TX packet and clears the counters.
0x0C Loopback_FIFO_status [0] 0 RW Loopback FIFO write full error
[1] 0 RW Loopback FIFO read empty error
[15:2] 14'h0000 RW Reserved. Default 0s
0x1C cfg_rom_pkt_gap [4:0] 0 RW

Gap insertion between the packets. avst: min gap = 0; max gap = 31

[31:5] 0 RW Reserved. Default 0s.
0x04 hw_test_loop_cnt [15:0] 16'd1 RW Indicates the number of times the ROM packet data are sent.
0x08 hw_test_rom_addr [15:0] 16'd0 RW ROM packet data start address
[31:16] 16'd0 RW ROM packet data end address
0x10 Latency Reg [7:0] 8'h00 RO Latency Value in terms of o_clk_pll
[30:8] 23'd0 RO Reserved
[31] 0 RW Latency enable bit (self- clearing)
0x14 cfg_rom_da_addr [31:0] 0 RW Destination address LSB 32 bits
0x18 Cfg_rom_da_adr_h [15:0] 0 RW Destination address LSB 16 bits
[16] 0 RW 16th bit = 1/0 to enable/disable DA insertion
[31:17] 0 RW Reserved. Default 0s
0x20 stat_tx_sop_cnt_lsb [31:0] 32'b0 RO Lower 32-bits of the TX start-of-packet (SOP) counter
0x24 stat_tx_sop_cnt_msb [31:0] 32'b0 RO Upper 32-bits of the TX start-of-packet (SOP) counter
0x28 stat_tx_eop_cnt_lsb [31:0] 32'b0 RO Lower 32-bits of the TX end-of-packet (EOP) counter
0x2C stat_tx_eop_cnt_msb [31:0] 32'b0 RO Upper 32-bits of the TX end-of-packet (EOP) counter
0x30 stat_tx_err_cnt_lsb [31:0] 32'b0 RO Lower 32-bits of the TX error counter
0x34 stat_tx_err_cnt_msb [31:0] 32'b0 RO Upper 32-bits of the TX error counter
0x38 stat_rx_sop_cnt_lsb [31:0] 32'b0 RO Lower 32-bits of the RX start-of-packet (SOP) counter
0x3C stat_rx_sop_cnt_msb [31:0] 32'b0 RO Upper 32-bits of the RX start-of-packet (SOP) counter
0x40 stat_rx_eop_cnt_lsb [31:0] 32'b0 RO Lower 32-bits of the RX end-of-packet (EOP) counter
0x44 stat_rx_eop_cnt_msb [31:0] 32'b0 RO Upper 32-bits of the RX end-of-packet (EOP) counter
0x48 stat_rx_err_cnt_lsb [31:0] 32'b0 RO Lower 32-bits of the RX error counter
0x4C stat_rx_err_cnt_msb [31:0] 32'b0 RO Upper 32-bits of the RX error counter
Table 58.  Packet Client Registers for PCS, OTN, and FlexE Interface
Note: All address offsets are specified in the byte address format.
Address Name Bit Offset Default Value Access Description
0x10 cfg_start_pkt_gen 0 1'b0 RW Start and stop TX packet generator.
  • 0: Stop packet generator.
  • 1: Start packet generator.
0x58 cfg_clear_counters 0 1'b0 RW When set, clears packet generator counters.
0x18 stat_tx_sop_cnt [31:0] 32'b0 RO Lower 32-bits of the TX start-of-packet (SOP) counter
0x1C stat_tx_sop_cnt [31:0] 32'b0 RO Upper 32-bits of the TX start-of packet (SOP) counter
0x20 stat_tx_eop_cnt [31:0] 32'b0 RO Lower 32-bits of the TX end-of-packet (EOP) counter
0x24 stat_tx_eop_cnt [31:0] 32'b0 RO Upper 32-bits of the TX end-of-packet (EOP) counter
0x30 stat_rx_sop_cnt [31:0] 32'b0 RO Lower 32-bits of the RX start-of-packet (SOP) counter
0x34 stat_rx_sop_cnt [31:0] 32'b0 RO Upper 32-bits of the RX start-of-packet (SOP) counter
0x38 stat_rx_eop_cnt [31:0] 32'b0 RO Lower 32-bits of the RX end-of-packet (EOP) counter
0x3C stat_rx_eop_cnt [31:0] 32'b0 RO Upper 32-bits of the RX end-of-packet (EOP) counter
0x50 stat_rx_err_cnt [31:0] 32'b0 RO Lower 32-bits of the RX error status
0x54 stat_rx_err_cnt [31:0] 32'b0 RO Upper 32-bits of the RX error status