F-Tile Low Latency Ethernet 10G MAC Intel® FPGA IP User Guide

ID 720985
Date 4/18/2024
Public
Document Table of Contents

6.9.1. IEEE 1588v2 Egress TX Signals

The signals below are present when you select the Enable time stamping option.

Table 30.  IEEE 1588v2 Egress TX Signals
Signal Direction Width Description
tx_egress_timestamp_request_valid In 1 Assert this signal to request for a timestamp for the transmit frame. This signal must be asserted in the same clock cycle avalon_st_tx_startofpacket is asserted.
tx_egress_timestamp_request_fingerprint[n-1:0] In n n = value of the Timestamp fingerprint width parameter.

Use this bus to specify the fingerprint of the transmit frame that you are requesting a timestamp for. This bus must carry a valid fingerprint at the same time tx_egress_timestamp_request_valid is asserted.

The purpose of the fingerprint is to associate the timestamp with the packet. Thus, it can be the sequence ID field from the PTP packet or some other unique field of the packet, to validate both the fingerprint and timestamp collected from the CPU.

tx_egress_timestamp_96b_valid Out 1 When asserted, this signal qualifies the timestamp on tx_egress_timestamp_96b_data[] for the transmit frame whose fingerprint is specified by tx_egress_timestamp_96b_fingerprint[] .
tx_egress_timestamp_96b_data[95:0] Out 96 Carries the 96-bit egress timestamp in the following format:
  • For 1588v2 format:
    • Bits 48 to 95: 48-bit seconds field
    • Bits 16 to 47: 32-bit nanoseconds field
    • Bits 0 to 15: 16-bit fractional nanoseconds field
  • For 1588v1 format:
    • Bits 64 to 95: 32-bit seconds field
    • Bits 32 to 63: 32-bit nanoseconds field
    • Bits 0 to 31: Unused
tx_egress_timestamp_96b_fingerprint[n-1:0] Out n n = value of the Timestamp fingerprint width parameter.

The fingerprint of the transmit frame, which is received on tx_egress_timestamp_request_data[]. This fingerprint specifies the transmit frame the egress timestamp on tx_egress_timestamp_96b_data[] is for.

tx_egress_timestamp_64b_valid Out 1 When asserted, this signal qualifies the timestamp on tx_egress_timestamp_64b_data[] for the transmit frame whose fingerprint is specified by tx_egress_timestamp_64b_fingerprint[].
tx_egress_timestamp_64b_data[63:0] Out 64 Carries the 64-bit egress timestamp in the following format:
  • Bits 16 to 63: 48-bit nanoseconds field
  • Bits 0 to 15: 16-bit fractional nanoseconds field
tx_egress_timestamp_64b_fingerprint[n-1:0] Out n n = value of the Timestamp fingerprint width parameter.

The fingerprint of the transmit frame, which is received on tx_egress_timestamp_request_data[]. This fingerprint specifies the transmit frame the egress timestamp on tx_egress_timestamp_64b_data[] signal is for.

tx_egress_p2p_update In 1

Assert this signal when the CF needs to be added with <meanPathDelay> given by tx_egress_p2p_val for a transmit frame, as part of peer-to-peer mechanism.

Assert this signal in the same clock cycle as the start of packet (avalon_st_tx_startofpacket is asserted).

tx_egress_p2p_val[45:0] In 46

This represents <meanPathDelay> for peer to peer operations.

  • Bits 16 to 45: Link delay in nanoseconds field
  • Bits 0 to 15: Link delay in fractional nanoseconds field
tx_etstamp_ins_ctrl_timestamp_insert In 1 Assert this signal to insert egress timestamp into the associated frame. Assert this signal in the same clock cycle avalon_st_tx_startofpacket is asserted.
tx_etstamp_ins_ctrl_timestamp_format In 1 Use this signal to specify the format of the timestamp to be inserted.
  • 0: 1588v2 format (48-bits second field + 32-bits nanosecond field + 16-bits correction field for fractional nanosecond). Required offset location of timestamp and correction field.
  • 1: 1588v1 format (32-bits second field + 32-bits nanosecond field). Required offset location of timestamp.

Assert this signal in the same clock cycle as the start of packet (avalon_st_tx_startofpacket is asserted).

tx_etstamp_ins_ctrl_residence_time_update In 1 Assert this signal to add residence time (egress timestamp –ingress timestamp) into correction field of PTP frame. Required offset location of correction field. Assert this signal in the same clock cycle as the start of packet (avalon_st_tx_startofpacket is asserted).
tx_etstamp_ins_ctrl_ingress_timestamp_96b[95:0] In 96 96-bit format of ingress timestamp.(48 bits second + 32 bits nanosecond + 16 bits fractional nanosecond). Assert this signal in the same clock cycle as the start of packet (avalon_st_tx_startofpacket is asserted).
tx_etstamp_ins_ctrl_ingress_timestamp_64b[63:0] In 64 64-bit format of ingress timestamp. (48-bits nanosecond + 16-bits fractional nanosecond). Assert this signal in the same clock cycle as the start of packet (avalon_st_tx_startofpacket is asserted).
tx_etstamp_ins_ctrl_residence_time_calc_format In 1 Format of timestamp to be used for residence time calculation.
  • 0: 96-bits (96-bits egress timestamp - 96-bits ingress timestamp).
  • 1: 64-bits (64-bits egress timestamp - 64-bits ingress timestamp).
Assert this signal in the same clock cycle as the start of packet (avalon_st_tx_startofpacket is asserted).
tx_etstamp_ins_ctrl_checksum_zero In 1 Assert this signal to set the checksum field of UDP/IPv4 to zero. Required offset location of checksum field. Assert this signal in the same clock cycle as the start of packet (avalon_st_tx_startofpacket is asserted).
tx_etstamp_ins_ctrl_checksum_correct In 1 Assert this signal to correct UDP/IPv6 packet checksum, by updating the checksum correction, which is specified by checksum correction offset. Required offset location of checksum correction. Assert this signal in the same clock cycle as the start of packet (avalon_st_tx_startofpacket is asserted).
tx_etstamp_ins_ctrl_offset_timestamp[15:0] In 16 The location of the timestamp field, relative to the first byte of the packet. Assert this signal in the same clock cycle as the start of packet (avalon_st_tx_startofpacket is asserted).
tx_etstamp_ins_ctrl_offset_correction_field[15:0] In 16 The location of the correction field, relative to the first byte of the packet. Assert this signal in the same clock cycle as the start of packet (avalon_st_tx_startofpacket is asserted).
tx_etstamp_ins_ctrl_offset_checksum_field[15:0] In 16 The location of the checksum field, relative to the first byte of the packet. Assert this signal in the same clock cycle as the start of packet (avalon_st_tx_startofpacket is asserted).
tx_etstamp_ins_ctrl_offset_checksum_correction[15:0] In 16 The location of the checksum correction field, relative to the first byte of the packet. Assert this signal in the same clock cycle as the start of packet (avalon_st_tx_startofpacket is asserted).
tx_egress_asymmetry_update In 1

Assert this signal to update the CF in the PTP header of transmit frame with asymmetry value. Assert this signal in the same clock cycle as the start of packet (avalon_st_tx_startofpacket) is asserted.

For more details, refer to related links about the tx_asymmetry register.

tx_time_of_day_96b_10g_data[95:0]

In 96 Carries the time-of-day (TOD) from an external TOD module to the MAC IP core in the following format:
  • Bits 48 to 95: 48-bit seconds field
  • Bits 16 to 47: 32-bit nanoseconds field
  • Bits 0 to 15: 16-bit fractional nanoseconds field
This is required for noting the timestamp TOD which is of 80-bit, consisting of seconds and nanoseconds, in the respective field of the PTP packet. The remaining 16-bit fractional nanoseconds value, if used, is for updating the CF of the PTP packet.

tx_time_of_day_64b_10g_data[63:0]

In 64 Carries the TOD from an external TOD module to the MAC IP core in the following format:
  • Bits 16 to 63: 48-bit nanoseconds field
  • Bits 0 to 15: 16-bit fractional nanoseconds field
The 64-bit timestamp is required to update the CF in the PTP header. Updating the CF is fundamental to the transparent clock operation.

tx_path_delay_10g_data[15:0]

In 24 Connect this bus to the PHY Intel® FPGA IP. This bus carries the path delay, which is measured between the physical network and the PHY side of the MAC IP Core (XGMII, GMII, or MII). The MAC IP core uses this value when generating the egress timestamp to account for the delay. The path delay is in the following format:
  • Bits 0 to 9: Fractional number of clock cycle
  • Bits 10 to 23: Number of clock cycle