出口 - 3.3 简体中文

40G/50G High Speed Ethernet Subsystem 产品指南 (PG211)

Document ID
PG211
Release Date
2022-11-03
Version
3.3 简体中文
图 1. 出口 Page-1 Sheet.1 Core Logic Core Logic Sheet.2 PCS logic PCS logic Sheet.3 SerDes SerDes Sheet.4 ctl_tx_systemtimerin[80:1:0) ctl_tx_systemtimerin[80:1:0) Sheet.5 tx_ptp_1588op_in[1:0] tx_ptp_1588op_in[1:0] Sheet.6 tx_ptp_tag_field_in[15:0] tx_ptp_tag_field_in[15:0] Sheet.7 tx_ptp_upd_chksum_in tx_ptp_upd_chksum_in Sheet.8 tx_ptp_chksum_offset_in[15:0] tx_ptp_chksum_offset_in[15:0] Sheet.9 tx_ptp_tstamp_offset_in[15:0] tx_ptp_tstamp_offset_in[15:0] Sheet.10 ctl_tx_ptp_1step_enable ctl_tx_ptp_1step_enable Sheet.11 ctl_tx_ptp_transpclk_mode ctl_tx_ptp_transpclk_mode Sheet.12 ctl_tx_ptp_latency_adjust[7:0] ctl_tx_ptp_latency_adjust[7:0] Sheet.13 tx_ptp_tstamp_out[79:0] tx_ptp_tstamp_out[79:0] Sheet.14 tx_ptp_tstamp_valid_out tx_ptp_tstamp_valid_out Sheet.15 stat_tx_ptp_fifo_write_error stat_tx_ptp_fifo_write_error Sheet.16 stat_tx_ptp_fifo_read_error stat_tx_ptp_fifo_read_error Sheet.17 tx_ptp_tstamp_tag_out[15:0] tx_ptp_tstamp_tag_out[15:0] Sheet.18 TX adapter TX adapter Sheet.19 TX BUS TX BUS Sheet.20 Sheet.21 2-step logic 2-step logic Sheet.22 note: some core logic and lane logic blocks are not shown for... note: some core logic and lane logicblocks are not shown for clarity Sheet.23 2-step logic 2-step logic Sheet.24 Sheet.25 Sheet.26 Sheet.27 Sheet.28 Sheet.29 Sheet.30 Bracket.284 Sheet.32 Sheet.33 Sheet.34 1-step logic including UDP checksum update 1-step logic including UDP checksum update Sheet.35 Sheet.36 Sheet.37 Sheet.38 Bracket.36 Sheet.40 Sheet.41 Sheet.42 TS1 TS1 Sheet.43 TS2 TS2 Sheet.44 Sheet.45 TS2' TS2' Sheet.46 PCS PCS Sheet.47 Sheet.48 1-D single.483 Sheet.50 Sheet.51 Sheet.52 1-D single.49 Sheet.54 Sheet.55 Sheet.56 1-D single.50 Sheet.58 Sheet.59 Sheet.60 1-D single.54 Sheet.62 Sheet.63 Sheet.64 1-D single.51 Sheet.66 Sheet.67 Sheet.68 Sheet.69 X16339-030916 Sheet.70 Sheet.71 Sheet.72 X16339-080621

如图所示,根据所需的是单步操作还是双步操作,时间戳逻辑存在于两处不同位置。单步操作需用户数据报协议 (UDP) 校验和及 FCS 更新,因此使用 FCS 核逻辑。

TS 参考定义如下:

  • TS1:选中单步操作时的输出时间戳信号。
  • TS2:选中双步操作时的输出时间戳信号。
  • TS2':2 个时间戳纠正到该平面。

对于 TS2,始终应用纠正以使其可供 TS2' 平面作为参考。TS1 可根据 ctl_tx_ptp_latency_adjust[10:0] 信号的值来选择是否应用 TS2' 纠正。此信号的默认值是在生成子系统时确定的。

以下是时延调整值。

  • 50G 普通时钟 = 450
  • 50G 透明时钟 = 549
  • 40G 普通时钟 = 605
  • 40G 透明时钟 = 663
  • 40G 256 位常规 AXI4-Stream 普通时钟 = 620
  • 40G 256 位常规 AXI4-Stream 透明时钟 = 725

在发射端,“Command”字段由客户端随发送的帧(以供发射之用)并行提供给子系统。这表示根据每个帧来确定要执行的 1588 功能(即,无操作、单步操作或双步操作),并且对于单步帧,这还可用于指示是否存在需更新的 UDP 校验和字段。

如果使用 ToD 格式,那么对于单步操作和双步操作,完整捕获的 80 位 ToD 时间戳将使用“1588v2 端口列表和描述”表中所定义的附加端口返回给客户端逻辑。如果使用“Correction Field”(纠正字段)格式,那么对于单步操作和双步操作,完整捕获的 64 位时间戳将使用“1588v2 端口列表和描述”表中定义的附加端口返回给客户端逻辑(根据表中定义,上位数据设置为 0)。

如果使用 ToD 格式,那么对于单步操作,完整捕获的 80 位 ToD 时间戳将插入帧中。如果使用“Correction Field”格式,那么对于单步操作,捕获的 64 位时间戳将与帧中包含的现有“Correction Field”求和,求和所得结果将覆盖到帧中的原“Correction Field”中。

针对单步时间戳支持的帧类型包括:

  • 原始以太网 (Raw Ethernet)
  • UDP/IPv4
  • UDP/IPv6

对于单步 UDP 帧类型,将根据 IETF RFC 1624 来更新 UDP 校验和。对于所有单步帧,将在完成所有帧修改之后计算“Ethernet Frame Check Sequence (FCS)”(以太网帧校验序列)字段。对于双步发射操作,支持所有“Precision Time Protocol (PTP)”(精确时间协议)帧类型。

出口时间戳功能的操作模式由 1588 命令端口上的设置判定。命令端口中所含信息用于指示以下任一结果:

  • 无操作:该帧并非 PTP 帧,不应执行任何时间戳操作。
  • 需执行双步操作并在“Command”字段中提供 1 个标签值(用户序列 ID);对于该帧,应设置时间戳,并且所设时间戳可供客户端逻辑使用,所提供的标签值则可供该帧使用。附加 MAC 发射器端口可提供此功能。
  • 需执行单步操作
    • 对于 ToD 定时器和时间戳格式,将在命令端口中提供时间戳偏移;应对该帧设置时间戳,并且此时间戳应按提供的偏移(字节数)插入帧中。
    • 对于“Correction Field”格式,将在命令端口中提供“Correction Field”偏移值;应对该帧设置时间戳,捕获的 64 位时间戳应与该帧中包含的现有“Correction Field”求和,求和所得结果将覆盖到帧中的原“Correction Field”中。

对于帧修改后的单步操作,还应更新/重新计算帧的 CRC 值。对于 UDP IPv4 格式和 IPv6 PTP 格式的帧,需更新/重新计算该帧的报头中的校验和值。

对于单步 UDP 帧类型,将根据 IETF RFC 1624 来更新 UDP 校验和。

  • 如果使用“ToD”格式,为了能正确执行此更新功能,计算发送(以供发射)的帧的原校验和值时,针对时间戳数据应使用 0 值。使用“Correction Field”格式时,则不适用此特殊限制。
  • 如果使用“Correction Field”格式,则适用另一种限制;1588 PTP 帧报头中的“UDP Checksum”(UDP 校验和)字段与“Correction Field”之差为固定间隔(以字节为单位),以支持 1588 PTP 帧定义。此要求用于最大限度缩短通过 MAC 的时延,因为校验和与纠正字段都必须完全包含在 MAC 流水线内才能正确更新校验和。此特殊限制不适用于“ToD”格式,因为计算所得原时间戳数据为 0 值;因此,校验和与时间戳位置可分别位于同一帧中的不同位置。