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

ID 813663
Date 10/07/2024
Public
Document Table of Contents

6.10.2. Calculating Deterministic Latency

Note: Please refer to the configuration registers of Multirate PHY IP for more information on the registers used in the Deterministic Latency calculation.
Table 43.  Deterministic Latency Parameter Description
Item Value Description
sampling_clk_period

4.375ns (1G/2.5G (MGBASE))

6.5ns (1G/2.5G/5G/10G/10M/100M (USXGMII))

Period for sampling clock of 228.571 MHz for 1G/2.5G (MGBASE) and 153.846 MHz for 1G/2.5G/5G/10G/10M/100M (USXGMII).

UI period
  • 0.8ns (1G)
  • 0.32ns (2.5G (MGBASE))
  • 0.09696ns (1G/2.5G/5G/10G/10M/100M/ (USXGMII))

Period for unit interval

bitslip_cnt Read from pcs_bitslip_cnt[6:0] Read from the Ethernet Reconfiguration Interface register (pcs_bitslip_cnt) at base 0x60000, register offset 0x110.

Applicable for 10M/100M/1G/2.5G/5G/10G (USXGMII) only.

dlpulse_alignment Read from pcs_bitslip_cnt[7] Read from the Ethernet Reconfiguration Interface register (pcs_bitslip_cnt) at base 0x60000, register offset 0x110.

Applicable for 10M/100M/1G/2.5G/5G/10G (USXGMII) only.

tx_delay (TxDL)

For 1G/2.5G (MGBASE):

Read from EFIFO-DL registers

[0x19:0x18] – [20:0]

For 10M/100M/1G/2.5G/5G/10G (USXGMII):

Read from PTP_DL_TX register

0x421[20:0]

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

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

Example: tx_delay = 0x27F4,

Bit [20:8] = 0x27 = 39,

Bit [7:0] = 0xF4 = 244/2^8 = 0.953125,

Hence, tx_delay = 39.953125 clock cycles.

rx_delay (RxDL)

For 1G/2.5G (MGBASE):

Read from EFIFO-DL register

[0x1B:0x1A] – [20:0]

For 10M/100M/1G/2.5G/5G/10G (USXGMII):

Read from PTP_DL_RX register

0x422[20:0]

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

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

Example: rx_delay = 0x27F4,

Bit [20:8] = 0x27 = 39,

Bit [7:0] = 0xF4 = 244/2^8 = 0.953125,

Hence, rx_delay = 39.953125 clock cycles.

TX PMA Delay
  • For 1G/2.5G (MGBASE):

    Simulation: 49

    Hardware: 49

  • For 10M/100M/1G/2.5G/5G/10G (USXGMII):

    Simulation: 79

    Hardware: 80

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

RX PMA Delay
  • For 1G/2.5G (MGBASE):

    Simulation: 67.5

    Hardware: 67.5

  • For 10M/100M/1G/2.5G/5G/10G (USXGMII):

    Simulation: 88

    Hardware: 88

RX PMA delay in the number of UI. Multiply by UI period to convert to nanoseconds and fractional nanoseconds format.

To calculate the TX and RX latency:

For 1G/2.5G (MGBASE):
TX Latency = TxDL * (sampling_clock_period in ns)
RX Latency = RxDL * (sampling_clock_period in ns)

For 10M/100M/1G/2.5G/5G/10G (USXGMII):
TX Latency = TxDL * (sampling_clock_period in ns)
RX Latency = RxDL * (sampling_clock_period in ns) + (- bitslip_cnt - 33 * dlpulse_alignment) * (UI period in ns)