简化超高速数字系统中确定性延迟的设计
实现确定性延迟是当今许多系统设计中讨论的主题。过去,人们一直在努力提高数据传输速度和带宽。如今的应用则越来越重视确定性 — 即要求数据包在精确的、可重复的时间点传送。
本文将在设备的层面讨论确定性这一主题,以及如何设计超高速数据转换和信号处理系统以保证确定性延迟。
以下三个因素将决定确定性如何实现:
1. 采取措施减少数字设计组件中发生的亚稳态事件
2. 计算数字后端的延迟,确保多个数据链路通道之间(如HSSL)的数据对齐
3. 优化时间延迟的余量,保证不会因为PVT的变化而出现意外的不确定性。
具体来说,我们将考虑亚稳态的影响和同步系统的方案,并介绍如何在模拟和数字信号处理域之间的接口上保持确定性。
管理超高速系统中数据转换器阵列的延迟的能力在复杂系统中非常重要,这些系统包括数字波束导向雷达、波束成形多载波通讯等。延迟会降低系统的性能。工程师的目标是将延迟控制在可知的范围内。
如今有两种流行的IC数据接口:无许可证的ESIstream和行业标准JESD204B(sub-classes 1和2)。这两种接口都被广泛应用于连接数据转换器和逻辑器件(LD)如FPGA和ASIC。两者都承诺确定性,但在具体的实现上有所不同。本文将阐述,考虑到优秀的灵活性、较低的开销和绝对延迟,ESIstream将是最佳的选择。
术语表
ADC– 模数转换器
CDC– 跨时钟域
CLK – 采样时钟
CMU– 时钟管理单元
ESIstream– 高效串行接口
ESS – ESIstream同步序列
FPGA –现场可编程逻辑门阵列
GT – 千兆比特收发器
HSSLs – 高速串行线路
LD–逻辑器件(如FPGA或ASIC)
LMFC – 本地多帧时钟
MZ – 亚稳态域
PVT – 过程、电压和温度
SSO– 低速同步输出
# 延迟的定义 #
延迟的简单定义是操作和响应之间的时间差。在采样数据系统中,通常我们最关心的是最大延迟。对于以硬件为重点的本文,不确定性的来源以及如何管理这些来源是一个关键问题。确定性是一个简单的需求,即系统对于给定的一组输入产生相同的结果。不论环境或启动条件如何变化,结果都是可预测的,并排除随机因素。本质上,确定性系统提供了有限的响应。
# 实现确定性行为的挑战 #
不确定性的来源并不直观,特别是对于GHz的采样频率。图1标出了单片ADC EV12AQ600连接到一个逻辑设备(LD)时的几个源。不确定性是由亚稳态产生(参见侧栏),这是同步逻辑系统引入的一个因素。除此之外,还有三个因素会加剧这种不确定性:
· 跨时钟域(CDC)导致潜在的不等长的信号路径,另外还有信号线的物理不等长
· 多个HSSL之间的数据对齐导致的LD输出缓冲区的延迟差异
· PVT(过程、电压和温度)的影响
亚稳态
亚稳态是同步系统在状态转换过程中由于有限的建立保持时间而产生的逻辑状态的不确定性。可通过创建从MZ回退的状态采样点避免亚稳态(图5)。
图 1 EV12AQ600的不确定性源和积累延迟
# 避免亚稳态 #
需要强调的一点是,必须保证系统产生的同步信号SYNC在亚稳态(MZ)之外采样。此外,采样应该始终发生在相同的ADC主时钟(fCLK)边缘,以确保整个多通道采样系统的确定性延迟。
# 跨时钟域(CDC) #
数据转换器和附加的逻辑设备(这里是FPGA)都是复杂的同步子系统,具有相关的分层时钟架构,加强了本地的确定性。必须使用一个外部的低抖动主时钟来同步两个域。
在ADC中,当使用双时钟FIFO将数据从编码器时钟域传输到发送器/串行化时钟域时,会产生可变延迟。在FPGA中,当使用收发器缓冲将数据从接收器/反串行化器传输到解码器,以及使用输出缓冲将数据从解码器传输到用户应用时,会产生可变延迟。EV12AQ600的输出数据通过4对ESIstream串行线传输。由于CDC的缘故,每根线的延迟都略有不同。EV12AQ600数据输出端的每根线的延迟可在126到142个时钟周期之间变化(32个UI的可变延迟)。此外,ADC和接收解码器之间的物理距离延迟了数据传输。PCB上平行线的长度的任何差异都会进一步增加链路的延迟或偏差。
在接收端去除偏差(参考图2)和重新对齐数据帧以考虑产生的到达时间差,需要在LD输出缓冲中实现灵活的数据缓冲。去除偏差可使接收端的线路正确地对齐。很快我们就会看到,这是通过一个时间计数器实现的——它训练系统并建立延迟限制。一旦得出了这个限制值,则可标记一个“释放数据”事件。
EV12AQ600 亮点
· 12-bit四核ADC
· 高达 6.4 Gsps
· 高达 6.5 GHz带宽
· 集成的交叉点开关
EV12AQ600同步时钟
· fCLK & fSSO
· fCLKMAX = 6.4 GHZ (fserial = 2 x fCLK)
· fSSO = fCLK/32
# 物理信号偏差 #
在传统的PCB上,6GHz的采样系统在50欧姆微带线(即铜线)上通常会产生6.5ps/mm的传播延迟。
因此,数据线之间的任何长度变化都会引入额外的传输延迟。LD去偏差缓冲区的大小也应考虑到这个因素。
# P, V, T的影响 #
过程(如半导体制程)、电压和温度随时间的差异会影响电子系统的工作点。这也是为什么器件需经历完全的测试、验证以得出性能参数——即建立PVT边界条件。任何旨在提供确定性延迟的系统都必须足够健壮,以避免P、V或T的变化影响确定性。这需要一些控制的机制以允许初始系统校准,以及一个监控性能随时间变化的二阶方法。我们稍后将继续讨论这一话题。
考虑到以上的所有因素,如果同步脉冲和接收输出缓冲区“有效数据”之间的延迟是固定不变的,则系统的延迟是确定性的(图2:释放数据)。此外,如果经历了多次上电和复位循环后,延迟的行为可以重现,则这一事件是健壮的。
图 2在LD中去除ADC输出数据的偏差
# 使用同步标志流程解决ADC的亚稳态 #
为了避免亚稳态,需引入相对于主时钟的门事件延迟,如图3所示。这种方法本质上是一种重新计时的方法。
同步EV12AQ600的四个核心需要精确的时钟以实现核心的精确交织。这是ADC时钟管理单元(CMU)的工作,CMU还通过SYNC_CTRL寄存器(0x000C)实现亚稳态缓解功能。在初始化时,ADC通过置位SYNC_FLAG位(0x000D=1)标记出亚稳态。一旦被置位,SYNC_CTRL寄存器允许用户编程ADC采样边缘(图3)。要避免亚稳态,只需检查SYNC_FLAG是否被重新置位。如果一切正常,则SYNC_FLAG保持为低(在EV12AQ600的手册中有SYNC_FLAG的工作流程)。
图 3同步脉冲延迟避开亚稳态区
# 同步链:一种实现多通道确定性的简单方法 #
EV12AQ600的CMU提供了解决内部亚稳态的控制方法。值得注意的是,EV12AQ600通过其同步输出信号(SYNCO)促进了同步链的实现。这个输出信号可以通过菊花链连接到扩展系统中的其他ADC上,可始终保持确定性和相位相干采样。这对于相位信息至关重要的系统(如波束形成应用中的合成孔径雷达(SAR))来说是一个巨大的优势。虽然这一方法在多通道系统中扩展了确定性采样,但它只影响模拟前端。它无法保证发送到LD的输出数据是确定性的。因此,在数字域,我们需要进一步的解决方案。
# 确保数字后端的确定性 #
前面的图2显示了不同的ESS的到达时间有所不同。消除这些线路偏差的一个低开销的方法是创建一个延迟计数器——这在LD中很容易实现(如图4)。
计数器累加从ADC初始同步脉冲开始的时钟周期数和LD接收的最慢的ESS。在这种情况下,“释放数据”事件标志着接收数据反串行化的完成。通过训练系统,同步延迟量化了最慢的ESIstream线路的链路延迟,包括链路层和物理铜线互联的影响。
计数器延迟考虑到所有接收缓冲区数据的后续对齐。显然,在大型分布式系统中,每个转换器的数据链路延迟不同,需要在初始训练阶段建立。幸运的是,在ESIstream系统中,同步链可辅助加强确定性采样。同步事件可调整data ready信号,并针对最慢的线路进行延迟并留有适当的余量,扩展了分布式系统的确定性延迟。
图 4 同步计数器环路延迟“data lanes ready”信号,直到最慢的线路准备好
# 管理PVT对确定性的影响 #
随着采样频率的增加,特别是当EV12AQ600接近6.4GHz的上限时,温度变化引入的时钟信号偏差会导致系统偏离确定性操作,这一点需要加以防范。
Teledyne e2v提出了以下两种对策:
· 对系统的温度变化进行参数化描述,以确定其正常工作极限
· 开发一个动态的微调算法以设置同步脉冲边缘的位置
显然,后一种方法更复杂,但可在整个生命周期提供更大的灵活性,也增加了开发的成本。
# 热特性 #
这里的目标是建议一个安全的中温工作点,以确保确定性,然后在工作范围内调整温度,并监控ADC的亚稳态区(MZ)的SYNC_FLAG。通过生成的MZ映射,可以确定特定温度下,对于最佳工作余量的最佳SYNC_EDGE值(0:上升沿,1: 下降沿)。将这些信息保存在本地查找表里,系统就能够调整合适的SYNC_EDGE应对温度的变化。
详细的MZ映射有助于避免亚稳态。这种方法的一个局限性与老化引入的变化有关。很难参数化整个生命周期的性能,也难以得出和时间相关的MZ映射。在这种情况下,另一种方法可能会有所帮助。
# 温控算法 #
这是一种动态调整同步脉冲相位偏移(相对于主时钟)的算法,可作为LD中的一个额外的时间延迟模块来实现——例如Xilinx FPGA中的ODELAY模块。
如前所述,首先建立一个中温确定性工作点。然后,使用SYNC_FLAG流程,在整个相位范围内(0到360度)调整同步信号相对主时钟的相位,并监视每片ADC的SYNC_FLAG置位事件。这个过程建立了同步相位余量的范围。有了这些信息,确定性操作可通过以下方式维持:
· 设置同步脉冲的最大相位余量
· 或动态调整相位以避免亚稳态
采用任何一种策略都需要仔细的系统级考虑。在高时钟频率下,相位余量受到很大的限制,如图5所示。根据权衡和布线的考虑,可能需要引入精细的同步相位调整控制,该控制由每片ADC外部的时间延迟IC提供。
图 5最具挑战性的系统环境可能需要精确的延迟方法
# 数字设计的选择决定绝对延迟 #
有一个因素决定了整体延迟——数据帧长度的选择。这影响逻辑器件的设计。表1量化了选择1个、2个或3个字的帧长度的影响。
现代的FPGA可以解码高达400-500MHz的线路数据速率。然而,实际应用中还需从经济的角度考虑。某些应用或许只需要较慢的帧速率。这可以用较长的帧实现(表1)。
表 1 帧长度的选择决定逻辑资源和数据速率
但是,这种选择会影响所需数字资源的复杂度,并隐式地增加总的绝对延迟(图6)。
图 6 用单位间隔(UI)表示的总系统延迟
单位间隔(UI)
· 传送单个字符的时间
· 6.4 GHz时UI为156 ps
# ESISTREAM 与JESD204B/C的简介 #
虽然JESD204B/C可实现可重构性,但毫无疑问的是,信号处理行业对其隐含的复杂性十分警惕。一个供应商的技术文档写着“JESD204生存指南”。这个问题来源于多时钟域和复杂的传输层。这两种方法的高级特性总结如下(表2)。
ESIstream消除了JESD204传输层编码的复杂性,除此之外还有一个优点,即它是一个简单的协议,规范文档只有12页。此外,如下的几个原因使应用ESIstream更加简单:
· 消除本地多帧时钟(LMFC),简化了帧结构,帮助调试
· 无需考虑PCB上同步信号布线等长,因为它在每片转换器里在SYNCO输出端重新计时到主时钟
· 消除外部SYSREF信号,因此ESIstream通常无需额外的硬件来实现确定性
· 确定性延迟来源于一次训练流程。一旦延迟参数被确定,对于给定的设计,这些参数是固定的。因此ESIstream非常容易投入生产。
表 2 JESD204B/C和ESIstream的特点总结
# 结论 #
管理系统设计以确保确定性延迟,这一点在很多高级应用中是至关重要的。绝对延迟很少是关键性能的决定因素,而固定(有限)的延迟才是重中之重。在超高速系统中,实现这一目标的难度越来越大,因为时间的余量越来越少。幸运的是,专业的元器件供应商做了很多努力来解决这些令人头疼的问题。
以EV12AQ600为例,有如下几项技术:
· 从架构的角度,最简单的方法是亚稳态标志(SYNC_FLAG),它与同步边沿控制配合,允许调整同步信号的相位,以避免出现不允许的状态。
· 这个重新计时的同步信号可通过菊花链连接到一系列ADC上,确保整个扩展系统的相干采样相位。
· 最后,将主时钟和同步延迟计数器/发生器逻辑模块结合,提供一个消除LD上数据线到达时间偏差的简单的方法。
我们认为无需许可证的ESIstream因其简化的数据链路层在复杂系统中具有明显的优势。JESD204B/C (sub-classes 1 和2)也提供了保证确定性的机制,但据报道,使用这种协议实现健壮的链接操作非常困难。它的许多技术挑战来源于传输层的复杂性,而这种复杂性与它支持的操作的多样性有关。
关于更多的低开销ESIstream的方案,请访问在线资源中心ESIstream.com。无论选择哪个方案,确定性延迟都是一个可实现的系统设计目标。