Low Latency Ethernet 10G MAC Intel® FPGA IP User Guide: Agilex™ 5 FPGAs and SoCs
A newer version of this document is available. Customers should click here to go to the newest version.
6.10.2. Calculating Deterministic Latency
| 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 |  
         
  |  
          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 |  
         
  |  
          TX PMA delay in the number of UI. Multiply by UI period to convert to nanoseconds and fractional nanoseconds format.  |  
       
| RX PMA Delay |  
         
  |  
          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:
TX Latency = TxDL * (sampling_clock_period in ns)
RX Latency = RxDL * (sampling_clock_period in ns)
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)