作为 PC 系统中最重要的总线,PCI express 由 Intel 于 2001 年提出,用于替代PCI 总线,以满足更高的带宽和吞吐量需求。
PCI总线是一种什么总线?
PCI即Peripheral Component Interconnect,中文意思是“外围器件互联”,是由PCISIG (PCI Special Interest Group)推出的一种局部并行总线标准。
PCI总线是由ISA(Industy Standard Architecture)总线发展而来的,ISA并行总线有8位和16位两种模式,时钟频率为8MHz,工作频率为3MHz/66MHz。是一种同步的独立于处理器的32位或64位局部总线。从结构上看,PCI是在CPU的供应商和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送。从1992年创立规范到如今,PCI总线已成为了计算机的一种标准总线。PCI总线已成为局部总线的新标准,广泛用于当前高档微机、工作站,以及便携式微机。主要用于连接显示卡、网卡、声卡。PCI总线是32位同步复用总线。PCI总线其地址和数据线引脚是AD31~AD0。PCI的工作频率为33MHz。
PCI-Express 的背景介绍
随着电脑产品变得愈来愈复杂,主机 板汇流排上的资料速度也愈变愈快。1980 年,ISA(Industry Standard Architecture) 汇流排是第一个支援多种 I/O 介面卡的并 列介面,可供绘图、音效、以及其它人机 介面使用。到了 1992 年,由于市场对更 快速绘图介面的需求相当殷切,于是乎 EISA (Extended ISA)演变成为第一版的 PCI (Peripheral Component Interconnect),用以显示彩色的影像。此时的 PCI 是一种同步的多落点汇流排(multi-drop bus),最多有 32 条资料线,以 33 MHz 的时脉速度运行。
PCI 的发展历经了几个革命性的阶段,最初版的并列汇流排架构称为 PCIX,是一种 64 位元宽、双倍资料速率达 266 Mb/s 的汇流排架构。
当资料速率愈来愈高以后,包含独立时脉信号线的同步并列汇流排就会面临时 序不对称(skew)的问题。PC板的设计人员为了藉由修改跑线的方式来符合设定与保持时间(setup/hold time)的规格, 一直伤透了脑筋,而串讯(crosstalk)与接地信号跳动(ground bounce)还会带来另外的EMI(电磁干扰)问题。为了提高北桥与南桥的传输能力,Intel 公司的工程师于是提出了将整个架构改为串列式的想法,因为如果能将时脉信号内嵌在资料信号中,就可以在接收端把时脉回复出来, 以消除时序不对称的问题。这个想法最后 证明非常地成功:不仅 PCI 被 PCIExpress(PCIe)所取代,而且其它如 IDE/ATA(AT Attachment)也被改成 SATA,请参见图。
PCI总线结构如下图展示了一个基于PCI总线的老系统结构。该系统包括一个北桥(North Bridge,位于中央PCI总线的北方向,是处理器与PCI总线之间的接口) 和与北桥相连的是处理器总线(processor bus)、系统存储总线(system memory bus)、AGP图像总线(AGP graphics bus),以及PCI总线。
这些设备共享PCI总线,它们要么直接与总线相连,要么作为插卡插入到连接器上。在中央PCI总线下方有一个南桥(South Bridge,用于将PCI与系统外设相连接),这里的系统外设可以是为了使用旧的遗留设备而应用发展了多年的ISA总线。南桥通常也是PCI的中心资源区(Central resource),它提供了一些系统信号诸如复位、参考时钟和错误报告操作。
PCI总线系统结构
我们知道PCI总线与处理器总线(FSB)以及存储总线(DDR)三者是相互分离的。如下图所示,PCI总线作为处理器系统的局部总线,是处理器系统的一个组成部分。
PCI总线相关的模块包括了:HOST主桥,PCI总线,PCI桥以及PCI设备。
基于PCI总线作为处理器系统
PCI总线的基本传输机制是猝发成组数据传输。一个分组由一个地址相位和一个或多个数据相位组成。
由下面的图表可以看到,为了满足日益增长的信息传递速率,每一代 PCIE 标准在速度上都几乎是成倍增长。
目前,由于 PCIE 4.0拥有相较于前代PCIE 3.0两倍的16GT/s传输速率,其被广泛应用于超算,企业级高速存储,网络设备等产品中。而,AMD发布了支持PCIE4.0的7nm锐龙 3000 系列处理器,正式将 PCIE 4.0带入了消费级平台。
随着人工智能技术的飞速发展,对运算能力的需求不断提升,高速总线也面临着更大的挑战。因此,在 PCIE 4.0发布仅仅两年后,PCI-SIG便于2019年5月发布了PCIE 5.0规范。相比较之前 PCIE 4.0的16GT/s,PCIE5.0 将信号速率翻倍到了32GT/s,x16双工带宽更是接近128GB/s。极高的信号速率,使得PCIE5.0能够更好的支持对吞吐量要求高的高性能设备,如用于AI的GPU,网络设备等等。
2019 年底,Intel便出货了支持 PCIE 5.0 的 Agilex FPGA,也拉开了 PCIE 5.0时代的大幕。
我们应该了解 PCIE 5.0哪些主要指标呢?
由于速率的翻倍,PCIE 5.0在均衡,损耗等指标上,与前代均有较大差别。
1. 拓扑结构
PCIE拓扑结构
上图展示了基本的双连接器 PCIE拓扑结构,这种结构被广泛应用于服务器、存储和加速器系统。
在 PCIE 5.0 中,当线路损耗过大,或使用多个连接器时,可以在信号拓扑中加入Re-timer以提高系统信号质量。关于加入 Re-timer 后的拓扑结构,在之后的章节会有具体的介绍。
2. 损耗
上述拓扑结构中包括各种损耗组件,而 PCIe 5.0 已经为这些组件制定了如下的损耗预算。可以看到,整体通道的损耗在16 GHz 时不能高于 36 dB。
系统板预算包括底板、转接卡、底板到转接卡以及 PCIe 卡机电 (CEM) 外形连接器。
3. 均衡
PCIE 5.0 在发射端 和 接收端都使用了均衡技术来提高信号质量。
A.Tx EQ
在发射机端,PCIE 5.0 沿用了 PCIE 4.0 的三阶FIR滤波器(如下图所示),通过对信号高频分量的抬高和低频分量的减少来弥补这一影响。
B.RX EQ
与 Tx 均衡不同,在接收端,PCIE 5.0 对 PCIE 4.0 的均衡进行了升级,二阶 CTLE 和三阶 DFE被用来替换前代的一阶 CTLE 和二阶 DFE,以应对更高的信号速率,使闭合的眼图张开。通过CTLE 可以减小由更高频通道损耗造成的影响。而 DFE 则可以进一步减少 ISI 带来的影响。
通过实施以上技术,PCIE 5.0在PCIE 4.0的基础上实现了速度翻倍,同时,其信号延迟和编码开销也大幅优化。
数据中心运营商需要采用新一代技术来满足 5G 和物联网的响应时间和高带宽要求。随着连接互联网的设备和数据密集型实时应用的数量有望达到数十亿,目前数据中心常见的 100 千兆以太网(GE)速度将会逐渐不堪重负。因此,数据中心运营商需要将其网络从 100GE 迁移到 400GE。联网速度的提升需要有更快的内存和串行总线通信作为支撑。在收发信机升级到 400GE 的同时,数据中心运营商必须升级到新一代高速计算 接口。双倍数据速率(DDR)存储器将从 DDR 4.0 升级为 DDR 5.0,高速外 围设备互连(PCI Express® 或 PCIe®)扩展总线将从 PCIe 4.0 升级为 PCIe 5.0。PCIe 是数据中心用来进行机架级点对点通信的一种高速、差分、串行标准。数据中心运营商倾向于将计算任务分配给同一机架中的服务器,以避免不必要的流量充斥数据中心网络。PCIe 5.0 标准正在快速发展之中,因为 PCI 特殊利益集团(PCI-SIG®)计划在 2019 年完成 PCIe 5.0 标准。这个小组是负责定义 PCIe 规范的标准机构。
Evolution of PCIe® Standards and Test Requirementswww.keysight.com/cn/zh/assets/7120-1023/white-papers/Evolution-of-PCIe-Standards-and-Test-Requirements.pdf?cmpid=OSM-22117042&utm_source=zhihu&utm_medium=OS&utm_campaign=307
Each generation of the PCIe standard doubled the data transfer rate and increased the complexity of test. Regardless of which generation of the standard you are working on, you need a test solution approved by PCI-SIG to ensure that your products comply with the standard and get to market faster.
高速外围设备互连(PCI Express®或 PCIe®)标准是多类计算机服务器和终端设备中采用的一项核心技术。PCI 专业组(PCI-SIG®)定义了 PCIe 技术规范和 PCIe 一致性测试项目,以确保高速外围设备互连系统之间的互操作性。PCIe 5.0 是目前最新制定的标准。它将能够支持在数据中心大规模采用 400 GE 技术。因为该标准可为 16 路的系统提供大约 128 GB/s 的全双工在数据中心大规模采用 400 GE 技术。
PCIE 5.0 面对的挑战1. 无源通道设计
在 2.2 中介绍到 PCIE 5.0 对整体信道的损耗有严格的要求。下表中对比了 PCIE 4.0 在 16 GT/s 速率下,与 PCIE 5.0 在 32GT/s 速率下的损耗要求。
可以看到,虽然PCIE 5.0的速率提高了一倍,损耗要求却没有下降太多。这意味对设计的损耗控制要求提高了几乎一倍。
使用低损耗或超低损耗的材料的固然使减少损耗的一个方法,但其在降低了损耗的同时,也大大提高了产品的成本。如果能够在使用较低成本材料的同时,通过对叠层,传输线结构的调整,达到符合要求的通道性能,无疑能使产品获得更大的竞争力。平衡成本与性能之间的关系,将成为工程师们不得不面对的挑战。
2. Repeater使用
PCIe 4.0 对通道损耗的要求是 8 GHz 小于 28 dB,而 5.0 则是16 GHz 小于 36 dB,若大于这些值,接收机不能保证可以正确地解出信号。控制损耗固然是解决方法之一,但对于损耗过大的设计,受到产品结构,尺寸和成本的限制,留给工程师的优化空间往往十分有限,因此Repeater被使用来给予看似绝望的设计一线生机。
Repeater 的目的是为了避免抵达接收机的信号恶化太严重以至于无法被正确识别,在信道中提前对信号做处理。
以 PCIe 5.0 为例,因成本的考虑不能用太贵的板材,若初步的通道设计差损48dB@16GHz,为了让信号可以正确地传送,可以选择在通道中间加上Repeater,这样就可以把通道的设计拆成两半,Repeater 和 RX 各分担 24dB@16GHz 的差损。关于Repeater的使用我们会在后面章节 4.2作更深入的探讨。
Repeater 是由一个 RX 加上 TX 芯片所组成,而依信号处理方式的不同分为两类,Retimer和Redriver:
A. Retimer
有CDR(Clock Data Recovery,时钟恢复)若TX到该Retimer之前的通道设计符合Retimer的规范,则信号可以被正确的还原,之前的通道损耗和抖动都可以被Retimer消除,因此就像TX的位置被移动到Retimer,对SI工程师来说,信号就可以走得更远了。
B. Redriver
没有CDR,因此只能补偿信号的衰减,无法去除抖动。
那么,我们应如何对PCIE5.0设计挑战?
针对以上提到的设计难题,Keysight Pathwave 平台提供了完整的解决方案。
无源通道设计
在 3.1 介绍到,无源通道的损耗是 PCIE 5.0 设计中的一大挑战。为了平衡成本与性能,工程师需要进行大量的预研,在layout之前评估出适合的PCB材料,传输线和叠层结构等。在使设计符合协议要求的同时,尽可能降低产品的成本。
而针对设计完成的 layout,工程师需要准确的提取其中的S参数,用于验证通道损耗是否符合设计要求。由于PCIE 5.0的奈奎斯特频率高达16GHz,工程师需要一款能够在高频情况下准确高效提取通道S参数的工具。
在 Keysight ADS软件中,CILD和SIPro两个工具,可以分别满足layout前后的设计验证要求。
A. 传输线结构设计(Pre-layout)
工程师在正式layout之前,需要预先确定设计的叠层,材料和走线结构。为了控制产品的成本,超低损耗材料往往无法很普遍的被使用。受到材料的约束,工程师更需要通过合理的叠层和线宽,线间距设置,降低通道的损耗。
这里,以Dk=3.8, Df=0.005的低损耗材料,core/pp介质厚度3/6mil,85ohm阻抗为例,对比不同的传输线线宽与线间距对损耗的影响。
在Keysight ADS软件中,CILD是专门用于在layout前构建传输线结构,并仿真其主要参数的工具。在CILD中,可以通过设定目标阻抗,使用优化模式自动优化出符合阻抗要求的线宽和线间距。如下图中,统计出了8种不同的线宽及线间距组合。
CILD 的传输线模型还可以导入 ADS 原理图中,通过 Batch Simulation 对各种线宽线间距的组合进行扫描。如下图所示,对 8 种传输线结构都进行了仿真,得到了16 GHz 时的损耗。
可以发现随着线宽的增宽,传输线的损耗逐步下降。4/10 的情况下,相较 2.2/3 损耗下降了超过 1.5 dB。考虑到 case 4~7 的 pitch 虽然增加了近 50%,但是损耗仅减小了 0.3 dB。选择Case4或Case5的情况进行layout,既减少了损耗,又可以保证足够的走线空间。
除了线宽与线间距,CILD 也可以考虑材料参数和叠层的变化。通过 ADS CILD 的使用,用户可以对传输线结构进行快速评估,获得设计参考。
B. Layout EM验证(Post-layout)
完成 layout 之后,工程师需要使用电磁仿真工具提取layout的S参数对设计进行验证。由于PCIE 5.0的高速率,工程师使用的电磁仿真工具需要能在高频段也能快速准确提取出S参数。同时,设计中往往会使用背钻来解决过孔stub的问题,因此也要求电磁仿真器能准确提取该部分信息。
ADS SIPro是一款专用于PCB仿真的电磁仿真工具。其使用独有的混合算法,可以快速提取信号走线(包含过孔)的频域模型,验证设计完成的layout性能。这一频域模型可以直接转换成ADS 的原理图,用于电路仿真,如时域瞬态仿真,通道仿真等。同时,ADS 提供了过孔设计工具Via Designer,使用有限元方法进行过孔结构的仿真设计。
2. Repeater应用
上文提到过提到 Repeater 的工作原理,工程师往往需要判断 Repeater 的使用时机和方式。通过 ADS 通道仿真器,可以对是否使用 Repeater 以及 Repeater 的摆放位置进行规划与验证。
A. 是否需要使用 Repeater
这里提供两种判断方式,方法I比较简单但较粗糙,方法II适用于获得芯片的AMI模型的情况,可以得到很接近真实的眼图,建议初期先用方法I做系统规划,再用方法II来验证。
I. 损耗评估法
透过 S 参数仿真,比较通道损耗(包括封装)和PCIe规范的损耗标准,若通道损耗超过标准,则建议使用 Repeater。
II. 统计眼图法
ADS 通道仿真器 (Channel Simulator),用于分析经过通道后的信号质量。信道仿真器具有两种模式,其中统计学模式是是德科技专利技术,是目前串行接口的主流仿真工具。
以下探讨是否有AMI模型的判断方式
没有AMI模型
把信道的S参数带入通道仿真器 (Channel Simulator ) ,并设定PCIe协会对芯片规范的Jitter和EQ(De-emphasis, CTLE, DFE),找出最好的EQ组合,若该组合不能符合协会订定的眼图张开标准(5.0, 眼高15mV,眼宽0.3UI),建议使用Repeater。有AMI模型不用自己设定Jitter和EQ,且眼图张开标准有可能会比协会订定的还宽松(例如眼高10mV,眼宽0.2UI,比协会规范的EYE MASK还小),这取决于RX芯片的算法能力,建议参考RX AMI模型的应用文件。若仿真得到的眼图张开不能符合该RX AMI建议的值,建议使用Repeater。
B. Repeater的摆放位置
Retimer
由于Retimer送出的信号已经将信号时钟对准,可以把Retimer位置视为新的TX位置,并针对协会对损耗的规范来摆放Retimer。透过损耗评估法,得到以下的黄色区间是适合摆放Retimer的位置,在该区间符合 TX to Retimer 和 Retimer to RX 之间的通道差损小于36dB@16GHz。
一旦决定Retimer的位置后,可以将两段 S 参数 ( TX to Retimer 和 Retimer to RX )连同Retimer AMI 模型用通道仿真器来判断最后RX的眼图是否符合该RX的要求(再次强调,应该要参考RX AMI 的应用文档来设定 EYE MASK),若不符合要求,可以前后调整一下Retimer位置后,再用通道仿真验证,直到RX的眼图符合该RX的要求为止。Redriver
由于没有 CDR,因此在评估时无法将 Redriver 的位置视为新的 TX 位置,因为从 Redriver 送出的信号会带有之前信道累积的 Jitter。有了这样的认知,我们在判断 Redriver 的位置就应该更加保守,类似下图。
确定位置后,一样也需要透过信道仿真器来判断RX的眼图是否符合RX规范。Repeater 加在 Baseboard 还是 Ricer Card 上?
在参考文献[1]中也有讨论以下两种常见的Repeater摆放位置(Topology 2 and 3),最后仿真结果也都远优于协会规范,这表示在系统设计上还有许多优化空间,例如可以选择较低成本的板材,或是走线可以走得更长。
Topology 1 - 无Retimer,Baseboard用Ultra-Low-Loss板材
Topology 2 - Retimer加在Riser card上,Baseboard用Ultra-Low-Loss板材
Topology 3 - Retimer加在Baseboard上,Baseboard用Low-Loss板材
PCIe 5.0仿真实例
下是我们基于 PCIe 5.0 的规范设定的 Retimer 测试模板。通过仿真结果我们可以看到,即使进到 Retimer 前的眼图已经完全关闭 (Retimer in),但通过 CDR 以及均衡器的处理,再次送出张开的眼睛 (Retimer TXout),来协助RX正确地使眼图张开 (RX out)。
参考文档 - [1] Elene Chobanyan, Casey Morrison, Pegah Alavi, “End-to-End System-Level Simulations with Retimers for PCIe® 5.0 & CXL: A How-To Guide”, DesignCon 2020.[2] Harrison Fei Xue, et al, “PCI Express 5.0 Solution Extending Study Through PCB Stackup and Geometry Optimization”, DesignCon 2020.
如欲详细了解在仿真、表征和确认您的 PCIe 设计时所使用的测试解决方案,请查看:
PCIe 5.0 的三大关键知识点
是德科技 www.keysight.com.cn