Triple-Speed Ethernet IP User Guide: Agilex™ 3 and Agilex™ 5 FPGAs and SoCs

ID 813669
Date 8/04/2025
Public
Document Table of Contents

4.5. Deterministic Latency

The Deterministic Latency (DL) term used across this document refers to the ability to precisely determine the delay between the elastic FIFO (EFIFO) and the PMA pins.

The deterministic latency measurement methodology is based on the concept of measuring the time when a given word is at the interface to the PMA and when that same word is at the FPGA core. The difference in time between these two events, when added to the PMA propagation delay, determines the total latency between the FPGA core and the serial pins. Such a calculation intrinsically includes all delays due to intermediate logic, FIFOs, and all other effects.

You must turn on Enable timestamping option to enable the DL feature.
Note: Deterministic latency feature is only supported on the 10/100/1000 Ethernet MAC without Internal FIFO Buffers with 1000BASE-X/SGMII 2XTBI PCS and Embedded PMA Signals (GTS) with IEEE 1588v2 variant.
Table 29.  Deterministic Latency Parameter Description for Triple-Speed Ethernet This table shows parameter description for the deterministic latency measurement for Triple-Speed Ethernet use case.
Item Value Description
sampling_clk period 4.375 ns Period for sampling clock (i_dl_sampling_clk) of 228.571429 MHz.
UI period 0.8 ns Period for unit interval.
parallel_clk 20 UI Period for 1 parallel clock cycle.
tx_delay (TxDL) Read from EFIFO-DL register 0xE2[20:0]

TX delay value in sampling_clk cycles, fixed point format Q13.8.

Bit [20:8] is integer, bit [7:0] is fractional number.

For example, tx_delay = 0x27F4,

Bit [20:8] = 0x27 = 39

Bit [7:0] = 0xF4 = 0.953125

Hence, tx_delay = 39.953125 clock cycles.

Or tx_delay = 39.953125 × (4.375ns sampling_clk) = 174.794921875ns

rx_delay (RxDL) Read from EFIFO-DL register 0xE3[20:0]

RX delay value in the sampling_clk cycles, fixed point format Q13.8.

Bit [20:8] is integer, bit [7:0] is fractional number.

For example, rx_delay = 0x27F4,

Bit [20:8] = 0x27 = 39

Bit [7:0] = 0xF4 = 0.953125

Hence, tx_delay = 39.953125 clock cycles.

Or rx_delay = 39.953125 × (4.375ns sampling_clk) = 174.794921875ns

tx_pma_delay

Simulation: 49

Hardware: 49

TX PMA delay in number of UI. Multiply by UI period to convert to nanosecond and fractional nanosecond format.
rx_pma_delay

Simulation: 67.5

Hardware: 67.5

RX PMA delay in number of UI. Multiply by UI period to convert to nanosecond and fractional nanosecond format.
Table 30.  Deterministic Latency Measurement for Triple-Speed Ethernet This table shows the TX and RX latency calculations for the 1G.
Variant TX Latency (ns) RX Latency (ns)
1G TxDL * (sampling_clock period in ns)/(2^8) + TX PMA Delay RxDL * (sampling_clock period in ns)/(2^8) + RX PMA Delay
Note:
  1. Read TX/RX DL values from DL soft registers 0xE2 and 0xE3 respectively and calculate TX/RX latency.
  2. Convert the TX and RX latency to 16 bits nanosecond and 16 bits fractional nanosecond format by multiplying them by 216 or 65536.
  3. Calculate the sum of the latency values and the TX/RX PMA delay values (In nanoseconds and fractional nanoseconds).
  4. Program the calculated 16 bits values to Triple-Speed Ethernet register.
    1. Program lower 16 bits TX latency values to TSE MAC register 0xD1, which is the TX fns value.
    2. Program upper 16 bits TX latency values to TSE MAC register 0xD2, which is the TX ns value.
    3. Program lower 16 bits RX latency values to TSE MAC register 0xD4, which is the RX fns value.
    4. Program upper 16 bits RX latency values to TSE MAC register 0xD5, which is the RX ns value.