Visible to Intel only — GUID: mca1652928250541
Ixiasoft
Visible to Intel only — GUID: mca1652928250541
Ixiasoft
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)