Versal:内置自校准 (BISC) 在异步模式下的工作原理及功能

作者:Sandy Macnamara,AMD工程师;来源:AMD开发者社区

本文提供有关 Versal 内置自校准 (BISC) 工作方式的详细信息。此外还详述了 Versal 的异步模式及其对 BISC 的影响。

Versal XPHY 具有一项称为“内置自校准”的功能,如需了解详细信息,请参阅 AM010 文档。BISC 的基本原理与 UltraScale/UltraScale+ 相同。

BISC 基础 

BISC 进程分三个步骤:对齐、延迟校准以及电压和温度补偿。

值得一提的是,XPHY 是按存储器接口作为主要用例来设计的,在存储器接口外部工作时,需要注意其影响。在存储器应用中,源同步系统应在发送的选通 (DQS) 中包含多组数据 (DQ),每个 bank(通常是每个半字节)至少一个选通。  在存储器中有单独的系统时钟,用于对 PLL 进行时钟控制。存储器接口对 PCB 具有规定性要求,其中详细明确了 DQ 到 DQS 之间的偏差约束 (+/- 5 ps)。BISC 的第一项对齐功能是在 XPHY 捕获触发器处将 RX 选通与数据对齐,然后对延迟线进行校准。 
然后再确保在电压温度 (VT) 变化下仍维持对齐状态。

在存储器外,也执行相同的步骤。  
在对齐步骤中,BISC 将通过 RX 数据路径发送其数据(这意味着在 BISC 期间不要求发送数据),并计算出以下两条路径之间的内部片上偏差: 
其一是从 IOB 到第一个捕获触发器数据的数据路径,其二是从其 IOB 到第一个捕获触发器的时钟端口之间的选通路径。BISC 将发送其已知的重复模式,因此可以找到数据的边沿。它将选择对齐延迟以便移动数据,以补偿选通路径。当 DELAY_VALUE = 0 时,在 CNTVALUEOUT 上即可获悉输入上对齐延迟所需的抽头数。  BISC 将不会更新对齐延迟。如果 BISC 复位并重新运行对齐步骤,那么将重新计算对齐延迟。 
BISC 无法补偿任何 PCB 偏差或外部偏差,它在 BISC 期间仅使用内部路径,因此只能补偿内部路径。

延迟校准将根据 Wizard 中的 DELAY_VALUE 或者 DELAY_VALUE_x 属性所选的延迟来计算所需的抽头数。它还将为 QTR 延迟校准 90° 移位。它将基于给定的工艺、电压和温度条件来执行校准。
创建 Wizard 时,您会选择“Interface Speed”(接口速度)。对于“Source Synchronous”(源同步)应用,若接口速度为 1000 Mb/s,那么将需要 1000 MHz REF_CLK,其时钟源由 XPLL CLKOUTPHY 提供。 
如果请求的 DELAY_VALUE 为 100 ps,那么 BISC 根据已知请求的 DELAY_VALUE 比率为 100 ps,且比特周期为 1 ns,即可计算得出比率为 1:10。请求初始 DELAY_VALUE 时,该比率值是器件烧录的一部分。对于每个 XPHY NIBBLESLICE 或 RXTX_BITSLICE,延迟校准会计算所请求的比率所需的抽头数(即,变速比)。

该步骤完成后的 CNTVALUEOUT 即为总延迟,计算方式为 Align_Delay + DELAY_VALUE。

它将微调 QTR 延迟,这样当数据采用边沿对齐时,它即可为选通选择 QTR 延迟,以确保将其移入数据眼的中心。
完成该步骤时,DLY_RDY 将拉高有效。 

最后一步是电压和温度 (VT) 补偿,该步骤基于电压和温度来自动更新延迟线,在不中断正常运行的前提下将漂移也一并纳入考量。复位序列要求 BSC 的 EN_VTC 保持低位,直至 DLY_RDY 断言有效为止,然后将 BSC 的 EN_VTC 拉高,随后 PHY_RDY 就会拉高有效。 

BISC 注意事项 

在存储器域之外,可拥有更宽的总线,并且时钟与数据之间无需再设置严格的偏差要求。Advanced IO Wizard 包含“IO Timing”(I/O 时序)选项卡,可帮助计算接口裕度。 

XPHY 的 RX 源同步模式要求选通(又名为捕获时钟)与数据对齐,当选通和数据进入器件时,边沿对齐或者中心对齐均可。  选通可用于捕获整个 bank 的数据(Versal 的 9 个 XPHY)。这其中会使用 AM010 中提及的字节间时钟设置。

注释:使用字节间时钟设置时,Align_Delay 会更长,即,所需抽头数比选通停留在半字节内时更多。选通无法跨 bank,您无法从某一个 bank 内的选通布线到另一个 bank。这意味着每个 bank 都要有选通/捕获时钟。 

注释:XPHY 使用的 PLL 的输入时钟可以跨多个 bank 共享。 

在 Advanced IO Wizard (AVIO) 中选择源同步应用时,针对时钟到选通关系需选择“Edge”(边沿)或“Center”(中心),如前文所述,针对边沿对齐,将向选通添加 QTR 延迟。在某些接口中,会随帧时钟、字时钟或其他并行速率时钟发送数据,这表示会随数据发送一个时钟,但该时钟不可用作为捕获时钟(它需要时钟管理器来进行倍率处理)。  这些接口在 Wizard 中无法实现为 RX 源同步,这要求随数据一并发送选通/捕获时钟。 

异步模式下的 BISC

Advanced IO (ADVIO) Wizard 和 HSSIO Wizard 可在异步模式下运行,在“Asynchronous”(异步)中另有多种选项可供选择。在异步模式中,并不会随选通一起完成 RX 数据的捕获,PLL CLKOUTPHY 用于对捕获触发器进行时钟设置,并且必须存在用于对齐时钟与数据的机制。异步可以是真异步,因为用于捕获数据的时钟与发送数据的时钟无关(但存在影响 CDR 适用范围的 PMM 限制)。或者,可能存在相关时钟相位未知的情况。这意味着捕获时钟与启动时钟同源(不存在 PPM 差),但 RX 处的相位并非固定或已知关系。  如果您的设置是将并行速率时钟与数据一起发送,那么并行速率时钟可用于 PLL 输入时钟,而启动时钟和捕获时钟则使用相同的时钟源,但将其视作为异步接口。 

在 UltraScale/UltraScale+:异步模式的适用时机及其使用方式一文中, 提供了源同步与异步的对比。同样的规则也适用于 Versal。 

在 ADVIO Wizard 中首次选中异步时,Wizard 默认会包含时钟数据恢复 (CDR),这表示假定启动时钟与捕获时钟之间无关系。
但有额外选项可用。您可以选择 Zero PPM CDR,已知针对启动时钟和捕获时钟使用相同时钟,那么您可使用此 CDR 来对齐时钟和数据。  Advanced IO Wizard 的产品指南包含有关 Wizard 插入的 CDR 的详细信息:

https://docs.amd.com/access/sources/dita/topic?isLatest=true&url=pg320-advanced-io-wizard&resourceid=mxi1528038806556.html&ft:locale=en-US

如果您想要直接访问端口以实现自己的校准/对齐电路,则另有一个选项可供选择用于公开 DELAY 端口:“Enable Custom CDR”(启用定制 CDR)。如果您有现有时钟到数据对齐电路,那么这个选项也很适合您。 

BISC 仍在异步模式下运行,但它将不会执行对齐步骤(选通并非来自 I/O,因此该步骤对于异步无意义)。延迟校准步骤仍会运行,完成该步骤后,DLY_RDY 将拉高有效。在异步模式下,CDR 将处理延迟线的更新,因此 BISC 不应自动更新延迟。因此,在异步模式下,EN_VTC 保持低电平,PHY_RDY/VTC_RDY 不会拉高有效。VT 补偿并非由 BISC 执行,需由 CDR 处理。