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

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

3天内不再提示

如何破解PCIe 6.0带来芯片设计新挑战?

架构师技术联盟 来源:半导体行业观察 2023-02-03 10:23 次阅读

PCI Express (PCIe) 6.0规范实现了64GT/s链路速度,还带来了包括带宽翻倍在内的多项重大改变,这也为SoC设计带来了诸多新变化和挑战。对于HPC、AI和存储SoC开发者来说,如何理解并应对这些变化带来的设计挑战变得至关重要。

本文将就上述问题和方案作详细介绍及探讨。

PCIe 6.0的重大新变化

变化一:PCIe 6.0电器性发生根本性的机制改变

为了实现64GT/s的链路速度,PCIe 6.0采用脉冲幅度调制4级 (PAM4) 信号,在与32GT/s PCIe相同的单元间隔(UI)中提供4个幅度级别(2 位)。图1显示了三眼眼图与此前的单眼眼图的对比。

07a59ecc-a341-11ed-bfe3-dac502259ad0.png

图 1:与NRZ信号相比,PCIe 6.0 PAM-4信号是三眼眼图

与NRZ相比,转换到PAM4信号编码引入了更高的误码率(BER)。为缓解这种情况,6.0规范在以 64GT/s 运行时实现了许多新功能。例如,当将新的4级电压眼图映射到数字值时,格雷编码可以最小化每个 UI 内的错误,并且发送器应用预编码来最小化迸发错误;PCIe 6.0还采用前向纠错(FEC)机制来降低较高的误码率。这些对 PCIe 协议和控制器设计都具有重大影响。

变化二:新一代协议的引入

PCIe 6.0 引入了全新的“FLIT 模式”,其中数据包被组织在固定大小的流控制单元中,而不是过去规范版本中的可变大小。这种模式简化了控制器级别的数据管理,带来了更高的带宽效率、更低的延迟和更小的控制器占用空间。当以 64GT/s 的速率运算时,FLIT 模式使用未编码数据(称为“1b1b 编码”),而 128/130 编码用于 8GT/s 至 32GT/s 的链路速度,经典8b10b编码用于2.5GT/s 和 5GT/s 的链路速度。

与具有相同配置的 32GT/s PCIe 控制器相比,64GT/s PCIe 6.0 控制器所需的硅面积显著增加;支持1b1b编码不仅增加了第三物理层路径(位于 8b10b 和 128b130b 顶部),还增加了数据链路层中的逻辑;FLIT模式中使用的新优化标头,也进一步增加了逻辑门数,超过了 32GT/s 解决方案。

变化三:PIPE数据路径宽度增加,每个时钟周期有多个数据包

为了保持与上一代相同的最大时钟频率,64GT/s下PIPE数据路径宽度增加了一倍,即需要1024位数据路径的16通道设计,这为芯片设计带来了新的问题。

要知道,大于128位的数据路径宽度,可能会导致SoC需要在每个时钟周期处理多个PCIe 数据包。最小的PCIe事务层数据包 (TLP) 可以被视为 3 个 DWORD(12 字节)加上 4 字节 LCRC,总共 16 个字节(128 位)。在 8GT/s 时,使用PCIe PHY的 500MHz 16 位 PIPE 接口最为常见,这意味着8通道及以下(16 位/通道 * 8 通道 = 128 位)的链路宽度会在每个时钟最多传输一个完整的数据包。但是,16通道(16位/通道 * 16通道 = 256位)在每个时钟周期就需要传输两个完整的数据包。

如表1显示,随着链路速度的提高,每个时钟的完整数据包的数量相应增加,从而影响越来越多的设计。

07c7a684-a341-11ed-bfe3-dac502259ad0.png

表 1:数据路径宽度随链路速度增加,导致更多配置超过128位阈值

PCIe 6.0的优化设计

1松弛排序

PCIe排序规则需要Posted事务,例如内存写入保持有序,除非数据包标头中设置了松弛排序 (RO) 或 ID 排序 (IDO) 属性。使用RO集的Posted事务可以传递任何先前 Posted 事务,而使用IDO集的事务只能使用不同的请求者ID传递先前事务。

以下四个示例展示了这两种属性对于实现完整的PCIe 64GT/s 性能的重要性。他们均利用4个PCIe内存的序列写入256字节中的每一个,表示将1KB 有效载荷递送到地址1000,然后是4个字节的PCIe内存写入,表示将“成功完成”指示递送到地址7500。表中的每一行代表一个时间段,而三列(从左到右)表示事务到达PCIe引脚、应用程序接口和 SoC 内存。在所有 4 次内存写入之前,“成功完成”指示到达内存的任何场景都反映出失败,因为软件在收到指示后立即可进行数据处理,因此在交付正确的数据之前处理。

示例1:只要其中一个应用程序接口的带宽至少等于 PCIe 带宽,该接口就可以正常工作。

07db2cf4-a341-11ed-bfe3-dac502259ad0.png

表2:单一全速率应用程序接口可正确传输数据

示例2:双接口通常会出现故障,因为无法保证SoC中两个通往内存的独立路径之间的到达顺序。

07fda63a-a341-11ed-bfe3-dac502259ad0.png

表3:显示双半速率应用程序接口失败,原因是“成功完成”指示早于所有数据到达

示例3:将强排序流量强制到单个接口可避免出现无序到达,但由于无法使用全部内部带宽,因此很快落后于 PCIe 链路。

081149f6-a341-11ed-bfe3-dac502259ad0.png

表4:由于无法全速传输数据,所示的双半速应用程序接口失败

示例4:当链路伙伴把数据有效载荷数据包标记为 RO 且把成功完成数据包标记为强排序时,两个半速率接口可以成功传输。请注意,当 RO 有效载荷数据无序到达时,非 RO 写入 7500 不被允许传递有效载荷写入,因此在发送所有先前写入之前,不会将其发送到应用接口。

08536b56-a341-11ed-bfe3-dac502259ad0.png

表 5:显示双半速应用程序接口通过对有效载荷数据使用松弛排序成功

SoC 设计人员可以在其出站数据流中设置RO属性,并显著提高PCIe链路性能。IDO排序属性在许多情况下都具有类似的优势,大多数 PCIe 实现都可以将其应用于其传输的每个数据包。

具有IDO集的数据包仅被允许传输具有不同请求者 ID 的先前事务,这意味着数据包来自 PCIe 链路上的不同逻辑代理。大多数端点实现(单功能和多功能)都对与往返于其他 PCIe 端点的流量相关的数据排序漠不关心,因为它们通常只与RC通信。同样,大多数RC通常不会在多个端点之间混合相同的流量流,因此在这两种情况下,都没有与其他设备的请求者 ID 相关的排序问题。与此类似,大多数多功能端点对功能之间的数据排序也不关心,因此也不必担心自己的请求者ID之间的排序。因此,大多数实施已经可以为他们发起的所有事务设置IDO。

2增加应用程序接口

除了上文讨论的因素外,当数据包小于接口宽度时,利用多个较窄的应用程序接口可显著提高整体性能。图 2 显示了新思科技 PCI Express 6.0 控制器IP上64GT/s Flit模式下在发送连续的 Posted TLP流方面的传输链路利用率。对于更大的数据路径宽度,显然需要更大的数据包来通过单个应用程序接口保持完全的链路利用率,1024 位接口需要 128 字节的有效负载。

086c2452-a341-11ed-bfe3-dac502259ad0.png

图 2:在 64GT/s FLIT 模式下,利用单个应用程序接口进行传输的各种有效荷载大小和数据路径宽度的链路利用率

相反,当新思科技控制器配置为两个应用接口并运行相同的流量模式时,就会有明显的改进,现在64字节的有效负载即使在 1024 位数据路径中也能产生完全的链路利用率,如图 3 所示。

086c2452-a341-11ed-bfe3-dac502259ad0.png

图 3:在 64GT/s FLIT 模式下,通过两个应用接口配置进行传输的各种有效载荷大小和数据路径宽度的链路利用率

3解决小数据包效率低下

虽然大多数设备几乎无法控制其流量模式,但小数据包可以实现更少带宽。新思科技 CoreConsultant 使用最大有效负载大小和往返时间 (RTT) 等参数来配置 PCIe 6.0 控制器中的缓冲区大小、突出 PCIe 标签数量和其他关键参数。

图3和图4显示了从新思科技的 64GT/s x4 控制器的仿真中获得的数据。该控制器配置为 512 字节最大有效载荷大小和 1000nS RTT 扫描,覆盖一系列有效载荷大小和 RTT 值。如果在同一范围内重复相同的扫描,但任意一个参数降低,则当扫描通过优化范围后,性能会降低。

089e2c0e-a341-11ed-bfe3-dac502259ad0.png

图 3:小尺寸 Posted 数据包效率低下

08f4d522-a341-11ed-bfe3-dac502259ad0.png

图 4:小尺寸Non-Posted数据包效率低下,在一系列往返时间范围内扫描

总结

实施 64GT/s PCIe 接口的 SoC 设计人员应确保其支持松弛排序属性,即有效载荷而非相关控制上的RO,以及所有数据包上的IDO,除非应用程序有异常要求。这是在整个 64GT/s 生态系统中实现高性能的关键部分。

为x4和更宽链路实施64GT/s PCIe的设计人员需要注意每个时钟周期的多个数据包,并应根据其典型流量大小考虑多个应用接口。

所有64GT/s实施者都应为1GHz(或更快)的设计实现做好准备,并且应确保通过硅前性能模拟检查其假设。

对于上述这些优化设计办法,新思科技提供完整的PCIe 6.0解决方案(包括控制器、PHY 和 VIP)。这些解决方案支持松弛排序属性、PAM-4 信号、FLIT 模式、L0p 电源、高达 1024 位的架构以及多个应用程序接口选项,有助于更轻松地过渡到64GT/s PCIe设计。

审核编辑:汤梓红

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

    关注

    455

    文章

    50716

    浏览量

    423164
  • 控制器
    +关注

    关注

    112

    文章

    16332

    浏览量

    177813
  • soc
    soc
    +关注

    关注

    38

    文章

    4163

    浏览量

    218168
  • 芯片设计
    +关注

    关注

    15

    文章

    1015

    浏览量

    54879
  • PCIe
    +关注

    关注

    15

    文章

    1234

    浏览量

    82586

原文标题:如何破解PCIe 6.0带来芯片设计新挑战?

文章出处:【微信号:架构师技术联盟,微信公众号:架构师技术联盟】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    PCIe 6.0元年,AI与HPC迎来新速度

    电子发烧友网报道(文/周凯扬)2022年1月,PCI-SIG发布了PCIe 6.0规范,正式拉开了接口带宽大幅升级的序幕。然而,在规范公布的两年时间里,也已经更新了6.0.1和6.1版本,PCIe
    的头像 发表于 01-31 09:02 2792次阅读

    绿色制造带来多种挑战 破解工艺成本难题

    绿色制造带来多种挑战 破解工艺成本难题   电子产品生产禁用的有害物质导致企业成本上升、加工难度加大以及产品质量下降,这对电子元件
    发表于 11-12 17:11 1069次阅读

    楷登电子发布PCIe 6.0规范Cadence IP

    应用提供优化的性能和吞吐量。面向 PCIe 6.0 的 Cadence IP 的早期采用者现在可以使用相应的设计套件。 Cadence 的这款 5 纳米 PCIe 6.0 PHY 测试
    的头像 发表于 10-26 14:28 4354次阅读

    PCIe 6.0的新变化与新挑战

    2022年1月11日,PCI-SIG正式发布了PCI Express(PCIe) 6.0最终版本1.0,标志着各大IP、芯片厂商可以开始着手设计、开发自己技术和产品了。从技术上来说,PCIe
    的头像 发表于 04-13 13:50 4863次阅读

    PCIe 6.0规范及它是如何从过去的规范演变而来的

    虽然与前几代相比,PCIe 6.0 的变化很大,但业界对其采用有着强大而广泛的支持。PCIe 在每个现代计算架构中无处不在,您应该期望 PCIe 6
    的头像 发表于 06-01 17:15 2313次阅读
    <b class='flag-5'>PCIe</b> <b class='flag-5'>6.0</b>规范及它是如何从过去的规范演变而来的

    干货:PCIE6.0技术剖析

    关于PCIe6.0 你需要知道的都在这里 从正式发布至今,PCI Express(PCIe)发展迅速,已经成为高性能计算、人工智能/机器学习(ML)加速器、网络适配器和固态存储等应用不可或缺的一项
    的头像 发表于 12-07 07:40 4809次阅读

    面向高性能数据中心和人工智能SoC Rambus推出PCIe 6.0接口子系统

    全新的PAM4信令带来PCIe 6.0两大非常重要的改变。第一个改变就是采用前向纠错(FEC),支持固定大小数据包(FLITs)。第二个重要的变化就是在PCIe
    的头像 发表于 12-19 13:57 796次阅读

    如何破解PCIe 6.0带来芯片设计新挑战

    设计带来了诸多新变化和挑战。对于HPC、AI和存储SoC开发者来说,如何理解并应对这些变化带来的设计挑战变得至关重要。 本文将就上述问题和方案作详细介绍及探讨。
    的头像 发表于 01-19 16:50 920次阅读

    PCIe 6.0入门之什么是 PCIe 6.0

    PCI Express® 6.0 (PCIe® 6.0) 规范由 PCI-SIG® 于 2022 年 1 月发布。最新一代的 PCIe 标准带来
    的头像 发表于 05-22 17:27 6433次阅读
    <b class='flag-5'>PCIe</b> <b class='flag-5'>6.0</b>入门之什么是 <b class='flag-5'>PCIe</b> <b class='flag-5'>6.0</b>

    AI和数据中心:PCIe 6.0,你是懂加速的

    6.0在AI、HPC和数据中心中越来越受欢迎。PCIe 6.0运行速度极快,达到64GT/s,是上一代的两倍。目前,网络服务器、固态驱动器、交换机和AI加速器都已率先采用PCIe
    的头像 发表于 07-12 17:50 1808次阅读

    PCIe 6.0的优化设计方案探讨分析

    为了实现64GT/s的链路速度,PCIe 6.0采用脉冲幅度调制4级 (PAM4) 信号,在与32GT/s PCIe相同的单元间隔(UI)中提供4个幅度级别(2 位)。图1显示了三眼眼图与此前的单眼眼图的对比。
    发表于 08-05 09:33 958次阅读
    <b class='flag-5'>PCIe</b> <b class='flag-5'>6.0</b>的优化设计方案探讨分析

    新思科技PCIe 6.0 IP与英特尔PCIe 6.0测试芯片实现互操作

    :SNPS)近日宣布,新思科技PCI Express(PCIe6.0 IP在端到端64GT/s的连接下,成功实现与英特尔PCIe 6.0测试芯片
    发表于 10-12 15:11 379次阅读

    新思科技成功实现与英特尔PCIe 6.0测试芯片的互操作性

    新思科技PCIe 6.0 IP与英特尔 PCIe 6.0测试芯片实现互操作 在64GT/s 高速连接下成功验证互操作性,降低高性能计算SoC
    的头像 发表于 10-16 09:22 817次阅读

    下一代PCIe5.0 /6.0技术热潮趋势与测试挑战

    迫切。 一、PCIe 5.0 /6.0技术升级 1)信号速率方面 从PCIe 3.0、4.0、5.0 到 6.0,数据速率翻倍递增,6.0
    的头像 发表于 03-06 10:35 1018次阅读
    下一代<b class='flag-5'>PCIe</b>5.0 /<b class='flag-5'>6.0</b>技术热潮趋势与测试<b class='flag-5'>挑战</b>

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

    由于全球数据流量呈指数级增长,PCIe 6.0 交换机的市场需求也出现了激增。PCIe 6.0 交换机在高性能计算(HPC)系统(尤其是数据中心)中为需要大带宽和超低延迟的应用提供了重
    的头像 发表于 07-05 09:45 541次阅读
    如何简化<b class='flag-5'>PCIe</b> <b class='flag-5'>6.0</b>交换机的设计