Visible to Intel only — GUID: byu1661501047669
Ixiasoft
Visible to Intel only — GUID: byu1661501047669
Ixiasoft
5.4. Deterministic Latency
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.
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. |
|
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. |
Variant | TX Latency (ns) | RX Latency (ns) |
---|---|---|
1G/100M | TxDL * (sampling_clock period in ns)/(2^8) | RxDL * (sampling_clock period in ns)/(2^8) |
- Read TX/RX DL values from DL soft registers 0xE2 and 0xE3 respectively and calculate TX/RX latency.
- Convert the TX and RX latency to 16 bits nanosecond and 16 bits fractional nanosecond format by multiplying them by 216 or 65536.
- Calculate the sum of the latency values and the TX/RX PMA delay values (In nanoseconds and fractional nanoseconds).
- Program the calculated 16 bits values to Triple-Speed Ethernet register.
- Program lower 16 bits TX latency values to TSE MAC register 0xD1, which is the TX fns value.
- Program upper 16 bits TX latency values to TSE MAC register 0xD2, which is the TX ns value.
- Program lower 16 bits RX latency values to TSE MAC register 0xD4, which is the RX fns value.
- Program upper 16 bits RX latency values to TSE MAC register 0xD5, which is the RX ns value.