其实,在 PCIe 协议分析仪、链路训练日志、PHY 状态机输出里,确实经常会看到类似:
US PCIe Reference Clock Locked
DS PCIe Reference Clock Locked
在 RefClk 相关指标里,US / DS 表示的是两条差分线立在芯片内部的两个接收路径: Up-Stream CDR path = US Down-Stream CDR path = DS 它不是 PCIe 拓扑里的 Upstream Port / Downstream Port!
换句话说:
US Clock Locked = 芯片内部用于“向上传给内部 PLL / CDR 的 refclk 接收路径”取得锁定
DS Clock Locked = 芯片内部用于“向下给 SerDes Tx/Rx 用的 refclk 路径”取得锁定
很多 PHY 内部会把同一对差分时钟 拆成两个不同用途的 clock domain,分别给不同的逻辑模块使用,因此会有两个锁定状态。
它和 PCIe 拓扑方向完全无关。
PCIe PHY 通常包含:
这些 PLL 需要一个参考时钟,有的芯片内部把同一个外部 refclk fanout 成多个内部路径。
为了避免时钟域交叉、减少 jitter 注入,设计上可能将时钟树分为 US 与 DS 分支。
因此:
US refclk = 用于 PHY CDR / SerDes 主链路
DS refclk = 用于逻辑、控制器、PCIe 链路管理域 (不同厂家命名略有差异,但都是内部不同 clock domain)
于是,PCIe分析仪就会把这两条内部时钟的锁定状态分别标出来。
因为 refclk 对 PCIe 链路训练极其关键:
如果 US RefClk Locked = No → CDR 无法锁定 → Link Training 永远停在 Polling 或 Detect
如果 DS RefClk Locked = No → 逻辑域定时异常 → LTSSM 状态机跑不稳、训练后报错、掉 link、或者 error 频繁
所以工具把两条时钟锁定分开显示,便于 FA(故障分析)。
PCIe 拓扑定义里:
Downstream Port (DSP):在 RC / Switch 侧
Upstream Port (USP):在 Endpoint / Switch 上行端
这是数据链路方向,与 RefClk 完全不是一个维度的概念。
RefClk 根本不按 Upstream/Downstream 方向传输, 它只是 从 clock 源扇出到各个 device 的差分时钟对。
所以:
“US PCIe RefClk” ≠ Upstream Port 的 refclk “DS PCIe RefClk” ≠ Downstream Port 的 refclk
这两个指标根本与拓扑无关,只是 PHY 时钟树内部的分支名称。
为什么分析仪上 RefClk 会显示 US / DS? 因为 PHY 内部将同一个外部 100 MHz RefClk 拆成不同用途的时钟域(一般用于 CDR 与逻辑), 因此工具会分别显示:
US RefClk Locked:高速串行侧 PLL / CDR 是否锁定
DS RefClk Locked:逻辑域或下游时钟域是否锁定
这两个 US/DS 都不是 PCIe 拓扑(上/下游端口)含义,只是内部时钟树命名。
https://pan.baidu.com/s/18_c11aeFhSBe2qa-jUFs_Q?pwd=mm9y 提取码: mm9y
如果你有其任何关于PCIe5&6.0, CXL, NVMe/NVMoF, NAND, DDR5/LPDDR5以及UFS测试方面的我问题想咨询,请访问:访问www.saniffer.cn / www.saniffer.com 访问我们的相关测试工具和产品;或者添加点击左下角“阅读原文”留言,或者saniffer公众号留言,致电021-50807071 / 13127856862,sales@saniffer.com。