PCIe 6.0 做到 64 GT/s 以后,一个越来越现实的问题摆在工程师面前:
板卡能 Link 到 Gen6 是一回事,能不能把 Gen6 x16 稳定地从服务器里面“拉出来”,又是另一回事。
PCIe Gen4、Gen5 时代,我们已经习惯用各种 Riser、MCIO Cable、SlimSAS Cable,把 Host 和 SSD、GPU、网卡连接起来。
到了 Gen6,事情明显变难。
PAM4、更小的信号裕量、更严苛的 Channel Loss,以及长距离互连带来的各种 Signal Integrity 问题,让“多接一段 Cable”都不再是一个简单的机械连接问题。
就在今天,Serial Cables 发布了一条挺有意思的测试结果:
两张最新的 PCIe 6.0 x16 CDFP Host Card,通过一根长达 4 米的 CDFP x16 DAC Cable,成功建立 PCIe Gen6 x16 Link。
更值得注意的是,Newsletter 给出的测试结果中:
PCIe 6.0 BER 判定基准:1×10⁻⁶
而这套 4 米 DAC 环境中:
最差 Lane 实测 BER:8×10⁻⁸。
换句话说,这次测试的重点不只是“Link 灯亮了”。
而是在一条长达 4 米的被动铜缆上,把完整的 Gen6 x16 链路跑了起来,而且还留下了相当可观的信号裕量。
不过,我看完这张卡最新的 User Manual 后,反而觉得:
4 米 DAC 只是它最容易吸引眼球的一部分。
这张卡真正有意思的地方是,它实际上提供了一套可以反复使用的 PCIe Gen6 x16 外部互连测试平台。
今天可以插 4 米 DAC。
明天完全可以换成:
ACC、AEC、AOC。
甚至可以拿去搭 GPU、AI Accelerator、PCIe Switch、外置 AIC 等各种 Gen6 验证环境。
Serial Cables 给这张产品的正式定义是:
Gen6 x16 – x16 CDFP LLC Host Card
从外观看,它似乎很简单:
一边是标准 PCIe CEM x16 金手指;
另一边是一个 CDFP x16 Connector。
但如果把中间的散热器拿掉,真正重要的东西就在下面:
Broadcom Atlas3 PCIe Gen6 Switch。
这颗 Switch 总共提供最高 32 条 PCIe Lane,当前这张板的主要拓扑就是:
16 Lane Upstream + 16 Lane Downstream。
也就是说:
Host PCIe x16 ↓ Broadcom Atlas3 Gen6 Switch ↓ CDFP x16
所以它和一张纯 Passive Adapter 有本质区别。
User Manual 明确给出的硬件配置包括:Broadcom PEX90032、PCIe Gen6 x16 Gold Finger、一个 SFF-TA-1032 CDFP x16 接口、最多 32 条 PCIe Lane、Managed/Unmanaged 两种 Firmware 模式,以及板载 MCU 和两组 USB Type-C 管理接口。
这也是我们为什么更愿意把它叫做 Host Card / Switch Card,而不仅仅叫 Adapter。
| SFF-TA-1032 | |
特别要注意最后面的功耗定义:
42 W 只是 Host Card 本身的最大功耗,并不包括通过 CDFP 接口供给 AOC/AEC 等外部有源设备的 12 V 功耗。
Manual 为此专门设计了一个 CN4 6-pin 12 V Power Connector,把独立 12 V 送到 CDFP 接口的 B29 Pin。
这个设计后面讲 AEC/AOC 时非常重要。
这次 Serial Cables Newsletter 给出的实际测试拓扑很有意思。
不是:
Server → 一张 Card → DUT
而是:
Host ↓ Atlas3 CDFP Host Card ↓ 4 m CDFP x16 DAC ↓ Atlas3 CDFP Host Card ↓ 另一端系统
也就是用两张 Host Card,把中间那根 Cable 当作真正要验证的互连 Channel。
而且仔细看 Newsletter 的图,两边下面标注的居然还是:
PCIe 5.0 host
这一点很容易被忽视,却很有实际价值。
它意味着这次验证关注的主要对象,并不是要求整个 Server-to-Server 数据路径都是 Gen6 Host。
而是:
利用两颗 Atlas3 Switch,在两张 Card 之间建立真正的 Gen6 x16 CDFP Link。
因此即使你的服务器目前 Upstream 还是 Gen5,也可以先构建一个:
Host Gen5 → Atlas3 → Gen6 CDFP Link → Atlas3
的环境,对 Gen6 Cable Segment 做 Bring-up 和验证。
当然,这种情况下端到端 Host 数据吞吐量仍然受 Gen5 Upstream 限制,不能把它理解成整个系统已经拥有 Gen6 x16 的端到端 Host Bandwidth。
但对 Cable、Connector、Link Training、Signal Integrity 和系统 Bring-up 来说,这个环境已经非常有用了。
这次验证使用的是:
4 meter CDFP x16 DAC
DAC,就是:
Direct Attach Copper。
它基本属于最“朴素”的方案:
没有把问题交给光模块解决,也没有靠有源电子器件在 Cable 中间重新整形信号,而是尽可能直接通过铜介质把高速信号送过去。
所以到了 PCIe Gen6,4 米距离就变得非常有挑战。
Serial Cables 在 Newsletter 中专门强调,这张卡使用的是 Broadcom Atlas3,而 Atlas3 的 PCIe 6.0 PAM4 SerDes 来自 Broadcom 的 Talon 5架构。
供应商特别把 Signal Integrity 作为这个设计的卖点。
这里我们不去简单说“谁家的 SerDes 全球第一”,但是从工程角度来看有一点很明确:
要做长距离 Gen6 Copper Link,Host Card 本身必须首先足够干净。
否则你拿一根 Cable 来测,到最后根本搞不清楚:
是 Cable 不行?
Connector 不行?
Host Card Tx/Rx Margin 不行?
还是目标端本身不行?
而使用一个相对稳定、Margin 较大的 Switch Platform,一个很大的意义就是:
先把测试环境本身从变量里面尽量拿掉。
这其实是我认为这张卡最值得介绍的地方。
Serial Cables 对这个产品的定义里明确写着:
单个 Gen6 x16 CDFP Connector 可以用于:
DAC ACC AEC AOC
四种 Cable 环境。
这四种东西面对的其实是不同的工程问题。
| DAC | |
| ACC | |
| AEC | |
| AOC |
这意味着你不需要因为换一种 Cable Technology,就重新搭一整套 Host Platform。
理想情况下:
Host Card 不变 Target 不变 Topology 不变
只换中间的 DAC,ACC ,AEC 或者 AOC
然后比较:
Link 能不能起来?
能不能稳定到 Gen6?
是不是 x16?
有没有降到 x8/x4?
有没有反复 Recovery?
Error Counter 有没有不断增加?
温度、电源和 Cable 供电是不是正常?
这才是一张“测试平台型”Host Card 真正有价值的地方。
因为 Active Cable 和 DAC 有一个非常现实的区别:
它要吃电。
User Manual 特别说明:
CN4 是独立的 6-pin 12 V 输入,专门向 CDFP Connector 的 B29 Pin 提供 12 V。
并且 Manual 明确点名:
这个供电路径是为包括兼容的 AOC 和 AEC Cable等需要 12 V 的 CDFP 硬件准备的。
于是,平台关系就变成:
PCIe Slot 供电
负责:
Atlas3 Switch MCU Clock Fan Board Logic
而:
CN4 12 V Auxiliary Power
负责:
需要从 CDFP 侧获得 12 V 的 Active Cable 或者外部硬件。
这非常重要。
否则工程师在测 AEC/AOC 时经常会遇到:
“Cable 插上了,为什么根本不起 Link?”
最后找半天,不是 Protocol 问题,也不是 PCIe 问题,而是:
Active Cable 根本没有得到正确供电。
Manual 第 16 页专门给出了一个非常实用的拓扑:
Host Adapter ↓ CDFP Cable ↓ Target Adapter ↓ GPU Expansion System
两张 Atlas3 CDFP Host Card 可以分别工作在 Host 和 Target 侧,中间使用 CDFP x16 Cable。
这套架构其实很适合 Cable 厂商和系统厂商:
先拿一根:
1 m DAC
做 Baseline。
再换:
2 m DAC
再到:
3 m / 4 m DAC
然后:
ACC
AEC
甚至:
AOC
Host 和 Target 不动。
这样做出来的数据才有比较价值。
Manual 还给出了第二种非常实用的搭法。
Serial Cables 有一张:
PCI6-AD-x16AIC-CDFP
也就是:
CDFP → PCIe CEM x16 Slot Adapter。
于是可以搭成:
Server ↓ Atlas3 CDFP Host Card ↓ Gen6 CDFP Cable ↓ CDFP-to-CEM x16 Adapter ↓ PCIe Gen6 AIC
Manual 第 17 页就是这套连接。
那下面这些设备就比较有意思了:
GPU;
AI Accelerator;
NIC;
DPU;
FPGA Accelerator;
PCIe Switch Card;
各种正在 Bring-up 阶段的 Gen6 AIC。
你甚至可以把真正的 DUT 放到:
离服务器几米之外的实验台上。
工程师就不需要每天趴在服务器机箱里插拔板卡。
这个对于实验室测试其实非常实用。
如果它只是:
PCIe x16 → Switch → CDFP
那它确实还只是一个高速互连工具。
但 Serial Cables 在板上又放了一颗 MCU。
而且这颗 MCU 不是只负责“亮灯”。
它直接提供了一个完整的:
CLI Command-Line Interface。
通过板上的:
CN3 USB Type-C
连接电脑以后,Windows 里会看到一个 Serial COM Port。
打开:
Tera Term;
PuTTY;
或者 Linux 下类似 Terminal 工具;
就可以直接进入:
Cmd>
开始管理这张 Host Card。
Manual 明确说明,MCU CLI 可以监控温度、电压、风扇、功耗和 PCIe Link,读写 Switch/Port 寄存器、升级 Atlas3 和 MCU Firmware,并控制 CDFP Power、Reset 及 MUX 等信号。
这就让它从:
“一张 Switch Card”
变成了:
“一个可以观察、可以配置、可以排错的小型 Gen6 实验平台”。
Manual 一共提供了相当多命令。
但如果真正拿到板子,我不会从第一页开始一个个敲。
第一次 Bring-up,我大概只会先看下面几个。
sysinfo这个命令非常适合工程师“先看全局”。
它会一次性汇总:
Firmware;
Board Telemetry;
Power;
PCIe Link;
CDFP Status;
Clock;
板载器件诊断。
实际上相当于把:
ver
lsd
clk
pwr
showport
cdfp
showmode
bist
几类重要信息一次输出。
所以现场第一条命令,我很可能就是:
sysinfo
showport这可能是整个 CLI 里最常用的一条。
比如你刚换了一根 4 米 Cable。
灯亮了。
这时候别急着高兴。
先敲:
showport
它会告诉你:
当前到底是:
Gen6 还是 Gen5?
是:
x16 还是 x8?
目标状态是什么?
实际 Negotiated 状态是什么?
以及:
Active / Idle / Degraded。
Manual 对三种状态的定义非常直接:
Active:目标速率和宽度都匹配;
Idle:没有检测到物理 Link 或设备不存在;
Degraded:虽然 Link 起来了,但实际 Speed 或者 Width 低于期望值。
所以:
“Link Up 了没有?”
已经不是最重要的问题。
真正应该问的是:
“是不是 Gen6 x16 完整地 Up 了?”
【图 5 建议:直接使用 User Manual 第 25 页 showport 截图,这张图非常适合微信公众号文章】
counters有一种问题工程师最讨厌:
刚开始看起来好好的。
过几个小时开始掉速。
或者偶尔 Recovery。
或者压力一上来就出现 Error。
这时:
counters
就有用了。
它可以看各个 Active Port 上的错误统计,包括:
PortRx
BadTLP
BadDLLP
RecDiag
LinkDown
以及 PCIe 6.0 非常值得关注的:
FlitError
还可以:
counters clear
先清零。
然后跑半小时、一小时、一天压力。
再看 Counter。
这个方法对于比较:
不同长度 DAC
或者:
DAC vs ACC vs AEC vs AOC
非常直观。
另外两个很好用的命令是:
lsd
和:
pwr
lsd可以实时显示:
Atlas3 附近温度;
Fan RPM;
板上关键 Voltage Rail;
Current;
Power Consumption。
pwr则直接查看:
Power Enable;
Power Good;
Power Sequencing。
这对于 AEC/AOC 尤其有意义。
因为如果 Active Cable 供电本身有问题,你在 PCIe Protocol 上查一天都不会有结果。
再看:
cdfp
这条命令就更像实验室工具了。
可以直接控制:
CDFP 12 V Power
PERST#
MUXSEL_0
MUXSEL_1
例如:
cdfp p12v en
给 CDFP 打开 12 V。
cdfp perst 0
拉低 PERST#。
cdfp perst 1
释放 Reset。
这对于板卡 Bring-up 特别实用。
不用拔 Cable,也不用重新启动整台服务器,就可以针对 CDFP 侧做一些 Power / Reset Sequence 验证。
高速 PCIe 环境里有一类问题很讨厌:
怎么看都像 SI 问题。
最后发现是:
Clock。
这张卡提供了两种 Reference Clock 工作方式。
Atlas3 使用和 Host PCIe Gold Finger 同一 Clock Domain 的参考时钟。
Atlas3 改用板上自己的 Local Clock Generator。
通过:
setmode 1
或者:
setmode 2
就可以切换。
再用:
showmode
检查。
Manual 对此有明确说明。
更有意思的是 SSC 也可以设置:
spread 1
对应:
-0.3%,3000 ppm
spread 2
对应:
-0.5%,5000 ppm
或者:
spread off
关闭 Spread Spectrum。
甚至连 CDFP 端到底送不送 Reference Clock 都可以直接控制:
clk en
clk dis
而且改变 Clock Output 不需要整张 Host Card 重新 Power Cycle。
这类功能对真正做 Gen6 Bring-up 的人,比一句“支持 PCIe 6.0”值钱得多。
如果只是一般验证,到上面那些命令基本够用了。
但做 Platform Bring-up 的人还可以继续往下走。
例如:
drDump 整个 Atlas3 的 Switch Register。
dpDump 指定 Port Register。
mw直接写 32-bit Switch Register。
dfDump Switch Flash。
bist做板载 I²C 器件自检。
包括:
Power Regulator;
EEPROM;
I²C Expander;
MUX;
Clock Generator;
Clock Buffer。
还有:
sdb切换到 Broadcom SDB Debug Access。
以及:
uart在:
SMART UART
和
SDB
之间切换 CN2 接口。
如果需要使用 Broadcom 的 SwitchCLID 或 ARCTIC 等底层工具,这些接口就变得有意义。
当然,Manual 也特别注明:
Broadcom 相关工具本身受 NDA/SLA 限制,并不是买一张卡就自动获得所有软件授权。
这一点也应该说清楚。
板上直接提供了:
System Error;
Atlas3 Heartbeat;
MCU Status;
Host-side Link Speed;
CDFP Link Speed;
Host-side Link Width;
CDFP Link Width。
其中两个 Blue Link Speed LED 还很有意思。
它不是简单的:
亮 / 不亮。
而是用闪烁频率表示当前 PCIe Generation:
| Gen6 | 常亮 |
因此你插好 Cable、上电以后:
如果 CDFP 一侧那个 Blue LED 直接常亮,
第一眼就知道:
至少 Link Speed 已经到了 Gen6。
如果 Link Width 或者 Speed 没达到预期,则可以继续通过 showport看是否显示为 Degraded。
我大概不会先跑 Benchmark。
而是按照下面这个顺序。
先用已知正常的短 Cable:
sysinfo
showport
counters
确认:
Gen6 x16 Active。
counters clear
比如:
4 m DAC;
ACC;
AEC;
AOC。
showport
确认是不是:
Gen6 x16 / Active。
可以是:
GPU;
DMA;
NVMe;
或者其它 PCIe Traffic。
counters
lsd
pwr
看:
有没有 LinkDown;
BadTLP;
BadDLLP;
FLIT Error;
温度异常;
12 V 异常。
再开始动:
showmode
spread
clk
cdfp
把:
Clock;
SSC;
PERST#;
CDFP Power
逐个排查。
这才是工程师真正需要的一套测试流程。
我觉得大概有五类。
第一类:
PCIe Gen6 Cable 厂商
特别是:
DAC / ACC / AEC / AOC。
你需要一个相对稳定的 Gen6 x16 Host/Target Platform。
第二类:
AI Accelerator / GPU 开发团队
芯片回来以后,需要先把:
Link Training;
Gen6 x16;
长 Cable;
Expansion Chassis;
外置 GPU
这些基础环境搭起来。
第三类:
PCIe Switch / Expansion Box 厂商
尤其需要验证:
Server → Cable → Expansion System
这种真实拓扑。
第四类:
服务器和 AI Infrastructure 团队
特别是现在服务器 Platform 还处在:
Host 端 Gen5;
下游设备逐渐进入 Gen6
这种过渡阶段的团队。
第五类:
高速互连实验室
希望同一套平台下面比较:
1 m DAC;
2 m DAC;
4 m DAC;
ACC;
AEC;
AOC。
那么这张卡的价值并不是“某一根 Cable”。
而是:
固定一个可管理的 Gen6 x16 测试端点。
这一点反而值得主动说。
这张 Host Card 可以:
搭 Gen6 环境;
产生真实 PCIe Link;
检查 Link Speed/Width;
看各种 Error Counter;
调 Clock;
控制 Power/Reset;
做 Firmware 和 Register Debug。
但是它并不等于:
PCIe Protocol Analyzer,例如业内 Nvidia, AMD, Samsung, Kioxia, Micron 等知名公司都在使用的 SerialTek PCIe 6.0 协议分析仪和训练器;
BERT;
示波器;
PCI-SIG PHY Compliance Test Equipment。
所以如果你的目标是:
“这根 Cable 正式符合 PCIe 6.0 Electrical Compliance 吗?”
仍然需要相应 PHY/SI 测试仪器。
如果目标是:
“这根 4 米 Cable 放进真实 Gen6 x16 系统能不能起来、稳不稳、有没有错误?”
那么这种 Atlas3 Host Card 平台就非常实用。
把这两个概念分开,文章反而更可信。
Serial Cables 这次 Newsletter 里已经给出一个非常明确的起点:
PCIe 6.0 x16 CDFP 4 m DAC
而且供应商报告的最差 Lane BER 达到了:
8×10⁻⁸。
但我觉得下一步更有意思。
因为真正进入 AI Server、GPU Expansion 和 Rack-scale 架构以后,不可能所有距离都靠 Passive Copper 解决。
所以这个平台接下来很自然会延伸到:
更长距离 ACC;
AEC;
以及真正跨机箱、跨 Rack 场景的:
AOC。
而这也是 CDFP 接口和这张 Atlas3 Switch Card 的价值所在:
它没有把自己绑死在某一种 Cable Technology 上。
如果让我用一句话总结这个产品,我会这么说:
它真正解决的不是“怎么把一根 4 米 Cable 接上去”,而是怎么把一个可管理、可调 Clock、可看 Error、可控 Power/Reset 的 PCIe 6.0 x16 接口,从服务器内部完整地拉到实验台上。
今天中间插的是:
4 m DAC。
明天可以换成:
ACC。
后天:
AEC。
再往后:
AOC。
另一端可以接:
另一张 Atlas3 Host Card;
PCIe Expansion System;
GPU;
AI Accelerator;
或者一张真正要 Bring-up 的 Gen6 AIC。
这才是它比普通 Passive Adapter 更值得关注的地方。
目前 Serial Cables 已经开放 Pre-order。
供应商目前给出的交付时间窗口是:
2026 年 10 月底至 11 月初。
如果你的项目正好在做:
PCIe Gen6 x16 Cable GPU/AI Accelerator Gen6 Switch 外置 AIC ACC/AEC/AOC 或者没有 Native Gen6 Server 但希望提前搭建 Gen6 Link 环境
建议在选型之前先把你的:
Host 接口 → Cable 类型/长度 → Target 接口 → Endpoint → Clock → Power
完整拓扑画出来。
很多 Gen6 问题,并不是“买一张卡”就结束了。
真正关键的是:
整条 Channel 怎么搭。
相关阅读