0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

解决PCIe协议验证挑战

星星科技指导员 来源:嵌入式计算设计 作者:Don Schoenecker 2022-06-19 15:44 次阅读

PCIe 的分层协议带来了不同的挑战,因此也带来了不同的解决方案。

PCI Express (PCIe) 验证团队的主要关注点是与前几代 PCIe 的互操作性和向后兼容性。这需要工具来验证设计的参数和协议方面,以确保合规性并验证设计性能。PCIe的分层特性推动了不同的测试挑战和解决方案,具体取决于关注的领域。

PCIe技术是一种分层协议,如图1所示:

图 1:不同层的 PCIe 协议需要不同类型的测试。

pYYBAGKu0-eAGCksAAEViofj8Bs574.png

协议级验证挑战

一旦用户在物理层级别达到数据有效状态,这需要验证链路信令和LTSSM 操作,他们就会使用 协议分析仪和练习器在协议级别测试更高层。分析仪连接到处于活动状态的两个设备之间的链路,以观察和评估每个级别的数据。锻炼器作为终端设备连接,以模拟压力条件并记录DUT 如何响应。PCIe 数据链路层的验证通过规范测试来执行,这些测试检查正在传输的数据链路层协议数据包 (DLLP)、确认、否定确认、重传、和流量控制。验证团队需要能够从所有错误(包括间歇性故障)中恢复的强大系统。

协议验证的主要挑战

是快速准确地测试系统功能,以便产品能够上市。必须以有效的方式检测、分析和纠正协议错误。

调试 PCIe 协议意味着捕获高速流量,包括电源管理转换。协议调试工具需要快速锁定流量,然后触发独特的协议序列。调试较低级别的问题,例如电源管理,需要非常快的锁定时间。捕获流量后,查看不同抽象级别的数据可以隔离问题。

PCIe 协议调试中出现的另一个关键挑战是以非侵入 方式访问信号。连接到 PCIe 总线的探头不得以影响总线值或操作的方式干扰或更改信号。探测信号的位置和方式取决于每个独特的系统设计。中间总线探测器提供对流量的访问,但不得影响信号质量。插槽中介层需要在长迹线上被动地传递信号,而不是改变信号。验证团队需要具有多种探测选项的灵活访问权限。

随着 PCIe 4.0 的到来,将速度提高到 16 GTps 将延续 PCIe 3.0 中 8 GTps 的一些相同趋势,需要更高的信号质量调谐和均衡能力才能实现验证。NVMe 协议提出了许多新的测试挑战。NVMe 为 PCIe 连接的设备创建了一个新的高性能可扩展主机控制器接口,该接口映射来自主机的内存,以便将数据移入和移出存储设备,具有低延迟和端到端数据保护。该接口利用多个队列来管理和提供优化的命令提交和完成路径,并支持并行操作。

协议验证测试设置

使用分析仪进行验证的最终目标是测试链路和数据传输,以确保设备功能和互操作性。为了实现这一点,协议分析器需要提供对每个独特协议层发生的情况的可见性。在进行故障排除时,用户必须将特定错误跟踪到适当的层以进行更正。为了验证设备,协议练习者需要能够在同一张卡中模拟根复合体或端点。 锻炼者通过发送适当的 I/O 流量来刺激被测设备,充当理想的链接伙伴。 然后,可以通过模拟各种条件和场景来验证DUT 的错误恢复过程,而不会影响 其性能参数。

在这些功能和测试中,用户必须通过一致的表示来解决信号访问发生方式和位置的复杂性,以实现准确的数据恢复。探测解决方案需要具有高性能和多功能性,以适应不同类型的系统设计。探测需要保持非侵入性,以便访问不会影响信号质量或协议操作。

以下每个功能都需要使用练习器和分析器进行测试,以确保数据链路和事务层功能正常且合规:

均衡 (EQ) 是训练两个终端以可靠地传输每个比特的过程。每个单独的车道都必须经过培训。在 by-4链接中,每个链接可以有不同的调整参数。训练是动态的,需要正确设置每个泳道的前光标、光标和后光标值。信号质量对于成功运行至关重要。EQ 过程对于 PCIe 3.0 8 GTps 速度的成功链接至关重要, 对于 16 GTps 的 PCIe 4.0更为重要。

链路训练信令状态机 (LTSSM) 分析观察和控制链路的不同可能状态。状态转换处理链接、恢复和电源管理。LTSSM 的目标是达到称为 L0 的状态——链路处于活动状态并且可以传输数据。LTSSM 中的其他状态,例如配置、训练和错误恢复例程,提供链路控制和恢复以及电源管理功能。

数据包捕获查看单个 PCIe 数据包以解码响应和设备配置和枚举。从内存读取和写入的过程是基于数据包中包含的地址来通过链路传输数据的。

性能分析和流量控制会影响响应时间和整体吞吐量。流量控制用于防止缓冲区溢出,并且可以清楚地识别可能对数据吞吐量产生负面影响的信用不足问题。

在满足所有测试以建立稳定的通信通道后,下一步是验证PCIe 总线上的应用层(例如 NVMe)。对于 NVMe 协议测试,用户将需要一个工具来观察不同部分的交互方式。数据链路层、确认、流控制、多个队列和多个命令需要协调。在一次 NVMe 读取中可能需要分析数千个数据包。一个好的工具将

总结

沟通并帮助深入了解解决任何运营问题所需的细节。随着 NVMe 规范的发展,协议分析器将继续成为用户验证设计的宝贵工具。

仿真是 NVMe 测试的另一个重要方面。用户需要能够在操作中创建多个队列和命令,以确保控制器可以管理不同类型的配置。这种模拟过程的配套工具称为 NVMe 练习器。这些工具可以执行识别常见实施错误的验证测试序列。

验证设备是否符合 PCI-SIG 标准的最终目标是互操作性、可靠性、与先前 PCIe 标准的向后兼容性以及上市速度。协议级测试需要灵活设计的工具,不仅针对当前这一代的挑战,而且理想情况下具有内置功能,可以预测这些层在未来版本的规范中的演变。无论是基于 PCIe 还是基于 NVMe,正确的综合测试解决方案集将继续帮助验证团队通过工具克服验证挑战,并支持他们进行快速准确的测试。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16073

    浏览量

    176967
  • 总线
    +关注

    关注

    10

    文章

    2856

    浏览量

    87887
  • PCIe
    +关注

    关注

    15

    文章

    1187

    浏览量

    82327
收藏 人收藏

    评论

    相关推荐

    PCIe光传输的优势与挑战

    PCIe向光传输接口的转变,预示着低延迟传输将取得新的突破。作为PCI标准组织(PCI-SIG)的关键成员,新思科技不仅深度参与其中,并积极协助制定新的标准。外设组件高速互连(PCIe)标准正在经历变革,这将对芯片设计流程产生深远影响。
    的头像 发表于 08-12 10:37 482次阅读
    <b class='flag-5'>PCIe</b>光传输的优势与<b class='flag-5'>挑战</b>

    Prodigy Technovations推出功能强大的PCIe Gen5协议分析仪

    分析仪。 这种先进的解决方案使工程师能够以高达32GT/s的速度无缝捕获、解码和分析PCIe Gen5流量,从而加快高速PCIe接口的开发和验证。 利用LTSSM视图进行PCIe Ge
    的头像 发表于 07-29 05:36 299次阅读
    Prodigy Technovations推出功能强大的<b class='flag-5'>PCIe</b> Gen5<b class='flag-5'>协议</b>分析仪

    新思科技PCIe 7.0验证IP(VIP)的特性

    在近期的博文《新思科技率先推出PCIe 7.0 IP解决方案,加速HPC和AI等万亿参数领域的芯片设计》中,新思科技宣布推出综合全面的PCIe Express Gen 7(PCIe 7.0)
    的头像 发表于 07-24 10:11 486次阅读
    新思科技<b class='flag-5'>PCIe</b> 7.0<b class='flag-5'>验证</b>IP(VIP)的特性

    PCIe插槽竟然能玩出花样?多个最新PCIe扩展硬盘方式!#PCIe扩展 #PCIe #硬盘盒

    硬盘PCIe
    ICY DOCK硬盘盒
    发布于 :2024年07月11日 17:21:28

    pcie4.0和pcie3.0接口兼容吗

    PCIe 4.0和PCIe 3.0接口在多个方面实现了兼容性,PCIe 4.0和PCIe 3.0接口兼容性问题是一个广泛讨论的话题。 PCIe
    的头像 发表于 07-10 10:12 5642次阅读

    如何简化PCIe 6.0交换机的设计

    支持。然而,确保这些交换机严格满足性能、能效和成本等要求是一项艰巨的挑战。尽管如此,全面的测试和验证过程还是能够降低这些交换机设计的复杂性。
    的头像 发表于 07-05 09:45 441次阅读
    如何简化<b class='flag-5'>PCIe</b> 6.0交换机的设计

    FPGA的PCIE接口应用需要注意哪些问题

    FPGA上的PCIe接口应用是一个复杂的任务,需要考虑多个方面的问题以确保系统的稳定性和性能。以下是在FPGA的PCIe接口应用中需要注意的关键问题: 硬件资源和内部架构 : FPGA的型号和尺寸
    发表于 05-27 16:17

    pcie协议规范

    pcie协议
    发表于 05-16 09:09 98次下载

    PCIe系统阻抗控制85还是100的验证

    连接器,主板通过连接器到PCIe标准子卡(也叫Add-in卡),如下图所示: 3、在上面2的基础上,中间通过一个Riser卡互联,如下图所示: 4、自定义的连接,遵循PCIe信号协议,两块或两块以上
    发表于 04-22 17:21

    PCIe系统阻抗控制85还是100的验证

    上次我们讲到,PCIe阻抗控制到底是85ohm还是100ohm好,今天我们就从无源仿真的角度来解决系统阻抗搭配的问题吧。
    的头像 发表于 04-22 17:15 638次阅读
    <b class='flag-5'>PCIe</b>系统阻抗控制85还是100的<b class='flag-5'>验证</b>

    看看PCIe设备之间的通信方式

    PCIe是以包(Packet)为单位传输数据的。和计算机网络类似,其协议也是分层的。
    的头像 发表于 03-01 14:18 5384次阅读
    看看<b class='flag-5'>PCIe</b>设备之间的通信方式

    PCIE的阻抗控制,到底是选择85还是100欧姆好?

    我们经常遇到很多系统通过高速连接器相连,信号按照Pcie3或者Pcie4的协议来走线,往往很多连接器的阻抗通常是100ohm的标准,而Pcie3或者
    的头像 发表于 12-22 15:11 1148次阅读
    <b class='flag-5'>PCIE</b>的阻抗控制,到底是选择85还是100欧姆好?

    【芯片设计】握手协议的介绍与时序说明

    最早接触到握手协议是在校期间学习PCIe的AXI总线时,至今日虽然PCIe的结构已经忘得一干二净,但握手协议经过不断的使用还算掌握的不错。
    的头像 发表于 12-11 14:11 2748次阅读
    【芯片设计】握手<b class='flag-5'>协议</b>的介绍与时序说明

    什么是PCIePCIe有什么用途?PCIe 5.0有何不同?

    随着英特尔Alder Lake CPU的发布,以及AMD 7000 Ryzen CPU的即将发布,PCIe 5.0 硬件终于成为现实。但什么是 PCIe 5.0?
    的头像 发表于 11-18 16:48 3250次阅读
    什么是<b class='flag-5'>PCIe</b>?<b class='flag-5'>PCIe</b>有什么用途?<b class='flag-5'>PCIe</b> 5.0有何不同?

    体验紫光PCIE之使用WinDriver驱动紫光PCIE

    和主机怎么交互起来都是一个问题。入门一看PCIE协议,会发现繁多也难懂——PCIE体系庞大足以让天下无书,这夸张我已经不知道从哪里听来了。如果能够一边把PCIE通信交互转起来,一边理解
    发表于 11-17 14:35