GTS Ethernet Intel® FPGA Hard IP User Guide

ID 817676
Date 7/08/2024
Public
Document Table of Contents

4.7.3. Connect the TX One-Step Timestamp Interface

When transmitting a One-step PTP packet, the IP core modifies the PTP field on-the-fly. The IP core can change the UDP checksum or add extension bytes to adjust it. PTP headers can be part of the VLAN packets and can be encapsulated by UDP datagrams inside of the IPv4 and IPv6 packets.

Figure 50. Example of Ethernet Packet with a PTP HeaderThe figure depicts an Ethernet packet with PTP header embedded as an Ethernet payload in a simple non-VLAN packet.
Table 42.  One-Step TX Timestamp Interface Signals
Signal Name Width Description
i_ptp_ins_ets[0:0] 1

Insert an Egress Timestamp into the current TX Packet.

1: Insert an egress timestamp into the current TX packet

TX MAC SOP-Aligned Client Interface:

  • i_ptp_ins_ets[0] is valid only when i_tx_valid = 1 and i_tx_startofpacket = 1
  • Must not be used with i_tx_skip_crc = 1; the CRC for the TX Packet must be recalculated after the timestamp is written.
  • Must not be used with i_ptp_ins_cf = 1; you can’t update residence time and insert an egress timestamp on the same packet.
  • i_ptp_ts_offset must be set to the byte position of the start of the timestamp field in the PTP header.
  • If the selected timestamp format requires a 96b timestamp, i_ptp_cf_offset must be set to the byte position of the start of the correction field in the PTP header
i_ptp_ins_cf[0:0] 1

Update correction field with residence time in the current TX packet

1: Insert a residence time timestamp into the correction field in the current TX packet

  • i_ptp_ins_cf[0] is valid only when i_tx_valid = 1 and i_tx_startofpacket = 1

  • Must not be used with i_tx_skip_crc = 1; the CRC for the TX Packet must be recalculated after the residence time is written

  • Must not be used with i_ptp_ins_ets = 1; you can’t update residence time and insert an egress timestamp on the same packet

  • i_ptp_tx_its must be used to provide the core with the ingress timestamp of the current packet when it entered the system, so that a residence time can be calculated

  • i_ptp_cf_offset must be set to the byte position of the start of the correction field, in the PTP header

  • i_ptp_ets_format must be set to 0; correction field is only applicable to IEEE 1588v2

i_ptp_zero_csum[0:0] 1

Overwrite a UDP checksum with zeros in the current TX packet

1: Overwrite the checksum in a UDP packet carried inside the current TX packet with zeros

  • TX MAC SOP-Aligned Client Interface:
  • i_ptp_zero_csum[0] is valid only when i_tx_valid = 1 and i_tx_startofpacket = 1.
  • Must not be used with i_tx_skip_crc = 1; the CRC for the TX Packet must be recalculated after the checksum is changed.
  • Must not be used with i_ptp_update_eb; you can’t set a UDP checksum to 0, and update an extension field to cancel out checksum changes on the same packet.
  • i_ptp_csum_offset must be set to the byte position of the start of the UDP checksum in the TX packet.
i_ptp_update_eb[0:0] 1

Update Extended Bytes field to cancel out checksum changes in the current TX packet

1: Overwrite the extended bytes field in an IPv6 packet carried inside the current TX packet with a value that cancels out changes to the checksum due to changes to the UDP packet.

TX MAC SOP-Aligned Client Interface:

  • i_ptp_update_eb[0] is valid only when i_tx_valid = 1 and i_tx_startofpacket = 1.
  • Must not be used with i_tx_skip_crc = 1; the CRC for the TX Packet must be recalculated after the extended bytes field is changed.
  • Must not be used with i_ptp_zero_csum; you can’t set a UDP checksum to 0, and update an extended bytes field to cancel out checksum changes on the same packet.
  • User do not need to provide the byte position of the start of the UDP extension field in the TX packet. The IP core always assume the byte position starts two bytes before CRC field.
i_ptp_p2p[0:0] 1

Add peer-to-peer mean path delay to correction field for current TX packet.

1: Add peer-to-peer mean path delay to the correction field for the current PTP packet

TX MAC SOP-Aligned Client Interface:

  • i_ptp_p2p[0] is valid only when i_tx_valid = 1 and i_tx_startofpacket = 1.
  • Must not be used with i_tx_skip_crc = 1; the CRC for the TX Packet must be recalculated after the timestamp is written.
i_ptp_asym[0:0] 1

Add asymmetry to correction field for current TX packet.

1: Add asymmetric latency to the correction field for the current PTP packet.

TX MAC SOP-Aligned Client Interface:

  • i_ptp_asym[0] is valid only when i_tx_valid = 1 and i_tx_startofpacket = 1.
  • Must not be used with i_tx_skip_crc = 1; the CRC for the TX Packet must be recalculated after the timestamp is written.
i_ptp_asym_sign[0:0] 1

Sign of asymmetry delay add to correction field for current TX packet.

0: Asymmetry delay is positive value

1: Asymmetry delay is negative value

TX MAC SOP-Aligned Client Interface:

i_ptp_asym_sign[0] is valid only when i_tx_valid = 1 and i_tx_startofpacket = 1

i_ptp_asym_p2p_idx[6:0] 7

Index of asymmetry delay and peer-to-peer mean path delay in the configurable lookup table.

TX MAC SOP-Aligned Client Interface:

i_ptp_asym_p2p_idx[6:0] is valid only when i_tx_valid = 1 and i_tx_startofpacket = 1

i_ptp_ts_offset[15:0] 16

Position of PTP Timestamp Field in TX packet.

This bus is used to present the position of the PTP timestamp field in the current TX packet.

TX MAC SOP-Aligned Client Interface:

  • i_ptp_ts_offset[15:0] is valid only when i_tx_valid = 1 and i_tx_startofpacket = 1.
  • It is the offset of the first octet of the field from the start of the frame, where the first byte of the frame (the first destination MAC address octet) is position 0.
  • The PTP timestamp field is 10 octets long, starting from the position given by the offset; 96 bit timestamps add their lower 2 octets to the correction field.
  • WARNING: The offset must be set to a position within the TX packet, or the PTP insertion operation will fail. Furthermore, it is critical that PTP fields do not overlap
i_ptp_cf_offset[15:0] 16

Position of PTP Correction Field in TX packet.

This bus is used to present the position of the PTP correction field in the current TX packet.

TX MAC SOP-Aligned Client Interface:

  • i_ptp_cf_offset[15:0] is valid only when i_tx_valid = 1 and i_tx_startofpacket = 1
  • It is the offset of the first octet of the field from the start of the frame, where the first byte of the frame (the first destination MAC address octet) is position 0
  • The PTP correction field is 8 octets long, starting from the position given by the offset; 96 bit timestamps add their lower 2 octets to the correction field
  • WARNING: The offset must be set to a position within the TX packet, or the PTP insertion operation will fail. Furthermore, it is critical that PTP fields do not overlap.
i_ptp_csum_offset[15:0] 16

Position of UDP Checksum Field in TX packet.

This bus is used to indicate the position of the first byte of a UDP checksum in the TX Packet

TX MAC SOP-Aligned Client Interface:

  • i_ptp_csum_offset[15:0] is valid only when i_tx_valid = 1 and i_tx_startofpacket = 1
  • Is the offset of the first octet of the field from the start of the frame, where the first byte of the frame (the first destination MAC address octet) is position 0
  • WARNING: The offset must be set to a position within the TX packet, or the PTP insertion operation will fail. Furthermore, it is critical that PTP fields do not overlap.
i_ptp_tx_its[95:0] 96

Ingress Timestamp for TX Packet Residence Time Calculation.

This bus is used to present the ingress timestamp for a TX Packet that requires a residence time calculation (i_ptp_ins_cf=1).

This timestamp is the time at which the packet arrived in the system: the TX MAC will compare it to the time at which the packet will leave the system to generate a residence time.

TX MAC SOP-Aligned Client Interface:

  • i_ptp_tx_its[95:0] is valid only when i_tx_valid = 1 and i_tx_startofpacket = 1

  • Residence time value updated in CorrectionField is not valid if TX egress timestamp is larger than TX ingress timestamp by 4 seconds.