低延迟以太网10G MAC用户指南

ID 683426
日期 10/31/2016
Public
文档目录

5.10.1. IEEE 1588v2出口(Egress)TX信号

选择Enable time stamping选项时,会显现如下信号。该特性存在于下列操作模式中:10G,1G/10G和10M/100M/1G/10G。

表 46.  IEEE 1588v2出口(Egress)TX信号
信号 方向 宽度 说明
tx_egress_timestamp_request_valid 输入 1 置位此信号为发送帧请求时间戳。必须在与置位avalon_st_tx_startofpacket的相同时钟周期内对此信号进行置位。
tx_egress_timestamp_request_fingerprint[] 输入 n n =Timestamp fingerprint width参数的值。

使用该总线为要请求时间戳的发送帧指定指纹。tx_egress_timestamp_request_valid被置位的同时,该总线必须携带一个有效指纹。

指纹的用途是将时间戳和数据包相关联。因此,可以由来自PTP数据包的序列ID字段或数据包的某个唯一字段,验证从CPU收集到的指纹和时间戳。

tx_egress_timestamp_96b_valid 输出 1 置位后,该信号将tx_egress_timestamp_96b_data[]中用于发送帧的时间戳生效,且该发送帧的指纹由tx_egress_timestamp_96b_fingerprint[] 指定。
Tx_egress_timestamp_96b_data[] 输出 96 以下列格式携带96-bit出口时间戳:
  • 1588v2的格式:
    • Bits 48至95:48-bit秒字段
    • Bits 16至47:32-bit纳秒字段
    • Bits 0至15:16-bit小数纳秒字段
  • 1588v1的格式:
    • Bits 64至95:32-bit秒字段
    • Bits 32至63:32-bit纳秒字段
    • Bits 0至31:未使用
Tx_egress_timestamp_96b_fingerprint[] 输出 n n = Timestamp fingerprint width参数值。

tx_egress_timestamp_request_data[]上接收到的发送帧的指纹。 该指纹指定tx_egress_timestamp_96b_data[]上出口时间戳对应的发送帧。

tx_egress_timestamp_64b_valid 输出 1 置位后,该信号将tx_egress_timestamp_64b_data[]中用于发送帧的时间戳生效,且该发送帧的指纹由tx_egress_timestamp_64b_fingerprint[] 指定。
tx_egress_timestamp_64b_data[] 输出 64 以下列格式携带64-bit出口时间戳:
  • Bits 16至63:48-bit纳秒字段
  • Bits 0至15:16-bit小数纳秒字段
tx_egress_timestamp_64b_fingerprint[] 输出 n n = Timestamp fingerprint width参数值。

tx_egress_timestamp_request_data[]上接收到的发送帧的指纹。该指纹指定tx_egress_timestamp_64b_data[]信号中出口时间戳的发送帧。

Tx_time_of_day_96b_10g_data

(适用于 10 Gbps)

输入 96 将外部ToD模块到MAC IP核的时刻(time of day,ToD)以下列格式携带:
  • Bits 48至95:48-bit秒字段
  • Bits 16至47: 32-bit纳秒字段
  • Bits 0至15:16-bit小数纳秒字段
在PTP数据包的相应字段中,需要为80-bit的时间戳(由秒和纳秒组成)加注。剩余的16-bit小数纳秒值(若已使用)则用于PTP数据包的CF更新。
tx_time_of_day_96b_1g_data

(适用于 10 Mbps、100 Mbps、1和2.5 Gbps)

tx_time_of_day_64b_10g_data

(适用于 10 Gbps)

输入 64 以如下格式将ToD从外部ToD模块传送到MAC IP核:
  • Bits 16至63:48-bit纳秒字段
  • Bits 0至15: 16-bit小数纳秒字段
需要64-bit时间戳更新PTP头中的CF。更新CF是透明时钟操作的基础。
tx_time_of_day_64b_1g_data

(适用于 10 Mbps、100 Mbps、1和2.5 Gbps)

tx_path_delay_10g_data

(适用于 10 Gbps)

输入 16 将此总线连接到Intel FPGA PHY IP。该总线载有从物理网络和MAC IP核(XGMII,GMII,或MII)PHY侧之间所测得的路径延迟。当生成出口时间戳时,MAC IP核使用该值计算延迟。路径延迟的格式如下:
  • Bits 0至9:时钟周期的小数
  • Bits 10至 15/21:时钟周期的数量
tx_path_delay_1g_data

(适用于 10 Mbps、100 Mbps、1和2.5 Gbps)

22
表 47.  IEEE 1588v2出口TX信号 — 1级模式这些信号仅适用于1级操作模式。
信号 方向 宽度 说明
tx_etstamp_ins_ctrl_timestamp_insert 输入 1 置位该信号以将出口时间戳插入相关帧。在置位avalon_st_tx_startofpacket的相同时钟周期内置位该信号。
tx_etstamp_ins_ctrl_timestamp_format 输入 1 使用此信号指定要插入的时间戳的格式。
  • 0:1588v2格式(48-bit秒字段 + 32-bit纳秒字段 + 16-bit小数纳秒校正字段)。需要时间戳和校正字段的偏移位置。
  • 1: 1588v1 格式(32-bit秒字段 + 32-bit纳秒字段)。 需要时间戳的偏移位置。

在与数据包的开头(avalon_st_tx_startofpacket被置位)相同的时钟周期内对此信号进行置位。

tx_etstamp_ins_ctrl_residence_time_update 输入 1 对此信号进行置位以将停留时间(出口时间戳 – 进口时间戳)添加到 PTP帧的校正字段。需要校正字段的偏移位置。在与数据包开头(avalon_st_tx_startofpacket被置位)相同的时钟周期内对此信号进行置位。
tx_etstamp_ins_ctrl_ingress_timestamp_96b[] 输入 96 进口时间戳的96-bit格式。(48-bit秒 + 32-bit纳秒 + 16-bit小数纳秒)。在与数据包开头(avalon_st_tx_startofpacket被置位)相同的时钟周期内对此信号进行置位。
tx_etstamp_ins_ctrl_ingress_timestamp_64b[] 输入 64 进口时间戳的64-bit格式。(48-bit纳秒 + 16-bit小数纳秒)。在与数据包开头(avalon_st_tx_startofpacket 被置位)相同的时钟周期内对此信号进行置位。
tx_etstamp_ins_ctrl_residence_time_calc_format 输入 1 用于计算停留时间的时间戳格式。0: 96-bit(96-bit出口时间戳 - 96-bit入口时间戳)。1: 64-bit(64-bit出口时间戳 - 64-bit入口时间戳)。在与数据包开头(avalon_st_tx_startofpacket被置位)相同的时钟周期内对此信号进行置位。
tx_etstamp_ins_ctrl_checksum_zero 输入 1 对此信号进行置位以将停留时间(出口时间戳 – 进口时间戳)添加到 PTP帧的校正字段。需要校正字段的偏移位置。在与数据包的开头(avalon_st_tx_startofpacket被置位)相同的时钟周期内对此信号进行置位。
tx_etstamp_ins_ctrl_checksum_correct 输入 1 对此信号进行置位以校正UDP/IPv6数据包校验和,由校验和校正偏移指定更新校验和校正。需要校验和校正的偏移位置。在与数据包开头(avalon_st_tx_startofpacket被置位)相同的时钟周期内对此信号进行置位。
tx_etstamp_ins_ctrl_offset_timestamp[] 输入 16 时间戳字段相对于数据包的第一个字节的位置。在与数据包开头(avalon_st_tx_startofpacket被置位)相同的时钟周期内对此信号进行置位。
tx_etstamp_ins_ctrl_offset_correction_field[] 输入 16 校正字段相对于数据包的第一个字节的位置。 在与数据包开头(avalon_st_tx_startofpacket被置位)相同的时钟周期内对此信号进行置位。
tx_etstamp_ins_ctrl_offset_checksum_field[] 输入 16 校验和字段相对于数据包的第一个字节的位置。在与数据包开头(avalon_st_tx_startofpacket被置位)相同的时钟周期内对此信号进行置位。
tx_etstamp_ins_ctrl_offset_checksum_correction[] 输入 16 校验和校正字段相对于数据包的第一个字节的位置。 在与数据包开头(avalon_st_tx_startofpacket被置位)相同的时钟周期内对此信号进行置位。
tx_egress_asymmetry_update 输入 1

将该信号置位以通过不对称值更新发送帧PTP头中的CF。于置位数据包(avalon_st_tx_startofpacket)开头的相同时钟周期中对此信号进行置位。

更多详细信息,请参阅tx_asymmetry寄存器的相关信息。