和知名CPU/GPU公司交流PCIe 6.0怎么测 - 抓包、发包、故障注入与功耗验证一次讲透
2026-07-30 15:29:09

我近期和业内一家非常知名的CPU/GPU公司负责PCIe 6.0验证的负责人进行了一场面对面技术交流。我们双方并不是第一次接触。客户此前购买过SerialTek公司的PCIe 5.0的协议分析工具,而这次讨论的重点很明确:随着Gen6项目逐步推进,原有工具是否还能延续?下一阶段需要补齐哪些测试能力?一套真正能用于研发的PCIe 6.0环境,又应该如何搭建?

整场交流持续一个多小时,从一张PCIe 6.0 Switch卡讲起,逐步延伸到Embedded PCIe 6.0 Analyzer、Retimer、转接线、故障注入、热插拔、电源拉偏、功耗分析、盘柜自动化,最后落到PCIe 6.0高端协议分析仪、Exerciser和CTS兼容性测试

PCIe 6.0规范发布已经数年,但对真正做CPU、GPU、Retimer、Switch和高速外设研发的团队来说,Gen6至今仍不是一个“插上就能跑”的成熟环境。

64GT/s、PAM4、FLIT Mode、更复杂的链路训练和更敏感的信号裕量,让过去在PCIe 4.0、5.0时代相对独立的几类问题,开始纠缠在一起:

链路起不来,到底是协议问题、固件问题,还是信号太强、太弱或阻抗不匹配?

设备偶发掉线,是Endpoint自身异常,还是主机没有正确处理错误恢复?

某块GPU在一台服务器上稳定,换到另一台服务器就出问题,是否与插槽供电、电源瞬态或边带信号有关?

热插拔、PERST#、单Lane异常、接触不良和上电时序这些corner case,怎样在实验室里稳定、重复地制造出来?

今天的文章内容较长,我们本次看似介绍了很多产品,背后其实只围绕一个问题:

PCIe 6.0研发,已经不再是一台仪器能够解决的事情。


一、从展会闲聊开始,话题很快落到Gen6项目

会议刚开始,双方先聊了最近参加的行业活动。

首先聊到我刚参加完的OCP China Day,当然也谈到上海慕尼黑电子展。与大型综合电子展相比,OCP China Day规模不算大,但参会者更集中在服务器、数据中心、存储和开放计算领域。几句闲聊之后,话题自然转向了客户正在推进的PCIe 6.0项目。

客户团队一直负责PCIe相关研发,不仅有CPU产品线,也有GPU产品线。此前曾采购过一套便携式PCIe 5.0协议分析工具,最大的优点是便携、经济,拿到实验室里很快就能用。问题是,到了PCIe 6.0,这种“小盒子方案”并不能简单照搬。

Gen6需要新的高速链路环境,也需要一张能够真正建立PCIe 6.0拓扑的Switch卡。于是,会议第一个展开的产品,不是传统协议分析仪,而是一张PCIe 6.0 Switch测试卡。


二、第一部分:PCIe 6.0 Switch卡为什么成为研发环境的底座

交流中我们首先回顾了PCIe 6.0 Switch卡的演进。

早期版本采用Broadcom Atlas系列PCIe 6.0 Switch芯片,产品经历了高Lane数原型、A0版本以及后续更适合量产供货的80 Lane版本。随着芯片版本演进,板卡的供电接口、连接器位置和布局也做了调整,新的B0版本价格有所上升,但供应状态和后续软件能力会更稳定。

客户真正关心的并不是外观变化,而是这张卡在研发环境中到底扮演什么角色。

它可以把CPU、GPU、网卡、SSD、Retimer或其他Endpoint连接到同一套可控拓扑中。测试CPU时,Switch卡可以作为下游设备(EP)扩展平台;测试GPU、NIC或SSD时,它又可以作为主机与Endpoint之间的Gen6互连环境(RC)。

更重要的是,它不是一张只能“接通链路”的被动扩展板。板上带有管理接口和MCU,可以通过USB连接电脑,执行端口状态查询、时钟模式切换、设备Enable/Disable、Reset、电源控制和其他管理操作。

换句话说,这张卡同时承担了三层任务:

第一层是搭拓扑,让Gen6设备先有地方接。

第二层是做管理,让工程师能看到端口状态并控制设备。

第三层是向内嵌于Embedded PCIe 6.0 Analyzer和自动化测试能力。

这也是客户对它感兴趣的原因:它比完整协议分析仪轻量、便携,又比普通Switch板更可控。


三、PCIe Embedded Analyzer:不再额外背一个小盒子

在PCIe 5.0时代,客户使用的SerialTek公司提供的小型协议分析工具需要配合一个外置控制盒,由软件完成抓包、解码和分析。

新的Gen6方案计划把这部分能力直接放进Switch环境中,也就是会议中反复提到的PCIe Embedded Analyzer。

它并不是要取代高端独立协议分析仪,而是针对日常研发中的快速判断:

链路有没有起来?

卡在LTSSM哪个阶段?

哪一个Station、哪一条Link出现异常?

有没有特定类型的TLP、DLLP或错误包?

当系统同时连接多条链路时,能不能快速看到多路状态?

与传统单链路小盒子相比,Embedded Analyzer的一个明显优势,是可以依托Switch观察多个Station和多个端口,而不只是盯住一条链路。

但它也有边界。

板载抓取缓存不会像高端分析仪那样巨大,因此软件会通过预定义模板和过滤条件,尽量只抓工程师真正关心的内容。例如只抓链路训练过程,只抓错误包,只观察某类事务,或者过滤掉大量正常流量。

这类工具最适合做“第一现场判断”。

设备起不来时,工程师不用立刻搬来一整套大型分析仪;先通过Switch卡确认LTSSM、端口状态和关键报文。如果问题复杂,再转到高端协议分析平台做深度分析。


四、软件为什么还没有正式定价:背后涉及Broadcom调试能力开放

客户随后问到了最现实的问题:对应的PCIe 6.0协议分析软件怎么卖,多少钱?

现场给出的信息是,这套软件倾向采用年度订阅模式,而不是一次性永久授权。基础Switch卡不购买高级软件也可以正常搭建拓扑和运行设备,但内置Analyzer、LTSSM可视化、协议包查看及部分深层调试能力,需要额外的软件License。

当时软件界面和主要功能已经开发得比较完整,但还没有正式发布和定价。

原因并不只是销售策略。

Broadcom Switch芯片内部有很多底层调试能力,例如LTSSM状态、内部协议分析、部分物理层诊断和寄存器工具。对于与Broadcom签署深度NDA的大型服务器厂商,这些工具可能通过专用接口开放;但多数普通芯片公司和研发团队,很难直接获得完整访问权限。

厂家希望把其中一部分常用能力包装成终端用户可以直接使用的软件,因此需要与Broadcom确认哪些功能可以公开、以什么方式开放,以及怎样避免暴露受限制的底层信息。

所以,这套软件的价值不只是“界面好不好看”,而是帮助没有Broadcom深度NDA的普通研发团队,获得一部分原本只对大型客户开放的实用调试能力。


五、客户最关心的两个点:便捷和成本

听完Embedded Analyzer介绍后,客户很快总结出这套方案最吸引他们的地方:

第一是便捷。

第二是价格。

对很多芯片研发团队来说,并不是每一个实验台都需要一台全功能、超大缓存的高端协议分析仪。尤其在Bring-up早期,工程师经常只是想知道:

链路卡在哪儿?

设备有没有枚举?

当前跑在Gen几、x几?

是否出现明显错误?

能否在本机上快速复位或重新训练?

如果一张Switch卡加订阅软件就能覆盖这些基础诊断,使用门槛会低很多,也更适合在多个实验台铺开。

客户同时也很清楚它的缺点:这毕竟不是独立的高端PCIe 6.0 Analyzer。

因此,双方从一开始就没有把它包装成“万能替代品”,而是把它放在整个工具链的第一层:轻量、日常、快速判断。


六、从Switch卡向外展开:Retimer、Redriver和各种连接转换

接下来,讨论从Switch卡转向PCIe 6.0环境中另一个绕不开的部分:连接。

做CPU或GPU验证时,真正让工程师头疼的,往往不是缺一个设备,而是接口对不上:

主板出来的是MCIO x8;

手里要测的是标准CEM x16插卡;

另一块板上是E3.S或E1.S;

有时候还要接CXL设备;

线缆太长又担心信号损耗;

距离拉长后,还要决定是否加入Retimer。

为此,现场介绍了几类配套产品。

首先是真正的Retimer卡,覆盖Broadcom、Credo、Marvell等主流方案。形态主要包括MCIO输入输出型,以及PCIe金手指转双MCIO型。它们既可以用于延长连接距离,也可以用于Retimer芯片自身的兼容性和恢复能力验证。

其次是Redriver产品。它与Retimer的工作机制不同,适合某些成本、距离和拓扑要求不同的场景。

再往下,则是大量转接卡、延长线和接口转换线:

MCIO转CEM x16;

MCIO转EDSFF;

MCIO x8拆成两路x4;

E3.S、E1.S、M.2、U.2与标准插槽之间的转换;

服务器主板到外部测试平台的延长连接。

这些产品看起来没有SerialTek PCIe 6.0协议分析仪那么“高大上”,但在真实项目里经常是决定测试能否开展的关键。


七、一个看似普通的转接卡,为什么自制版本总差一点

客户对其中一张MCIO到标准插槽的转接卡很感兴趣,并提出了非常专业的问题:能否提供插损、回损和完整SI参数?

因为他们的主板上既有MCIO接口,也有标准插槽。有时候需要把主板MCIO引出的链路转接到标准插槽上,用于测试不同Endpoint。如果转接卡自身信号质量不够,最终看到的问题就可能不是DUT问题,而是治具问题。

现场还分享了一个实际经历。

有几家SSD或服务器公司曾经采购过成熟转接卡,但在批量使用时觉得价格偏高,于是参照外形自己重新设计。外观看起来几乎一样,功能也能跑,但在实际测试中,某些自制卡会从Gen5降到Gen4,或者在高负载下偶发不稳定。

将自制卡与成熟产品进行信号对比后,虽然大多数指标仍能使用,但整体信号裕量大约差了15%到20%。

在Gen4时代,这点差距未必立刻暴露;到了Gen5、Gen6,它可能就是“稳定”和“偶发掉速”之间的差别。

客户因此提出,希望先拿到线缆和转接卡的SI报告,确认插损等参数,再采购少量样品实际试用。

这个讨论非常有代表性。

PCIe 6.0测试环境中,治具不再只是一个“能接上”的机械转换件。它本身就是信号链路的一部分。


八、Gen6环境里一个反直觉现象:线更长,链路反而起来了

谈到线缆和Retimer时,现场还分享了一个很反直觉的现象。

一般人的直觉是,线越长,信号越差。但在某些Gen6组合中,短连接反而无法稳定跑到目标速率,加上一段延长线后,链路却起来了。

这并不意味着长线更好,而可能是因为原始链路信号过强、端接或阻抗匹配不理想,增加一段受控损耗后,接收端反而进入更合适的工作区间。

交流中以一款早期Gen6网卡为例,提到其不同固件版本会调整部分链路训练参数。早期固件下,有些主机与网卡组合难以稳定建立Gen6链路;更新固件或改变连接损耗后,表现会明显改善。

这给客户带来一个很重要的提醒:

PCIe 6.0链路起不来,不一定只是“信号不够好”,也可能是信号过强、均衡参数不合适,或者两端训练策略没有匹配。

所以,Gen6调试不能只靠换线和猜测,需要同时看:

物理连接;

固件版本;

Preset和均衡参数;

LTSSM过程;

协议错误;

不同RC与EP组合的互通表现。


九、第二部分:热插拔和故障注入,不是简单断个电

大约进行了一些上述的问题讨论后,会议转入第二类工具:Quarch热插拔与故障注入模块。

很多工程师把热插拔理解成“断电—上电”。

但真正的PCIe热插拔远比这复杂。

物理拔出一张卡时,电源脚、地、差分信号、PERST#和其他边带信号并不一定同时断开;重新插入时,也存在连接顺序和时序差异。主板、BIOS、操作系统和设备固件必须共同处理这一过程。

如果直接用手插拔GPU或高速网卡,不但很难重复,还可能损坏连接器、主板甚至CPU。

Quarch模块的做法,是把一张控制卡串在主板插槽和被测设备之间,通过USB或网络接受软件命令,在逻辑上完成插入和拔出。

例如:

先让设备断开,等待系统确认设备消失;

再重新接通;

触发PCIe Rescan;

观察设备能否重新枚举;

检查驱动、AER和系统日志;

继续运行压力测试。

这样就可以把一次偶然操作,变成可重复执行上百次、上千次的自动化测试。


十、真正有价值的是“逐Pin控制”

现场花了较长时间解释,这类工具最强的地方并不是普通热插拔,而是逐Pin控制。

它可以分别控制:

12V和3.3V供电;

PERST#等复位信号

边带信号;

PCIe差分对;

特定Lane的发送端或接收端;

某些Pin的接通和断开顺序。

例如,系统正在通过网卡跑流量,或者通过SSD持续执行FIO压力测试。此时在某一条Lane的接收端制造一个非常短的毛刺,就可能产生一个可控的链路错误。

通过调整毛刺持续时间和间隔,可以制造不同错误强度:

偶尔出现一个错误;

每秒出现几十个错误;

持续产生大量错误;

让链路进入Recovery;

观察是否降速、降宽;

检查CPU或Endpoint的错误处理是否正确。

对于CPU团队而言,这类测试尤其重要。

因为他们不仅要验证“正常数据能不能收”,还要验证根端口收到畸形信号、CRC错误、链路抖动或短暂断路后,底层硬件、固件和操作系统能否正确恢复,而不是挂死整个系统。


十一、把某根信号故意晚接50毫秒,能解决什么问题

会议中还提到一种普通工具几乎无法完成的测试:人为改变单根信号的接通顺序。

有些问题只在启动时偶发,工程师怀疑某根信号可能比其他信号早到或晚到,但没有直接证据。

通过故障注入模块,可以把某根Pin单独分组,例如让其他信号正常接通,而目标信号晚50毫秒再接入;也可以反过来,让它提前接通。

这样可以验证:

设备是否依赖某个非标准上电顺序;

某个边带信号延迟是否会导致枚举失败;

接触不良是否会触发系统异常;

主机在Lane部分接触时能否正常恢复;

某种现场问题是否与连接器接触先后有关。

这类测试的价值不在于“制造稀奇古怪的错误”,而在于把工程师脑子里的猜测变成可重复实验。


十二、为什么Gen6故障注入会更贵

PCIe 5.0时代,一块x16故障注入卡通常可以对16条Lane提供较完整的双向控制。

到了PCIe 6.0,64GT/s PAM4对器件、板材、连接器和内部开关提出了更高要求。每增加一组可控Lane,硬件成本都会明显上升。

因此,Gen6版本往往采用模块化配置。客户可以先购买只覆盖部分Lane的方案,例如先对Lane 0进行双向故障注入;如果项目需要覆盖全部x16,再逐步增加模块。

这种配置方式听起来不如“全配”痛快,但更符合实际预算。很多研发团队在早期只需要证明错误处理机制有效,并不一定从第一天就要同时控制16条Lane。


十三、盘和卡经常换,先保护最容易坏的主板插槽

谈到日常实验操作时,双方还讨论了一个很朴素的问题:反复插拔会不会把主板槽位弄坏?

答案当然是会。

特别是昂贵的CPU原型主板、服务器主板或验证板,其连接器并不适合工程师一天插拔几十次。

现场建议,在频繁更换GPU、网卡、SSD转接卡时,可以先接一段高质量PCIe延长线,把消耗转移到延长端。即使延长线损坏,更换成本也远低于主板插槽。

有些标称Gen5的短距离延长线,在特定实验环境中也可以稳定运行Gen6,但正式选型仍然要以实际SI参数和目标拓扑验证为准,不能只凭“某次跑起来了”判断。


十四、Switch卡不仅用于搭环境,也可用于测试RC、EP、Retimer和Switch

随后,交流重新回到Switch卡的适用范围。

对于Endpoint开发团队,Switch卡可以连接CPU与GPU、网卡或SSD,构建多设备环境。

对于CPU团队,关系可以反过来:CPU原型平台作为RC,Switch卡及其下游设备用来验证Root Port能力。

对于Retimer和Switch芯片团队,则可以通过增加线缆和链路损耗,把原本稳定的Gen6链路逐步推向边界,再串入被测Retimer,观察它是否能恢复链路。

例如,两端直接连接可以稳定运行Gen6;逐步增加多段连接后,链路掉到Gen5;在中间加入Retimer后,如果重新恢复Gen6,就可以进一步测试其均衡、恢复和兼容性能力。

所以,同一张Switch卡在不同客户手里,可能完全是不同用途:

CPU团队把它当下游扩展平台;

GPU团队把它当主机环境;

Retimer团队把它当链路边界测试平台;

系统团队把它当多设备兼容性环境;

自动化团队则通过API把它变成可编程测试节点。


十五、板载管理和Python API:测试工具开始变成自动化基础设施

我们大概聊了半个小时后,开始介绍这块PCIe 6.0 switch板卡的管理能力。

通过USB管理口,用户可以执行二三十条常用命令,例如:

查看端口Link状态;

查询速率和Lane宽度;

切换时钟模式;

Enable或Disable指定端口;

对下游设备执行Reset;

读取板卡温度和状态;

控制某个设备上下电;

查询Switch和固件信息。

更重要的是,Serial Cables的Switch、Retimer、Redriver和部分机箱产品,都支持Python API。

这意味着工程师不需要一直坐在GUI前手工点击,可以把环境控制写进自己的自动化流程:

先将端口断开;

更新DUT固件;

重新上电;

等待枚举;

运行压力测试;

读取链路状态;

出现错误后触发协议抓包;

保存日志;

复位设备;

继续下一轮。

到了这一步,Switch卡就不再只是“扩展卡”,而是测试自动化系统中的一个可编程组件。


十六、第三部分:为什么需要一台真正的Gen6盘柜

接下来介绍的是一套PCIe 6.0高密度盘柜。

如果只测试一两块SSD,用转接线加风扇也能搭起来。但当盘位增加后,实验台很快会变得一团乱:

多根MCIO线缆交叉;

每块盘需要独立供电;

临时风扇到处摆;

E3.S盘散热难以保证;

要换Dual Port或不同形态,又要重新接线;

每次上下电都需要人工操作。

盘柜的价值,不只是把盘装得整齐,而是把散热、供电、管理、接口转换和自动化控制集中起来。

本次介绍的Gen6盘柜支持多块E3.S盘,也可以通过Adapter兼容其他形态。服务器或Switch卡通过MCIO x8连接,再拆分为多路x4进入不同盘位。

每个盘位可以单独控制:

上电;

下电;

模拟热插拔;

读取温度;

调整风扇;

获取盘位状态。

这些操作都可以通过网络和Python API完成。

对于需要运行长时间回归测试的团队来说,盘柜带来的不是“好看”,而是减少人工操作和测试环境差异。


十七、盘柜内集成PAM:功耗和边带信号可以连续记录几周

这套盘柜还有一个非常有价值的能力:集成Power Analysis Module,也就是PAM。

PAM不是给设备供电的可编程电源,而是插在真实供电路径中进行被动监测。

它可以连续记录:

电压;

电流;

功耗;

PERST#;

CLKREQ#;

PWRDIS及其他边带信号;

不同时间点的状态变化。

测试可以持续几分钟、几小时、几天,甚至几周。

假设一块SSD连续运行三天,凌晨3点18分突然掉盘。传统方法只能看到系统日志,却不知道掉盘前几毫秒供电和边带信号发生了什么。

有了PAM,工程师可以根据系统报错时间,直接回到对应时间段,查看:

12V是否发生瞬降;

电流是否突然上冲;

PERST#是否被异常拉低

CLKREQ#是否发生非预期变化

设备掉线前功耗是否出现异常。

这类“回放能力”,对于偶发问题尤其有价值。

示波器可以看得更细,但很难把所有信号接好后连续记录几天。PAM的目标不是取代示波器,而是帮助工程师先找到问题发生的时间和方向。


十八、主动电源拉偏和被动功耗监测,不是同一种工具

随后,会议把两种容易混淆的工具分开讲清楚。

一种是可编程电源拉偏模块,我们一般称为PPM - programmable power module。

它会切断主板插槽原有的12V或3.3V供电,改由外部可编程模块为DUT供电。工程师可以设定不同时间段的输出:

先输出12V;

短时间降到11.8V;

再降到11.3V;

持续几十微秒或几毫秒;

随后恢复到正常电压;

也可以模拟波动、跌落和异常恢复。

它解决的是一个主动验证问题:

当服务器供电偏高、偏低或出现瞬态变化时,GPU、网卡或SSD还能否稳定工作?

另一种是PAM - power analysis module。

PAM不改变服务器原有供电,只是记录真实环境里发生了什么。

所以两者的区别可以简单理解为:

电源拉偏模块负责“制造问题”;

PAM负责“记录问题”,包括电压、电流、功耗,以及所有的sideband 信号,记录边带信号这点有的时候对于排除一些问题非常有帮助。


十九、高功率GPU为什么还需要Auxiliary Jig

普通PCIe插槽能够提供的功率有限,高端GPU通常还有独立辅助供电。

如果只测插槽12V和3.3V,就无法看到GPU完整的功耗情况。因此,Quarch为不同辅助供电形态提供专用治具,包括传统双路、三路PCIe辅助供电,以及PCIe 5.1高功率连接器。

电源线先进入辅助治具,再从治具输出到GPU,正常供电不受影响;与此同时,电压、电流和功耗数据通过管理模块送到电脑。

这样,工程师可以同时得到:

PCIe插槽侧功耗;

辅助供电侧功耗;

整卡功耗变化;

不同负载下的瞬态;

与边带信号对应的时间关系。

对于几百瓦甚至更高功率的GPU来说,只看服务器BMC给出的平均值,往往不足以解释毫秒级或微秒级异常。

现场介绍的PAM最高可以做到微秒级采样,并允许用户根据记录时长调整采样频率。采样越快,数据量越大;如果要连续记录几周,就可以降低采样频率,以换取更长的时间窗口。


二十、L0p为什么会成为Gen6功耗测试的重点

讨论功耗时,双方还提到了PCIe 6.0的L0p。

传统低功耗状态通常意味着链路进入更深的休眠,再在需要时恢复。但数据中心设备既要降低功耗,又不能接受太长的恢复延迟。

L0p的思路,是在保持链路可工作的同时,动态减少活跃Lane或降低相关功耗。

对于GPU、DPU和高速SSD,L0p是否真正生效,会直接影响整机能耗。如果两块功能和性能相似的卡运行同一个工作负载,其中一块功耗高出30%,就需要进一步判断:

是否正确进入L0p;

Lane状态是否发生变化;

不同负载下功耗曲线是否合理;

固件和驱动是否正确协同;

RC和EP双方是否完成了预期协商。

协议状态和功耗数据如果能放在同一时间轴上分析,问题定位会比单独看BMC功耗数字清楚得多。


二十一、第四部分:PCIe 6.0生态不是突然成熟的,而是五轮互通测试磨出来的

我们的话题现在转向PCIe 6.0协议测试,交流首先回顾了一下PCIe 6.0生态的发展过程。

PCIe 6.0规范发布后,并没有马上形成成熟的互通环境。2024年中开始的早期测试,参与者包括测试仪器、FPGA、Switch、Retimer和部分设备厂商,当时各家都遇到了大量问题。

第一次测试更像是“大家第一次真正把Gen6设备接在一起”,成功率不高。

到了2024年10月的第二轮,情况有所改善,但仍只有少部分组合可以稳定达到目标速率。

2025年3月的第三轮,参与厂商和设备更多,问题依旧存在,但生态明显在向前推进。

后续第四轮测试,整体互通情况已明显好转,只剩少数产品在速率切换或兼容性上暴露问题。

2026年3月的第五轮测试,则开始为正式兼容性测试规范落地做准备。到了这个阶段,Gen6已经不再只是少数实验室的原型展示,而开始进入可以讨论正式CTS、测试效率和结果一致性的阶段。

这段回顾让客户看到一个事实:

今天遇到Gen6问题并不丢人。

即便是全球最早进入Gen6的芯片和仪器厂商,也是在一轮又一轮互通中逐步修正。


二十二、现场案例提醒:分析仪不能把问题“修好”

交流中还花了不少时间讨论协议分析仪的“透明度”。

分析仪插入链路后,最重要的要求之一,是不能明显改变被测系统的行为。

现实中,如果分析仪的Interposer内部加入了Retimer或过强的信号重整,原本存在的信号问题可能被修复。设备一旦经过分析仪就稳定了,问题反而无法复现。

这种情况对Debug非常危险。

工程师想看的本来是现场故障,但仪器插进去后,链路被“治好了”。最后抓不到问题,并不代表DUT没有问题,而是测试工具改变了环境。

会议中分享了若干CPU、服务器和SSD项目经验:某些传统方案在热插拔或边界链路环境中会遇到问题,原因之一就是中间链路机制改变了原始信号状态。

因此,选择协议分析仪不能只看“能不能解码”,还要看它插入后是否尽可能保持原始链路特性。


二十三、SerialTek高端平台为什么从“协议分析系统”改叫“测试系统”

交流了进行了大约1个小时的时候,我们才可以涉足PCIe 6.0高端协议分析仪和Exerciser部分。

现场特别提到,SerialTek PCIe Gen5时代通常称其为协议分析系统;到了Gen6,更倾向称为测试系统。

原因是它不再只有Analyzer模式。

同一套硬件可以根据License和配置,在两种模式之间切换:

Analyzer模式用于监听和分析真实RC与EP之间的流量;

Exerciser模式可以模拟RC,也可以模拟EP,主动发包、建立链路、制造特定事务或错误场景。

对于CPU团队,可以让设备模拟Endpoint,测试Root Complex。

对于GPU、SSD或网卡团队,可以让设备模拟Root Complex,测试Endpoint。

设备还可以运行PCIe 6.0兼容性测试套件,为正式认证和内部预验证提供标准化流程。


二十四、高配分析仪内部不是采集卡,而是一台高速服务器

现场进一步拆解了设备架构。

本次介绍的高配系统内部有两组大型FPGA采集模块,分别处理双向链路数据。每组配置高速内存,总抓取缓存可达到256GB级别。

机箱内部还配置了高性能Intel Xeon服务器CPU、系统盘和Linux操作系统。

抓包、解码、搜索、后处理和专家分析都在仪器内部完成。用户电脑只需要打开浏览器,输入设备IP地址,就可以进入Web管理界面,不需要安装庞大的客户端软件,也不需要先把上百GB原始Trace复制到电脑上。

操作过程是:

浏览器发送开始抓包命令;

仪器内部FPGA采集数据;

停止后,数据通过内部总线送到服务器CPU;

多核并行解码;

用户很快就能在浏览器中查看最后一条命令、错误包或目标事务。

这种架构与传统“先导出文件,再用PC慢慢解码”的方式差别很大。

对Gen6来说,这种差别尤其明显。因为速率翻倍后,Trace数据量增长很快,如果后处理架构不变,工程师等待解码的时间会越来越长。


二十五、Analyzer和Exerciser怎样在同一台设备上切换

客户随后问到,是否需要分别采购分析仪和模拟器。

现场展示的方案支持双模式。

在Web界面的Operation Mode中,可以从Analyzer切换到Exerciser。进入Exerciser后,再选择:

工作速率;

Lane宽度;

模拟Root Complex还是Endpoint;

是否自动建链;

需要发送什么类型的事务。

硬件连接则通过不同POD或小型接口模块完成。测试标准插卡时使用CEM POD;测试MCIO、EDSFF、M.2或OCP NIC时,则更换对应接口模块。

对于预算有限的团队,一台双模式设备可以分时承担两种角色。

如果实验室需要一边主动激励、一边由另一台设备独立监听,则可以配置两台系统,获得更完整的端到端环境。


二十六、API不是宣传项,而是实际可以快速写起来

现场还演示了RESTful API和Python自动化能力。

为了验证API是否真的容易使用,曾让一名刚毕业的普通硬件工程师根据界面帮助文档自行编写脚本。对方用一个下午就完成了基本控制,并录制了几分钟的演示视频。

典型自动化流程可以是:

启动上层测试程序;

通过API通知Analyzer开始抓包;

运行若干轮FPGA、GPU或SSD测试;

出现失败后停止抓包;

自动保存Trace;

将测试日志编号与Trace文件关联;

工程师只需要定位失败的那一轮,再打开相应Trace分析。

这种联动非常适合回归测试。

因为很多问题不是工程师盯着屏幕时发生的,而是几百轮、几千轮之后偶发一次。自动化系统需要在出错时留下完整证据,而不是等第二天上班才发现“昨晚失败了,但没有抓到包”。


二十七、客户提出试用:等Intel服务器到位后直接上真实环境

会议接近尾声时,客户表示正在采购一台Intel平台服务器,但设备尚未到货。

等服务器到位后,希望申请样品试用,把分析仪、Switch卡、转接线和相关模块接入真实环境,验证自己的CPU和GPU项目。

现场确认,多类产品都可以提供样品:

Gen6分析仪/训练器;

Switch卡;

转接卡和接口POD;

延长线;

故障注入模块;

功耗分析模块。

这类试用非常必要。

PCIe 6.0不像成熟的Gen4环境,单看规格书很难判断某个工具是否适合自己的主板、连接器和DUT。最可靠的方法仍然是在真实拓扑中验证:

能否稳定建链;

插入后问题是否仍能复现;

目标接口是否匹配;

软件是否适合团队流程;

API能否接入现有自动化系统。


二十八、Gen6技术支持为什么比设备参数更重要

客户最后还专门问了技术支持。

这不是一句客套话。

PCIe 5.0分析环境经过多年使用,很多组合已经接近即插即用;但Gen6仍处在早期阶段,不同RC、EP、线缆、POD和固件组合,第一次接入时往往需要调整。

有时是均衡参数;

有时是分析仪前端校准;

有时是DUT固件;

有时是Switch或网卡Preset;

也可能是连接距离和插入损耗。

现场承诺,如果客户遇到复杂问题,可以快速联系海外研发和FAE团队,通常当天或第二天就能安排远程支持。海外团队接触过更多Early Adopter组合,有些国内工程师调试半天的问题,他们可能在半小时内就能找到方向。

到了Gen6时代,设备采购不应只比较硬件数字,也要看供应商是否真正参与过早期互通、是否能识别不同芯片组合的问题,以及出现故障后能不能快速找到人。


二十九、会议最后,把整套方案归纳成三条主线

在最后几分钟里,双方把前面一个多小时的内容压缩成三条主线。

第一条:SerialTek协议分析、Exerciser和CTS

解决“看见”和“主动激励”的问题。

可以抓取协议流量、分析LTSSM和错误、模拟RC或EP,并运行兼容性测试。适合CPU、GPU、SSD、Switch、Retimer等核心芯片和设备的深度研发验证。

第二条:Serial Cables环境搭建工具

包括Switch卡、Retimer卡、Redriver、转接卡、转接线、延长线和Gen6盘柜。

解决“怎么把设备真正接起来”的问题,也提供板载管理、轻量级分析和Python API自动化能力。

第三条:Quarch异常与电源验证

包括热插拔、逐Pin故障注入、电源拉偏和PAM功耗/边带监测。

解决“怎样把极端条件稳定制造出来,以及怎样记录现场”的问题。

三类工具并不是互相替代,而是处在不同层次。

只买分析仪,没有合适的线缆和治具,环境搭不起来。

只搭Switch环境,看不到协议,问题仍然只能猜。

只有正常链路,没有故障注入,就无法验证异常恢复。

只看平均功耗,没有长时间边带和瞬态记录,偶发掉线也很难解释。


结语:PCIe 6.0测试,已经从“买仪器”变成“搭系统”

这次交流看起来介绍了很多设备,但真正的结论并不复杂。

PCIe 6.0的问题往往跨越多个层面:

协议层需要Analyzer和Exerciser;

链路层需要Switch、Retimer、线缆和高质量转接治具;

异常验证需要热插拔和逐Pin故障注入;

电源层需要Margining和PAM;

自动化又要求所有设备能够通过API协同工作。

因此,Gen6时代最容易犯的错误,是试图用一件工具解释所有问题。

链路起不来,未必只是信号差;

加了分析仪问题消失,也未必说明DUT正常;

一块卡在某台服务器上工作,不代表换一台主机仍然稳定;

设备通过正常读写,不代表它能正确处理掉电、毛刺、Lane错误和异常时序;

BMC显示功耗正常,也不代表毫秒级瞬态和边带信号没有问题。

真正有效的测试环境,应当同时具备四种能力:

看得见、发得出、造得出异常、留得下证据。

当这四件事能够通过一套可编程环境串起来,PCIe 6.0研发才不再是反复换线、重启和猜测,而会逐渐变成可复现、可量化、可自动化的工程流程。

这也许才是Gen6测试工具真正的价值:不是帮工程师把问题暂时绕过去,而是让那些过去只能偶然发生的问题,在实验室里按下一个按钮,就能再次出现。

更多PCIe5&6.0, CXL, NVMe SSD, SAS/SATA, NVMe over Fabric (NVMoF), NAND, UFS, 新型存储技术NVM(RRAM/ReRAM, FRAM/FeRAM, MRAM, PCM, 3D-NOR, SRAM/DRAM等) DDR5/LPDDR5以及UFS测试方面的问题想咨询,可以查看Saniffer公司2026.2.24最新更新的测试工具白皮书15.1版本,我们已经整理收录在Saniffer公众号的【白皮书】菜单中。

欢迎关注Saniffer公众号,点击底部菜单栏即可免费获取。如有任何技术问题,也可直接在公众号内留言交流。