中文 英语
18.luck新利
的意见

为高效地转换到具有优化IP的PCI Express 6.0设计做好准备

PCIe 6.0设计人员需要考虑的三个主要变化。

受欢迎程度

具有关键变化的PCI Express (PCIe 6.0)技术将为高性能计算、人工智能和片上存储系统(SoC)设计人员带来挑战。本文为设计人员提供了主要变化的总结,以及如何处理这些变化,以确保顺利和成功地过渡到PCIe 6.0。

PCIe 6.0中设计人员需要考虑的三个主要变化是数据速率从32 GT/s翻倍到64 GT/s,转向PAM-4信令和由此产生的纠错影响,以及转向固定大小的flit。

第一和第二变化紧密相连,并受预期在其上传输PCIe 6.0信号的信道性质的影响。

除了这三个变化之外,还将简要介绍其他新特性,如新的低功耗状态L0p,旨在允许功率/带宽扩展,以及支持的标签数量从PCIe 5.0的768个(10位标签)扩展到PCIe 6.0的15360个(14位标签)。

频道和PAM-4

当数据速率从16 GT/s翻倍到32 GT/s时,奈奎斯特频率也从8GHz翻倍到16 GHz,这使得PCIe 5.0 (Gen5)的频率依赖性损耗比4.0 (Gen4)更严重。再加上电容耦合(噪声和串扰)的增加,使得PCIe 5.0信道成为最困难的NRZ信道。如果PCIe 6.0尝试保留NRZ信令,奈奎斯特频率将增加到32 GHz,信道损耗大于60dB,这对于实际系统来说太大了,因此从NRZ改为PAM-4信令。从本质上讲,这种变化意味着传输和接收信号现在有四个不同的电压电平,而不是两个,如图1所示。


图1:在相同尺度上显示的(a) PCIe 5.0 32GT/s (NRZ信号)显示2个信号电平和一只眼睛,(b) PCIe 6.0 64 GT/s (PAM-4信号)显示4个信号电平和三只不同的眼睛的眼睛图。

图1(a)显示了使用两个电压等级和一个眼睛的NRZ信号的PCIe 5.0的眼睛图。图1(b)显示了使用PAM-4信令的PCIe 6.0眼图,具有四个电压等级和三个眼。图1中的两个信号都具有相同的16ghz奈奎斯特速率和相同的单位间隔(UI)。这意味着他们基本上可以使用相同的PCIe 5.0通道,而不会遇到更严重的频率依赖损失,如果使用64 GT/s的NRZ信号,奈奎斯特速率为32 GHz。这就是56G和112G以太网转向PAM-4信令的原因,也是PCIe 6.0现在转向PAM-4的原因。不再有信号损失,但PAM-4的四个电压级别在单个UI中编码两个比特,而NRZ编码一个比特,从而使数据速率提高了一倍。这听起来很不错,但是,有一个重要的权衡。由于发射机(TX)的整体电压波动没有增加,PAM-4系统中每个眼睛的可用电压仅为NRZ的1/3。因此,信号在TX和接收器(RX)之间遇到的任何噪声对信号完整性的破坏都要大得多。

PAM-4的变化使得RX的工作变得更加困难,因为眼睛不仅在电压域(~ 1/3)小得多,而且在时域也小得多,因为许多过渡必须适应单个UI。如图1所示,这是非常明显的;图1(b)底部的绿色箭头显示了NRZ眼的相对宽度,显示PAM-4的眼宽明显小于NRZ眼。因此,PAM-4的时钟和数据恢复更加困难,需要更好的RX设计。大多数PAM-4的设计,包括即将推出的PCIe 6.0设计,都将在RX中具有模数转换器(ADC),以更好地处理PAM-4的多电平信号需求以及传统的NRZ支持。这意味着数字滤波是完全开放的,一个RX与另一个RX使用的特定数字信号处理(DSP)算法,加上不同通道的模拟和数字均衡的仔细平衡,将区分PHY性能。此外,更窄的PAM-4眼意味着PCIe 6.0的TX抖动性能需要比PCIe 5.0好大约2倍,设计人员应该仔细考虑这些因素。

从NRZ到PAM-4信令的转变也对封装和板设计产生了重大影响,因为四个信令级别的变化导致信噪比(SNR)立即下降9.6dB,使得正确管理封装和板设计中的噪声、串扰和返回损失比PCIe 5.0更加关键,即使奈奎斯特速率相同。这种增加的噪声敏感性意味着我们用于PCIe的1e-12的误码率(BER)是不可用的,需要前向纠错(FEC),因为PAM-4信令的误码率将比1e-12高几个数量级,而第一个误码率(FBER)的目标是1e-6。在其他标准(如以太网)中,使用强FEC来获得可接受的误码率,但要付出100ns量级的显著额外延迟,这对于PCIe来说是不可接受的。

由于FEC延迟和复杂性随着被纠正的符号数量的增加而增加,并且由于PCIe 6.0非常激进的延迟目标,因此使用了轻量级FEC,并与PCIe的重试能力相结合,使用循环冗余码(CRC)来检测错误,以便可以重发或重试数据包。PCIe 6.0的轻量级FEC可以产生1e-6级的重试概率,当加上更强的CRC时,整个系统可以提供健壮的,几乎无错误的性能,对往返延迟的影响非常小(通常为~ 2ns)。这意味着设计人员可以设计与PCIe 5.0相同的延迟期望,并且在许多情况下,如事务层数据包(TLP)大小大于128字节(32 DW),将看到比PCIe 5.0实际的延迟改进。

掠过

对于设计人员来说,另一个重要的考虑是将flit作为数据交换单元,而不是可变大小的tlp。这是必要的,因为对PAM-4编码进行了更改,并且需要FEC将误码率提高到可接受的水平,以便CRC和重试机制能够产生可接受的错误率和系统延迟。FEC仅适用于固定大小的数据包,因此PCIe 6.0采用256字节FLITs作为标准大小的数据传输单元。为了在现有信道中保留PCIe 5.0的覆盖范围,导致改为PAM-4,这需要添加FEC,而FEC又需要转向FLITs。使用flit会产生系统问题,因为一些flit可能有来自多个TLP的数据,而其他flit可能只包含一个TLP的一部分,底层TLP的大小仍然可以从0到4096B (1024 DWORDS)不等。

另一个分支是一旦设备进入FLIT模式,例如通过协商必须支持FLIT的PCIe 6.0链路,它需要保持在FLIT模式,不管链路质量发生了什么。因此,如果由于信道不稳定而需要降低链路速度,则新协商的较低数据速率将保留FLIT模式。这意味着在PCIe 6.0中,所有可能需要支持的速度都有FLIT模式。

随着在PCIe 6.0中引入的新的FLIT模式,TLP和数据层数据包(DLP)报头格式需要被应用程序理解和正确处理。例如,对于PCIe 6.0, flit包括它们自己的CRC,因此数据链路层数据包(dllp)和tlp不再像在PCIe 5.0和前几代中那样需要单独的CRC字节。此外,由于flit的大小是固定的,因此不需要使用前几代(非flit模式)中使用的PHY层帧标记。与PCIe 5.0相比,这提高了带宽效率。

新的低功耗状态- L0p FLIT模式

PCIe 6.0引入了一种新的低功耗状态L0p,允许PCIe 6.0链路在不中断数据流的情况下通过缩放带宽使用来降低功耗。在前几代中,为了改变链路宽度,在整个链路重新训练时,流量会中断几微秒,但L0p允许链路关闭车道,从而降低功率,同时始终保持至少一个车道活动,即使其他车道进行链路训练。这种新的低功耗模式仅在FLIT模式下可用,而L0s支持非FLIT模式。

这种新的低功耗模式是对称的,这意味着TX和RX一起缩放,它也支持支持FLIT模式的定时器。在L0p期间为空闲车道节省的PHY电力预计与车道下电类似。

性能保持在64GT/s

为了在PCIe系统中实现最佳性能,设计人员需要确定系统必须处理的未发布请求(NPR)的最大数量,以保持数据流动,这是有效负载大小和总往返时间(RTT)的函数。这个数字转换为可用标签的数量,是控制器的一个属性,必须根据系统需求正确设置。对于PCIe 6.0来说,由于数据速率又翻了一番,以前的768个标签限制远远不够,因此标签数量正在急剧增加,基于14位标签的新最大值为15360个。这可以实现高效的性能,即使有更长的往返时间,并有足够的空间来允许未来更快的数据速率。

图2展示了各种rtt的PCIe 4.0、5.0和6.0数据速率所需的标签数量,以保持256B有效负载的最大吞吐量和32B最小读请求大小。如图2所示,来自PCIe 5.0的768个标签限制不足以维持大多数PCIe 6.0系统的性能。这应该在配置PCIe 6.0控制器时进行模拟和验证,作为SoC设计的一部分,以确保可以实现预期的性能。


图2:从PCIe 4.0到PCIe 6.0链路实现最大吞吐量所需的标签数量。

第二个需要考虑的因素是如何确保应用程序能够有效地利用PCIe 6.0的大量可用带宽。通常,一个应用程序通过控制器连接到PCIe,有3个单独的接口:分别用于已发布、未发布和完成事务。对于64gt /s的PCIe 6.0,各种情况的分析表明,单个接口将导致链路利用率或带宽效率(实际实现带宽与理论带宽相比)的显著损失。对于更小的数据路径宽度和更小的有效负载大小,这个问题更严重。

如图3所示,对于传统的单一应用程序接口和双应用程序接口(用于发布事务),显示了各种PCIe 6.0数据路径宽度和有效负载大小的传输链路利用率。在1024b数据路径的32字节有效负载的情况下,使用单个发布接口而不是两个发布接口导致的链路利用率下降为54%。这意味着在这种情况下,使用具有单一应用程序接口的控制器将导致与PCIe 5.0相当的性能。


图3:使用多个应用程序接口提高PCIe 6.0链路利用率。

PHY和控制器集成

为了实现最佳性能、最低延迟和简化集成,从单一供应商实现完整的PHY和控制器IP解决方案是有利的。如果这是不可能的,那么PIPE接口的细节是至关重要的。管子。x接口规范不支持PCIe 6.0,因此必须指定较新的版本PIPE 6.0。现在看来,大多数PCIe 6.0的设计将采用基于新的PIPE 6.0规范的SerDes Architecture PIPE接口。这简化了PHY的设计,并使PCIe 6.0 PHY在CXL 3.0推出时能够支持低延迟的要求。

在PCIe 6.0中,数据路径宽度和定时必须在PIPE接口上关闭的频率之间继续进行权衡。对于需要最大PCIe 6.0带宽和16通道配置的应用程序,只有两种现实的选择。为了在1GHz保持合理的时序闭合,需要使用64b PIPE,这反过来又需要1024b PCIe 6.0控制器架构(16通道x 64b = 1024b)。这是PCIe 6.0的一个新特性,因为在之前的几代PCIe中还没有可用的1024位架构。

另一种选择是使用32位PIPE并坚持512位体系结构。这意味着在PHY控制器接口上关闭2GHz的定时。虽然这不太可能是大多数SoC设计人员的首选,但一些试图在非常快的CMOS工艺中实现最小延迟的设计人员可能会选择这个选项,因为它将位时钟的周期时间缩短了一半,与1GHz计时相比,提供了更低的延迟。

测试和调试注意事项

对于生产设备,64gt /s的制造测试需要能够验证链路的快速测试,通常使用集成到PHY和控制器IP中的内置环回模式、模式生成器和接收器。在PAM-4的PHY中支持环回比NRZ更复杂,但同样重要,应该考虑作为可测试性解决方案的一部分。

对于在实际的硅中进行调试和质量监控,能够监控硅中的FBER对于查看系统的真实链路质量也非常有益。这可以与通常集成到PCIe 6.0 PHY IP中的内置作用域功能一起使用,以更详细地了解TX和RX之间可能发生的情况。

为了对像PCIe 6.0这样的新规范进行更健壮的系统测试,重要的是内置控制器支持调试、错误注入和统计监控功能。这有助于确保能够正确地开发固件和软件,以预测可能遇到的任何潜在的实际系统问题。

总结

虽然PCIe 5.0正在获得吸引力并被主流设计所采用,但业界正热切地等待PCIe 6.0的推出。好消息是,PCIe 6.0带来了更高的性能和一系列新特性,包括64 GT/s的数据速率,使用具有吞吐量和延迟优势的FLITS,以及新的低功耗状态L0p,从而实现真正的带宽扩展以降低功耗。然而,在决定迁移到新的PCIe 6.0规范之前,这些变化引入了设计人员需要了解的注意事项。Synopsys可以通过DesignWare IP for PCIe 5.0和最近推出的PCIe 6.0来使这一转变变得更加容易,DesignWare IP for PCIe 5.0已被客户用于150多个设计。Synopsys是PCI-SIG工作组的积极贡献者,帮助开发跨所有代的PCIe规范。

额外的资源



留下回复


(注:此名称将公开显示)

Baidu