首页/文章/ 详情

利用有效的验证策略简化 PCIe 6.0 交换机的设计

11月前浏览120
本文翻译转载于:Cadence blog

作者:Deep Mehta

由于全球数据流量呈指数级增长,PCIe 6.0 交换机的市场需求也出现了激增。PCIe 6.0 交换机在高性能计算(HPC)系统(尤其是数据中心)中为需要大带宽和超低延迟的应用提供了重要的数据传输支持。然而,确保这些交换机严格满足性能、能效和成本等要求是一项艰巨的挑战。尽管如此,全面的测试和验证过程还是能够降低这些交换机设计的复杂性。








传统的验证方法仍具有价值,如 PCIe 5.0 交换机采用数据完整性和虚拟通道仲裁测试。尽管如此,PCIe 6.0 要求采用更全面的验证方法——比基本功能验证更深入的高阶验证策略,其中包括生成用于识别潜在性能问题并确保交换机在实际场景中以最佳状态运行的反向压力流量。只有主动应对这些挑战,才能设计出满足高性能计算应用要求的低延迟、高带宽交换机。


Flit 模式和非 Flit 模式的互操作性


PCIe 6.0 新增的 Flit 模式对交换机提出了全新的验证挑战。如下图所示,我们可以将验证分为几个关键领域来思考。

 

● 共存验证:交换机必须能够有效处理通过不同端口的 Flit 模式(FM)和非 Flit 模式(NFM)的混合流量。这种验证方法确保了交换机的性能不会因为流量模式的异构性而降低。

● 事务层数据包(TLP)的数据头转换:NFM 和 FM 使用不同的数据头格式。当入口端和出口端采用不同运行模式时,交换机就需要对不同格式进行转换,验证策略的重点是确保该转换过程的正确性。

● 重传机制差异:FM 和 NFM 使用不同的重传机制。验证策略必须考虑这些差异,才能在重传期间妥善处理传输错误并确保数据完整性。

● 段的可见性和转换:段信息仅可在 FM 链路中直接访问,这使得 FM 和 NFM 事务层数据包(TLP)之间的路由变得更复杂,尤其是当入口端和出口端采用不同运行模式时。例如,交换机有时会报告 TLP 转换出口被阻止的错误,因此必须根据转换规则进行验证。

  • 设备 3 的能力寄存器具有一个“段捕获”位;交换机在将一项 TLP 从 NFM 转换为 FM 时,必须遵循段捕获位的具体规则。

● 弃用 NFM 中的 LN 位:PCIe 6.0 弃用了 NFM 中使用的 LN(轻量级通知)位。验证策略必须针对弃用的 LN 位制定专门的转换规则。

● 14 位标签支持和转换:14 位标签是 FM 独有的。PCIe 规范规定了将请求从 FM 转换为 NFM 的具体转换规则,以解决标签位数差异的问题。

● 中毒机制转换:如果在 FM TLP 转换为 NFM TLP 的过程中应用了任一种中毒机制,则必须设置 NFM TLP 的错误中毒位(EP位)。相反,从 NFM 转换到 FM 时,如果在 NFM TLP 中设置了 EP 位,则该 EP 位必须在转换后的 FM TLP 中保留。验证策略应确保交换机遵循这些中毒机制的转换规则。



通过全面验证这些互操作性,设计人员可确保 PCIe 6.0 交换机有效且稳定地处理 FM 和 NFM 的混合流量。以下拓扑图展示了交换机端口上混合模式流量(FM 和 NFM)的一个示例场景,其中包含一个上行端口和三个下行端口,分别与根复合体(RC)和各个端点(EP)连接。

   
   


应考虑的性能损失


虽然应用这些转换规则和各种共享或专用信用管理能够简化交换机的设计,但在 Flit 模式下添加额外的无操作(NOP)流控单元或 NOP TLP 可能增加性能损失,并额外增加非 Flit 模式中的逻辑空闲(IDL)双字节。这也是现在必须在交换机设计的验证和验收标准中进行性能测试的原因。

交换机验证可以通过流量建模、延迟监控和缓冲区分析来识别和纠正性能问题。

● 流量建模:通过将大量 Flit 模式流量与非 Flit 模式流量互相转换,开发模拟真实世界流量模式的测试场景。测试策略需要根据随机因素评估,如不同的传输速度、链路宽度,以及生成的不同 TLP 类型的流量,确保所有交换机端口都采用了 Flit 模式和非 Flit 模式进行验证。

● 延迟监控:监控数据包在通过交换机时产生的延迟,并重点关注频繁转换模式的路径,找出可能表明转换过程效率低下的异常延迟峰值。

● 缓冲区分析:分析在流量模拟过程中交换机内部缓冲区的行为。必须识别出任何接近满载或溢出的缓冲区场景,因为这种情况可能表明过多的转换负载导致出现潜在的性能问题。换言之,交换机端口必须根据协议标准的规定对 TLP(包括“保留”TLP)进行缓冲和路由。


总 结✦

 Summary 

PCIe 6.0 标准为 PCIe 协议的分层堆栈带来了革命性的变化,其中最具颠覆性的创新是采用了“Flit”。根据标准的要求,交换机入口端会接收一个包含多目标 TLP 的 Flit 数据包,这些多目标 TLP 需要简化路由逻辑,才能利用转换逻辑将数据发送到相应的出口端(反之亦然)。在应用经 OHC 封装的转换逻辑时,不同的共享或专用信用管理和 TLP 重传机制的交换机路由逻辑可能会增加性能损失,仅验证数据集成测试无法识别出这种性能损失。必须对性能测试策略加以评估,才能确保对所有支持 Flit 模式和非 Flit 模式流量的交换机端口进行全面验证。此外,性能测试还有助于识别在不同负载条件(即有效负载长度)下可能出现的潜在瓶颈或问题。

   

来源:Cadence楷登
SystemHPC电路航空汽车电子消费电子芯片UMCadence
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-10-26
最近编辑:11月前
Cadence楷登
签名征集中
获赞 4粉丝 125文章 694课程 0
点赞
收藏
作者推荐

网课回放 I 第四期:PCB布局、布线、规则设计的高级技巧

直播问答整理如下,供大家参考。现场来不及提问、或错过直播的观众可以在后台留言提问,我们会转给相关技术人员进行解答。也欢迎大家就培训本身的改进意见给我们留言,我们会根据大家的反馈调整今后的培训计划。Q如果想用8层板甚至6层板的常规工艺完成LPDDR5 的设计,需要达到6400M 的速率,请问有什么好的优化建议?比如 PCB layout 及相关 SI/PI 的仿真。答:1. 层次规划——如果只有6层板,尽量将信号层和电源层分开以减少干扰。8层板的话,还有更多的选择,可以更好地分离信号和电源。使用内层地层,通过地平面分割和补充来减少电磁干扰。考虑使用分层板设计,以更好地管理信号的层间传播。2. 差分对与匹配——确保差分对的长度匹配,以减少时序偏差。使用差分对匹配的设计规则,以确保信号一致性。考虑使用嵌套差分对,以减小差分对之间的互引。3. 信号完整性——使用信号完整性仿真工具——Sigrity Topology Workbench,Sigrity SystemSI 来仿真信号的传输和波形。在设计中使用端接电阻和电容来控制信号的波形。使用合适的阻抗确保信号传输路径的阻抗连续性。4. 电源完整性——对于 LPDDR5,电源完整性至关重要。确保电源线路稳定,噪声低。使用适当的电源电容和电感来稳定电源供电。5. 布局和连接——尽量减少长距离的高速信号路径。为关键信号提供独立的地线或电源线。避免信号穿越分割平面。6. 信号引脚和分层——在 PCB 布局中,将关键信号引脚放置在靠近内部地层的位置,以减少信号的回流路径。使用分层布局,将不同的信号类别(如时钟、数据、控制信号)放在不同的层上,以减小互引。7. 串扰和 EMI 抑制——使用差分信号和屏蔽层来减小串扰。在设计中考虑电磁干扰(EMI)抑制,使用合适的滤波器和抑制措施。8. 尽早进行仿真——在PCB设计的早期阶段就进行信号完整性和电源完整性的仿真,以发现潜在问题并进行修复。9. 遵循 LPDDR5 规范——详细研究 LPDDR5 的规范,确保设计符合标准要求。QBGA 的位置布局是否允许布置在板子的对角线交叉点上?答:一般不能这样做。BGA(Ball Grid Array)的位置布局并不一定不允许布置在板子的对角线交叉点上。BGA 是一种表面贴装技术,其中芯片引脚以球状焊点的形式排列在芯片的底部,然后与印刷电路板(PCB)上的焊盘相匹配。BGA 的布局通常是根据设计需求和特定应用来确定的。在某些情况下,将BGA布局在板子的对角线交叉点上可能是合理的,特别是当需要将多个 BGA 器件集中在一起并优化空间利用时。然而,这种布局可能会增加布线的复杂性,因为需要确保各个 BGA 器件之间的连接不会交叉干扰。总之,BGA 的位置布局应根据具体的项目需求、信号完整性和电路布局来决定,没有绝对的规定要求不允许将它们布置在板子的对角线交叉点上。设计工程师通常会根据特定的情况来选择最合适的 BGA 布局方式。Q差分走线两侧必须要进行包地吗?另外像 HDMI(High-Definition Multimedia Interface)、DP(DisplayPort)等里面的多组差分线之间有等长要求吗?答:差分信号的两侧通常需要进行包地,这有助于维护信号完整性,降低电磁干扰,以及提高抗干扰性能。包地是指在差分信号的两侧分别布置一个地层,这个地层通常与信号层平行,并与信号引脚或信号轨道之间保持一定的间距。包地可以帮助控制信号的返回路径,减小信号引脚之间的串扰,提供更好的信噪比和抗干扰性。对于像 HDMI 和 DP 等高速数字接口,通常有等长要求。等长要求是指差分对中的正信号和负信号在传输过程中需要保持大致相同的长度,以确保信号到达目的地时能够正确对齐。这有助于减小信号引脚之间的时间差,降低时钟抖动和串扰的风险。要满足等长要求,设计工程师通常需要采取以下措施:确保差分信号的路径长度相等,包括信号轨道、信号引脚的长度等。使用特定的布线规则和技术,如微带线或差分对的匹配线。在PCB设计中考虑差分信号的路径,避免弯曲和不必要的路径延迟。使用差分对的长度匹配工具来帮助设计等长的信号路径。综上所述,包地和等长要求都是确保高速差分信号传输的关键因素,特别是在数字接口和高频应用中。设计工程师应该仔细考虑这些要求,以确保信号完整性和可靠性。Q如何设置走线的阻抗匹配?答:设置设计规范:在开始走线之前,需要确定设计规范中所要求的阻抗值。这通常包括差分对和单端信号线的阻抗要求。 创建信号线类别:在 Allegro 中,可以为不同的信号线创建不同的类别,并为每个类别设置特定的阻抗值和宽度。可以在 Design Constraints Manager 中进行设置。 分配信号线到类别:将不同的信号线分配到相应的类别中。这可以通过在 PCB Editor 中选择信号线并应用相应的类别进行实现。 设置差分对:对于差分信号线,需要在 PCB Editor 中设置差分对。选择两条差分信号线并指定它们是一个差分对。然后,可以为差分对设置特定的阻抗要求。 调整线宽和间距:根据设计规范中的阻抗要求,可以在 PCB Editor 中调整信号线的线宽和间距。Allegro 提供了自动线宽和间距计算的功能,可以根据所选的类别和阻抗要求进行计算和调整。 仿真和验证:在完成布线后,可以使用 Allegro 中的仿真工具来验证信号线的阻抗匹配情况,进行电磁仿真或者使用信号完整性工具来检查阻抗是否满足设计要求。 Q等长蛇形布线如何实现?答:创建信号线:在 Allegro PCB Editor 中,选择"Route"工具,并创建起始和终止点,即信号线的路径。 设置布线规则:在 Design Constraints Manager 中,设置布线规则,包括信号线的最小间距、最小线宽和最小电子间距等。确保规则中没有设置阻止使用蛇形布线的限制。 使用蛇形布线工具:在 PCB Editor 中,选择"Route"工具,然后选择蛇形布线工具。这通常在工具栏中有一个相应的图标。或者通过右键单击并选择"Route"->"Snake"来启用蛇形布线。 设置蛇形布线参数:在启用蛇形布线后,可以设置一些参数,如蛇形的宽度、蛇形的间距、起始和终止点之间的连接方式等。根据设计需求和布线规则,调整这些参数以获得所需的布线结果。 进行蛇形布线:选择起始和终止点,并在 PCB Editor 中绘制信号线的路径。根据所设置的蛇形布线参数,Allegro 会自动在路径上生成等长的蛇形布线。 调整布线:根据需要,可以在完成蛇形布线后对信号线进行微调和调整,以保证布线的质量和满足设计规范。 Q走线如何设置能够实现走线两边的等间距?答:打开 Allegro PCB Editor设置间距规则:在Design Constraints Manager中,设置走线间距的规则。选择"Placement" -> "Spacing",然后设置所需的间距值。确保选择的规则适用于想要实现等间距的走线。 执行自动布线:选择"Route"工具,并从工具栏中选择适当的自动布线选项,如"Auto Route"或"Interactive Auto Route"。这将自动进行走线。 调整布线参数:在自动布线完成后,可以进一步调整布线参数以实现等间距。例如,可以选择调整线宽、间距或其他布线设置来使两边的间距保持一致。 手动调整走线:如果自动布线不能满足等间距要求,可以手动调整走线。使用"Route"工具,选择要调整的走线,并使用拖动或拉伸的方式来调整走线的位置和间距。 验证等间距:在完成布线后,使用Allegro中的验证工具来确保走线两边的间距保持一致。可以使用信号完整性工具或进行电磁仿真来检查等间距的走线是否满足规范要求。 Q弧度走线和切角走线在信号质量上有什么区别?什么信号必须走弧度线?答:弧度走线:弧度走线是指在转弯处使用圆弧来连接信号线的走线方式。它可以减少信号线的辐射损耗和反射,提高信号的传输质量。弧度走线可以平滑信号线的转弯,减少信号在转弯处的信号失真和耦合噪声。因此,弧度走线可以改善信号的完整性和减少信号的传输损耗。 切角走线:切角走线是指在信号线的转弯处使用直角或尖角的走线方式。切角走线相对于弧度走线来说,信号线在转弯处会存在更多的辐射损耗和反射。这可能导致信号失真、串扰和信号完整性的问题。因此,在高速信号传输或对信号完整性要求较高的应用中,切角走线可能会对信号质量产生负面影响。 信号需要走弧度线:一般来说,在高速信号传输中,特别是对于高频信号或差分信号,走弧度线可以提高信号的传输质量。这是因为走弧度线可以减少信号的辐射损耗、反射和串扰噪声,从而减少信号失真和完整性问题。Q绕线线间距设置多少是最优?是否有计算线间距的公式或指导规范?答:在 PCB 设计中,线间距的最优设置取决于许多因素,包括电压等级、信号速度、环境条件和制造工艺等。没有一个通用的公式或规范来确定最优线间距,因为每个设计都有其独特的需求和约束。 然而,通常有一些常见的准则可以参考。例如,根据 IPC-2221 标准,对于一般电路板设计,常见的线间距可以设置为信号线宽度的3至5倍。这个范围可以提供足够的绝缘距离,以减少电气干扰和串扰的风险。 此外,一些高速信号传输标准,如 USB、HDMI 和 Ethernet,也提供了特定的线间距要求。这些标准通常会考虑信号的特性和干扰抑制的需求,因此在设计这些类型的电路板时应该遵循相应的规范。 总之,为了确定最优的线间距,应该考虑设计的具体要求、标准规范和制造工艺,并与PCB制造商或专业工程师进行详细讨论和评估。Q软硬结合板叠层如何设置?答:打开 Allegro 软件,并创建一个新的设计文件。在设计文件中,选择“Design” -> “Stackup Editor”来打开叠层编辑器。在叠层编辑器中,添加和编辑板层。点击“Add Layer”按钮来添加新的板层。对于硬结合板,可以添加铜层、介质层和衬底层。对于软结合板,可以添加柔性电路层、柔性介质层和柔性衬底层。在每个层中,可以设置层的名称、厚度、材料和其他属性,并选择预定义的材料或自定义材料。对于硬结合板,还可以定义导线层、地平面层和其他特殊层。通过拖放和调整层的顺序,定义叠层中各个层的堆叠顺序和位置。完成叠层设置后,保存并关闭叠层编辑器。请注意,设置软硬结合板叠层时,应该根据设计要求、制造要求和供应商要求进行设置。确保叠层设置符合设计规范和标准,并能够满足电路板的电气和机械性能要求。Q如何设置规则设置中 neck 的 min width 和 max width?答:在 Allegro 软件中,"neck"是指电路板中两个不同宽度的导线之间的过渡区域。设置"neck"的最小宽度和最大宽度可以确保过渡区域的宽度在规定的范围内,以满足设计要求和制造能力。 要设置"neck"的最小宽度和最大宽度,请按照以下步骤进行操作: 在 Allegro 软件中打开设计文件。在软件界面的菜单栏中,选择"Setup" -> "Design Parameters",打开设计参数设置对话框。在设计参数设置对话框中,选择"Routing"选项卡。在"Routing"选项卡中,找到"Minimum Neck Width"和"Maximum Neck Width"两个参数。输入适当的数值以设置"neck"的最小宽度和最大宽度。这些数值应该根据设计要求和制造能力进行选择。通常,最小宽度应该满足电路板制造商的要求,并且最大宽度应该在可接受的范围内以避免过度的宽度差异。点击"OK"按钮保存设置并关闭设计参数设置对话框。 请注意,"neck"的最小宽度和最大宽度应该根据具体的设计要求和制造能力进行设置。这些数值可能会因设计规范、信号类型、板厚和制造工艺等因素而有所不同。QSATA 信号线必须圆弧走线的好处是什么?答:信号完整性:圆弧走线可以减少信号线的反射和串扰干扰。通过使用圆弧走线,可以减少信号线边缘的快速变化,降低信号的噪声和失真,从而提高信号的完整性和稳定性。 信号匹配:圆弧走线可以提供更好的阻抗匹配,确保信号线和其周围环境之间的阻抗一致。这有助于减少信号的反射和信号质量的损失,提高信号传输的可靠性和性能。 电磁兼容性:圆弧走线可以减少信号线之间的电磁耦合和辐射。通过合理设计圆弧走线,可以降低信号线之间的干扰,提高系统的抗干扰能力,减少电磁辐射对其他设备的影响。 机械可靠性:圆弧走线可以减少对信号线的应力和损坏。通过使用圆弧走线,可以减少信号线的弯曲和拉伸,降低信号线断裂和损坏的风险,提高电路板的机械可靠性和寿命。 总之,圆弧走线在 SATA 信号线设计中可以提供更好的信号完整性、信号匹配、电磁兼容性和机械可靠性。这些优势有助于确保 SATA 接口的高质量信号传输和可靠性。因此,在设计SATA接口时,建议使用圆弧走线来优化信号线的布局和传输性能来源:Cadence楷登

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈