英特尔® Arria® 10收发器PHY用户指南

ID 683617
日期 3/28/2022
Public
文档目录

2.7.13. Gen3数据速率的PHY IP Core for PCIe* (PIPE)链路均衡

由于数据速率、通道特征、接收器设计和工艺变化,Gen3模式要求TX和RX链路均衡。链路均衡使Endpoint和Root Port能够调整每个通道的TX和RX设置以提高信号质量。此进程生成一个小于10-12的Bit Error Rate (BER)的Gen3链路。

关于8.0 GT/s数据速率的四级链路均衡过程的详细信息,请参考 PCI Express* Base Specification, Rev 3.0中的Section 4.2.3。一个新的LTSSM状态(Recovery.Equalization with Phases 0–3)反映了Gen3均衡的进展。链路均衡的phase 2和phase 3是可选的。每个链路必须经过所有四个阶段,即便没有出现任何调整。如果跳过Phase 2和Phase 3,那么就会以链路BER优化为代价来加速链路训练。

Phase 0

Phase 0包括以下步骤:

  1. 上游组件通过发送包括下游组件的起始预置(starting preset)的EQ TS2训练集,在Recovery.Rcvrconfig期间进入均衡的Phase 0。EQ TS2训练集可以以2.5 GT/s或5 GT/s发送。
  2. 下游组件在以8 GT/s退出Recovery.Speed后进入均衡的Phase 0。下游组件接收来自训练序列的起始预置(starting preset),并将它们应用到发送器。此时,上游组件已经进入Phase 1并以8 GT/s运行。
  3. 若要进入Phase 1,接收器必须有BER < 10-4。接收器应该能够解码足够多的连续训练序列。
  4. 若要进入Equalization Phase 1,下游组件必须检测Equalization Control (EC)比特设置为2’b01的训练集。

Phase 1

在均衡过程的Phase 1中,链路搭档交换Full Swing (FS)和Low Frequency (LF)信息。这些值代表TX系数的上限和下限。接收器使用此信息来计算和请求下一组发送器系数。

  1. 当在所有通道上都捕捉到了设置为1’b0的EC比特的训练集时,上游组件就会移到EQ Phase 1。它还发送EC=2’b10,起始前光标,主光标和后光标系数。
  2. 下游组件在检测到这些新的训练集后移到EQ Phase 2。
使用pipe_g3_txdeemph[17:0]端口来选择发送器去加重。这18个比特指定以下系数:
  • [5:0]: C-1
  • [11:6]: C0
  • [17:12]: C+1

请参考到TX去加重的预置映射来了解预置与TX去加重之间的映射。

Phase 2 (可选)

在Phase 2,Endpoint调整Root Port的TX系数。TS1 Use Preset比特决定Endpoint对粗分辨率使用预置,还是对精细分辨率使用系数。

如果您使用PHY IP Core for PCI Express (PIPE)作为Root Port,那么Endpoint能够调整Root Port TX系数。

调整流程通常包括以下步骤:

  1. Endpoint接收来自(Root Port发送的)Phase 2训练集的起始预置。
  2. Endpoint接收器中的电路决定BER。它使用FS和LF计算下一个发送器系数集。它也在Training Sets中嵌入此信息,使Link Partner应用到其发送器。
    Root Port解码这些系数和预置,对三个发送器系数规则进行合法性检查,将设置应用到它的发送器上,并将它们发送到Training Sets中。英特尔器件显示的默认Full Swing (FS)值为60,Low Frequency (LF)为20。发送器系数的三个规则是:
    1. |C-1| <= Floor (FS/4)
    2. |C-1|+C0+|C+1| = FS
    3. C0-|C-1|-|C+1 |>= LF

    其中C0是主光标(main cursor) (boost)C-1是前光标(pre-cursor) (pre-shoot)C+1是后光标(post-cursor)(de-emphasis)

  3. 重复此过程,直到下游组件的接收器达到BER < 10-12

Phase 3 (可选)

在此阶段,Root Port调整Endpoint的发送器。此过程类似于Phase 2,但以相反的方向运行。

Phase 3调整完成后,Root Port移至Recovery.RcvrLock,发送EC=2’b00和Phase 2中确定的最终系数或者预置。Endpoint使用Phase 3中确定的最终系数或者预置移至Recovery.RcvrLock。

调整链路的建议

为提高接收器的BER,英特尔建议您在Phase 2 Equalization for Endpoints或Phase 3 Equalization for Root Ports期间在触发模式下开启CTLE。

使用端口pipe_g3_txdeemph[17:0]发送对应于Gen3 presets的系数。英特尔建议发送Preset P8系数,使A10接收器能够成功地恢复数据。pipe_g3_txdeemph用于在均衡期间选择链路搭档的发送器去加重。

使用端口pipe_g3_rxpresethint[2:0]在均衡阶段开启触发模式的CTLE。

表 197.  支持Gen3设计的Gen1/Gen2速度的CTLE模式使用此表来驱动pipe_g3_rxpresethint端口,当运行在支持Gen3设计的Gen1/Gen2速度上时将CTLE设置成手动模式。
运行在Gen1/Gen2速度上的支持Gen3的设计(在以下操作过程中) 受支持的CTLE - mode Manual。如要在手动模式下使用CTLE,需要进行如下设置
上电
  • 上电期间,设置pipe_g3_rxpresethint[2:0] = 3’b000
  • 您可以使用Quartus设置的默认CTLE 4S AC Gain (或者)
  • 使用QSF assignments设置manual CTLE 4S AC Gain
下训到Gen1/Gen2 (引导或非引导)和Gen3的后续重输入
  • 在Gen1/2输入上,设置pipe_g3_rxpresethint[2:0] = 3’b000
  • 您可以使用Quartus设置的默认CTLE 4S AC Gain (或者)
  • 使用QSF assignments设置manual CTLE 4S AC Gain
下训到Gen1/Gen2
  • 在Gen1/2输入上,设置pipe_g3_rxpresethint[2:0] = 3’b000
  • 您可以使用Quartus设置的默认CTLE 4S AC Gain (或者)
  • 使用QSF assignments设置manual CTLE 4S AC Gain
注: 英特尔不支持在自适应模式下对Gen1/Gen2速度使用CTLE。您必须在手动模式下使用CTLE。
表 198.  支持Gen3设计的Gen3速度的CTLE模式使用此表来驱动pipe_g3_rxpresethint端口,当运行在支持Gen3设计的Gen3速度上时将CTLE模式设置成自适应(adaptation)模式。
运行在Gen3速度上的支持Gen3的设计(在以下操作过程中) 受支持的CTLE - mode Triggered adaptation。若要在自适应模式下使用CTLE,需要进行如下设置
Gen3的第一次输入
  • 在EQ Phase2/3中,当远端TX preset/coefficient请求完成后,设置pipe_g3_rxpresethint = 3’b111,链路需要保持在Recovery至少12ms,以用于CTLE自适应
  • 如果在EQ阶段没有足够的时间,那么在EQ后可将延迟插入到Recovery.RcvrLock
  • 然后,pipe_g3_rxpresethint应该保持为3’b111,用于Recovery中的Gen3
在Gen3中重新执行EQ
  • 在EQ Phase2/3输入上,pipe_g3_rxpresethint应该设置为3’b000
  • 使用与第一次链接到Gen3相同的步骤

下训到Gen1/Gen2 (引导或非引导)后的Gen3的重输入
  • 在Gen3的下一个输入上,当存在有效数据时,设置pipe_g3_rxpresethint[2:0] = 3’b111,并且在 Recovery状态下等待12ms,以实现CTLE自适应
注:

英特尔建议对Gen3速度使用自适应模式的CTLE。如果想要对Gen3速度使用手动模式的CTLE,那么必须设置pipe_g3_rxpresethint[2:0] = 3’b000,并且设置CTLE 4S AC gain值。

  • 您可以使用Quartus设置的默认CTLE 4S AC Gain (或者)
  • 使用QSF assignments设置manual CTLE 4S AC Gain