我们上个周初做了一次针对SerialTek PCIe 6.0 协议分析仪、训练器以及兼容性测试套件CTS的远程演示和技术交流,这次交流是一次典型的“远程环境演示”。
不同于传统的功能介绍,这次演示的重点非常明确:
不是讲功能列表,而是直接在界面里跑流程。
从上电、建链、抓包,到训练器发包,再到API脚本控制,整个过程基本覆盖了PCIe 6.0验证的核心链路。
可以把整个演示拆成三层:
- PCIe 6.0 Analyzer(协议分析)
- PCIe 6.0 Tester(训练器/发包)
- RESTful API(自动化控制)
一、Analyzer与Tester的切换:从一开始就不是“单一工具”
演示一开始,工程师做的第一件事不是抓包,而是:
切换设备模式(Operation Mode)
在Web界面 Settings 中:
- Operation Mode
- Analyzer(分析模式)
- Tester(训练器模式)
当前演示选择的是 Tester模式优先进入。
这一点很关键:
这台设备本质不是“分析仪”或“训练器”,而是一个双角色验证平台。
二、PCIe 6.0 Tester(训练器)功能解析
2.1 上电与链路建立(最基础但最关键)
演示从最基础流程开始:
Step 1:上电(Power On)
- 通过UI控制 DUT 上电
- 可控制:
- 电源开关
- 边带信号(Sideband)
说明:边带信号可以单独拉高/拉低,用于模拟真实系统行为
Step 2:链路训练(Link Training)
界面提供快速切换:
同时支持:
- RC模式(Root Complex)
- EP模式(Endpoint模拟)
默认场景:
测试环境通常选 RC 模式
2.2 Quick Action:快速控制链路行为
在Tester界面中,有一组“Quick Action”:
可以直接控制:
- Enable / Disable Link
- Power State 管理
- EQ参数调整
- Pre-coding配置
- Link settings
例如:
- disable link → 立即断链
- enable link → 重新建链
2.3 EQ与链路调优能力
在Link Settings中:
可以直接配置:
- EQ参数
- Pre-coding
- Inductor / channel setting(部分平台)
并支持:
现场特别提到一点:
PCIe 6.0环境下,很多链路问题其实不是协议问题,而是EQ/信号完整性问题
2.4 Config Space操作(重点)
这是整个Tester里工程师最关注的一部分。
支持:
- 读取 Config Space
- 修改寄存器
- 写回 DUT
- 立即生效
界面支持:
典型用途:
- 修改 device capability
- 修改 BAR / status
- 模拟异常行为
2.5 Memory Space(RC / EP行为差异)
在演示中明确说明:
- RC模式:Memory Space功能有限
- EP模式:可以模拟设备行为
支持:
但也提到:
当前版本 Memory Space 在 RC 模式下能力受限
2.6 TLP Packet构造与发送(核心能力)
这是Tester最关键能力之一:
支持:
- 自定义 TLP
- 选择 Type
- Memory Read
- Memory Write
- Config Read/Write
- Vendor Defined
- 手动填写字段
- 发送 packet
同时支持:
- 修改 Header字段
- 自定义payload
- 发送异常包(error injection)
2.7 Trigger机制(条件驱动行为)
Tester支持复杂Trigger逻辑:
可以设置:
- 条件1 → 条件2 → 条件3
- packet类型触发
- TLP / DLLP匹配触发
然后执行:
- start capture
- stop capture
- jump state
- run next step
本质是:
一个轻量级“硬件协议状态机脚本引擎”
三、Analyzer(协议分析仪)能力解析
当模式切换到 Analyzer 后,重点变成:
3.1 Capture Settings(抓包配置)
支持三类停止条件:
3.2 Trace过滤与压缩
支持:
- Pre-filter(预过滤)
- Sideband enable/disable
- NVMe filtering
- 强压缩模式(Strong Compression)
并支持:
- 数据压缩(减少trace体积)
- IO / STP / PCIe数据选择性记录
3.3 Trigger(高级抓包逻辑)
Trigger支持:
可以实现:
- 检测到某个TLP → 自动停止
- 检测到ACK/NAK → 触发下一阶段
3.4 Trace分析界面(Analyzer UI)
Trace界面核心能力:
✔ LTSSM时间轴
- Detect
- Polling
- Configuration
- L0
- Recovery
支持点击跳转
✔ Packet级浏览
✔ 时间与延迟分析
- packet latency
- inter-packet gap
✔ 图形联动跳转
点击 LTSSM 状态:
3.5 Trace保存与导出
支持:
- Save Trace(本地存储)
- Download Trace
- Compress后下载
支持:
四、最关键的一段:Trace + Trigger + 自动停止逻辑
现场重点讨论了一个典型工程问题:
❓是否可以做到:
“检测到某个特定packet后自动停止capture?”
结论是:
✔ Trigger + Script实现
典型方式:
- start capture
- 发送 packet
- detect response
- script触发 stop
也就是说:
自动化逻辑是 API + Trigger + 外部脚本组合实现
五、RESTful API(自动化控制核心)
这是整套系统真正的“隐藏主线”。
支持:
- Python脚本控制
- Start / Stop capture
- 触发测试流程
- 自动导出Trace
- 循环测试
典型流程:
- API启动测试
- DUT执行动作
- Analyzer抓包
- API停止
- 导出结果
- 下一轮测试
六、工程团队最关心的问题(现场讨论重点)
6.1 是否可以做“事件驱动测试”?
例如:
- 收到某个TLP → 自动停止
- 收到ACK → 触发下一步
结论:
✔ 可以实现 但方式是:
不是纯UI逻辑
6.2 API vs UI的关系
UI负责:
API负责:
6.3 Trace分析是否可以做状态跳转?
支持:
七、整体结论:PCIe 6.0工具的本质变化
从这次远程演示可以看到一个很清晰的趋势:
PCIe 6.0测试工具已经从“分析仪”变成“验证平台”
它包含三层能力:
1)Analyzer(观察系统)
2)Tester(控制系统)
3)API(自动化系统)
最终一句话总结
PCIe 6.0时代的验证,不再是“看Trace”,而是“控制 + 生成 + 自动分析”的闭环系统。
更多PCIe5&6.0, CXL, NVMe SSD, SAS/SATA, NVMe over Fabric (NVMoF), NAND,新型存储技术NVM(RRAM/ReRAM, FRAM/FeRAM, MRAM, PCM, 3D-NOR, SRAM/DRAM等) DDR5/LPDDR5以及UFS测试方面的问题想咨询,可以查看Saniffer公司2026.2.24最新更新的测试工具白皮书15.1版本,我们已经整理收录在Saniffer公众号的【白皮书】菜单中。
欢迎关注Saniffer公众号,点击底部菜单栏即可免费获取。如有任何技术问题,也可直接在公众号内留言交流。