在添加 retimer 之前先冻结时钟架构 #
FPGA 的 PCIe 链路由两份相互耦合的契约构成:100 MHz 参考时钟架构和一条双向串行通道。retimer 能恢复并重新发送串行数据,但无法让未定义的参考时钟方案、复位序列或通道映射变得有效。从 16 GT/s 的 PCIe Gen4 升级到 32 GT/s 的 Gen5 时,这一区别尤为关键——此时无源传输距离缩短,参考时钟抖动容限也更紧。
因此,实际的设计顺序是:
- 选定确切的 FPGA 器件、PCIe 硬 IP 实例、链路宽度和代际。
- 为每个端口声明采用公共 REFCLK 还是独立时钟架构。
- 使用真实的封装、PCB、连接器和线缆对每个无源段进行建模。
- 仅在分段通道需要处添加协议感知的 retimer。
- 冻结复位、边带、固件、散热和遥测的归属。
- 使用量产时钟和通道映射验证训练、裕量和恢复。
PCI-SIG 将 PCIe 4.0 和 5.0 retimer 定义为物理层协议感知设备,参与链路均衡,并与链路两端的设备共同调整数据速率和宽度。一条链路最多允许使用两个 retimer。相比 PCIe switch,retimer 的角色要窄得多——switch 会终结数据链路层和事务层;与线性 redriver 也有本质区别——redriver 仍属于同一个电气通道。
FPGA 时钟树指南介绍了通用抖动预算和时钟分配方案。FPGA 以太网 PHY 与 retimer 指南讨论的是另一种协议边界。本文聚焦 PCIe 特有的时钟模式、均衡、retimer 和启动调试。
公共时钟还是独立时钟,要有意识地选择 #
PCI-SIG 公开的 PCIe 5.0 实施指南中列出了两种时钟架构。在公共 REFCLK 架构中,根复合体、retimer 和端点接收同一个标称 100 MHz 时钟源。由于分配延迟,各边沿在物理上并不重合,但所有器件仍共用同一个源。在独立 REFCLK 架构中,根复合体和端点各自使用独立的时钟源,发送器和接收器必须满足相应的独立时钟要求。
SRNS 和 SRIS 等术语通常用来指代不带和带独立扩频时钟的独立参考时钟系统。但光有标签并不等于设计完成。FPGA IP、retimer、端点和时钟源都必须支持所采用的具体模式,验证计划也必须覆盖该模式。不要想当然地认为支持公共时钟的端点也支持独立扩频时钟。
对于采用商用根复合体或 switch 的开放式附加卡系统,AMD 现行的 Versal DMA 与 Bridge Subsystem 指南建议设计人员采用同步时钟。该指南允许为可编程逻辑 PCIe 模块提供 100、125 或 250 MHz 参考输入,但标准主板 PCIe 接口通常围绕 100 MHz 系统时钟设计。这条厂商指南是针对上述 IP 的实施边界,并不意味着可以在 CEM 连接器处改用其他频率。
Altera 现行的 Agilex 7 F-Tile PCIe 指南给出了另一项 FPGA 侧约束:必须使用 F-Tile Reference and System PLL Clocks IP,而所选硬核 IP 模式决定了每个端口能用封装上的哪些 refclk 引脚。1x16 模式下,refclk 端口只接到一个 F-Tile 参考时钟输出;2x8、2x4、4x4 等分叉模式则可用共享或独立时钟源,具体受文档给出的引脚网络限制。该指南还指出,在这些端口配置下,PERST# 必须能反映时钟是否稳定。
时钟工作表应按每条逻辑链路记录以下字段:
| 字段 | 设计决策 | 发布证据 |
|---|---|---|
| 时钟架构 | 公共 REFCLK 还是确切的独立时钟模式 | FPGA IP 设置、端点支持情况、原理图中的时钟源 |
| 时钟源与分配 | 100 MHz 源、缓冲器输出、SSC 策略、目的引脚 | 时钟树图、完整 OPN、实测带载输出 |
| FPGA 时钟资源 | 硬核 IP 实例、收发器 tile、refclk 引脚、系统 PLL | 工具生成的布局结果和实现后设计报告 |
| 复位关系 | REFCLK 稳定与 PERST# 释放的先后时序 | 最坏情况下的启动捕获和重复冷启动日志 |
| 抖动判据 | 所选模式对应的规范方法和测量设置 | 接收端负载处的相位噪声/抖动报告 |
PCI-SIG 公开的 Gen5 问答指出,在所讨论的 PCIe 5.0 系统分析中,参考时钟设计限值为 0.25 ps RMS。这个数值不能与在无关频段上积分的时钟器件标称值混用。应使用适用于所选 PCIe 时钟模式的合规方法和传递函数,并将量产源、缓冲器、端接和板级噪声放在一起测量。
时钟缓冲器按拓扑选择,而非按输出数量选择 #
扇出或零延迟缓冲器用于分配所选时钟架构,并不产生协议支持。需确认每个接收器处的输入/输出信号方式、阻抗、端接、SSC 跟踪、附加抖动、PLL 带宽、电源和使能行为。
Renesas 当前将 9ZXL0851E 列为在产且符合 PCIe Gen1–5。它提供八个 LP-HCSL 输出,接受扩频输入,提供 PLL 带宽/旁路控制,并采用 48 引脚 6 mm × 6 mm VFQFPN 封装。公开产品表区分了四个在产订购代码:
| 订购代码 | 温度范围 | 包装 | 采购边界 |
|---|---|---|---|
| 9ZXL0851EKILF | −40°C 至 +85°C | 托盘 | 工业温度托盘型号 |
| 9ZXL0851EKILFT | −40°C 至 +85°C | 卷带 | 温度等级相同,载具不同 |
| 9ZXL0851EKKLF | −40°C 至 +105°C | 托盘 | 最高温度等级更高 |
| 9ZXL0851EKKLFT | −40°C 至 +105°C | 卷带 | 更高温度等级的卷带型号 |
这些后缀不是采购上的装饰。如果 retimer、FPGA 和端点分布在一条发热的加速卡上,85°C 和 105°C 的时钟缓冲器等级对应不同的环境边界。如果设计使用直接 HCSL 而不是 LP-HCSL,或者需要不同的输出数量,则必须审查接收端端接和引脚排列,不能仅凭 DB800ZL 系列名称推断。
只有在两个分段预算都能收敛时才插入 retimer #
retimer 的位置将一条逻辑链路拆分为两个电气段。每个段包括发送端封装、扇出、过孔、走线、连接器,以及 retimer 或链路对端的接收端封装。PCI-SIG 的实施指南指出,插入损耗预算和一致性验证工作应分别在两侧进行。目标不是把 retimer 放在几何中点,而是放在两个独立分段都保留裕量的位置。
先从提取或实测的通道数据入手,不要套用板长规则。在工艺、电压和温度角下比较直接路径与分段路径。比较时要把 retimer 封装、所需的 AC 耦合、供电以及局部温升都算进去。加 retimer 确实多了功能,但也多了一个需要供电和配置的器件,它一旦失效就可能把链路拉断。
Gen4 方面,TI 的主动式 DS160PT801ACBR 是一款具体的八通道协议感知 retimer。它支持 2.5、5、8 和 16 GT/s,支持共时钟和独立参考时钟模式,带或不带 SSC 均可,还支持均衡训练、2x4 拆分、眼图监测和 PCIe 接收端裕量测试。封装为 332 球 8.5 mm × 13.4 mm FCCSP,两路电源轨,通过 SMBus/EEPROM 配置。DS160PT801ACBT 是 250 片小卷带包装,ACBR 是 2,000 片卷带。做 x16 Gen4 需要两个器件,还要按文档做好芯片间连接,所以 x16 的 BOM 里不是一行 ACBR 就能了事。
在 Gen5 方面,Astera Labs 公开列出 PT5081 为量产的 x8 PCIe 5.0/CXL 2.0 retimer,PT5161 为量产的 x16 版本。其产品组合简介中介绍了自动链路均衡、灵活拆分、I2C/I3C 管理、SPI-flash 或 EEPROM 固件加载,以及通过 COSMOS 软件套件提供的每链路历史记录和电气裕量诊断。这些公开标识可用于初步 RFQ,但在 AVL 发布前,供应商必须提供完整的协议专用可订购后缀、封装版本、固件要求和商业状态。
不要因为通道数和 32 Gb/s 标称值匹配,就用 Gen5 线性 redriver 替代 retimer。redriver 可以延长中等损耗通道,同时对训练保持透明。retimer 则恢复嵌入式时钟、形成两个电气段,并参与 PCIe 物理层行为。这一选择会改变仿真、布局、固件、热设计、一致性验证和互操作性工作。
| 选型问题 | 直连或 redriver | 协议感知 retimer |
|---|---|---|
| 通道模型 | 一个端到端电气通道 | 两个各自闭合的电气段 |
| 链路训练 | 端点通过通道进行训练 | retimer 伪端口参与均衡 |
| 抖动 | 线性 redriver 不会重置非相关抖动 | CDR 恢复并重新发送数据 |
| 管理 | 通常通过 strap/I2C 设置增益和模式 | 固件、状态、遥测和恢复策略 |
| 一致性风险 | 器件不是 PCIe 定义的扩展元素 | 使用适用的 retimer 和系统测试证据 |
通道宽度、极性和边带属于同一项配置 #
协议感知 retimer 必须遵循链路协商的速率和宽度。PCI-SIG 指出,上游和下游宽度必须匹配,尽管 retimer 必须支持降配。因此,PCB 通道映射、FPGA IP、retimer 拆分和连接器定义需要单一受控来源。
在布局前冻结通道反转和极性能力。不要假设 retimer 可以修复任意跨通道置换。对于由两个 Gen4 x8 器件组成的 x16,确认供应商的芯片间要求、复位关系和拆分边界。对于多端口 Gen5 retimer,保留哪些通道属于每条独立管理的链路。
低速设计应纳入同一项审查:
- PERST# 的时序,以及它到 FPGA 端点和 retimer 的分配;
- 外形规格用到 CLKREQ# 时的 CLKREQ# 与电源状态行为;
- SMBus/I2C/I3C 的地址规划、电压和主机归属;
- EEPROM 或 flash 镜像、校验和、更新与回退策略;
- 中断、温度、链路历史和裕量遥测;
- 测试接入点,且不引入不受控的高速短桩;
- retimer 的电源轨、上电时序、去耦和最坏情况结温。
“软件透明”不等于“无需固件”。retimer 不会以数据包交换机的形式出现,但板卡仍需有可复现的配置,并能跨其伪端口诊断链路状态。
验证状态机,而不只是眼图干净 #
PCIe Gen4/Gen5 的一致性验证既需要模拟证据,也需要协议证据。发送端眼图测试无法证明接收端容限、通道映射、均衡或恢复能力。PCI-SIG 明确建议对 LTSSM 及热插拔等特定应用事件进行测试;单独通过 TX 一致性和接收端 BER 并不能保证系统互操作性。
采用分阶段上电调试,在每个边界都留下产物:
- 电源与时钟: 测量每个 FPGA、retimer 和时钟缓冲器的电源轨;在带载接收端确认所选 REFCLK 模式和 SSC 行为。
- 复位释放: 在反复冷启动和允许的最慢电源斜坡下,捕获 REFCLK 稳定性、PERST# 和配置完成情况。
- 接收端检测与 Polling: 先验证终端检测、通道极性和预期的活动通道组,再排查均衡问题。
- 配置与均衡: 保存 FPGA LTSSM 状态、协商速率和宽度、retimer 伪端口状态以及每通道自适应信息。
- 裕量与流量: 在支持的情况下运行接收端通道裕量测试、协议错误监控,并施加双向持续应用流量。
- 恢复: 注入热复位、链路重训练、参考时钟扰动、电源状态转换以及产品的热插拔事件。
- 极限与配置: 在代表性板卡、连接器/线缆选项、温度、电压和已批准的元件替代料上重复测试。
PCI Express Retimer Test Specification Revision 5.0 可作为共时钟模式下独立 retimer 的供应商证据,但 PCI-SIG 明确限定了该文档的范围:它不测试集成到客户平台或附加卡中的 retimer。先索取器件证据,再针对实际 FPGA、时钟模式和拓扑执行系统测试。
将接口契约转化为 RFQ #
采购部门收到的请求不应只是“PCIe Gen5 retimer”或“八输出 PCIe 时钟”这样一句话。应将相关元件作为一个接口组一起发出:
| BOM 组 | 必须一并提供的 RFQ 字段 |
|---|---|
| FPGA | 完整 OPN、封装、速度等级、收发器 tile、PCIe IP/工具版本以及端点/根端口角色 |
| 时钟 | 完整缓冲器/源 OPN、温度等级、包装、输出标准、SSC 模式以及已批准的寄存器/strap 状态 |
| Retimer | 完整 OPN、代际、通道数、分叉、封装、等级、固件、管理接口和生产状态 |
| 通道 | 叠层、连接器/线缆版本、通道映射、仿真/实测段损耗以及布局约束 |
| 验证 | 时钟模式证据、LTSSM 日志、裕量数据、合规报告、流量测试和环境极限 |
按替代料会触发哪些重新验证来分类。仅包装变更可能只需商务审核。温度等级变更需要确认环境和生命周期。更换时钟缓冲器可能改变信号、终端和抖动。更换 retimer 可能改变引脚排列、固件、分叉、遥测、电源和互操作性。后几类都不能仅凭分销商参数就批准。
对于 9ZXL0851EKILFT,需说明 −40°C 至 +85°C 卷带型号是否为必选,或更高温度的 9ZXL0851EKKLFT 是否已通过认证。对于 DS160PT801ACBR,需说明是 x8 用途还是成对器件 x16 架构,并保留外部 EEPROM 镜像。对于 PT5081 或 PT5161,应要求制造商提供完整后缀及所支持的固件包,而不能让系列标识符当作完整订购代码进入生产 ERP。
结论 #
稳健的 FPGA PCIe Gen4 或 Gen5 设计,首先要明确参考时钟模式、FPGA 硬 IP 资源、通道映射和无源通道。只有当该模型表明两段链路都能以量产裕量收敛后,才考虑加装 retimer。此后,时钟分配、retimer 固件、复位、遥测和热限制都成为同一已发布接口的组成部分。
这一流程把含糊的高速链路 BOM 变成可审计的决策:工程师能说明直连路径为何失败或通过,验证人员能定位训练中断的位置,采购也能准确询价具体的时钟和 retimer 型号,而不会在不知不觉中改变时钟架构或链路拓扑。
官方参考 #
- PCI-SIG FAQ:什么是 retimer,何时需要用到
- PCI-SIG PCIe 5.0 实施网络研讨会问答:时钟模式、retimer 与验证
- PCI-SIG PCI Express Retimer 测试规范 5.0 版适用范围
- AMD Versal DMA and Bridge Subsystem PG344 时钟设计指南
- AMD Versal Integrated Block for PCI Express PG343 时钟与复位信号
- Altera F-Tile Avalon Streaming IP for PCI Express 25.3 参考时钟指南
- Renesas 9ZXL0851E 产品页面:生命周期与可订购型号
- TI DS160PT801 产品页面与可订购封装选项
- TI DS160PT801 Rev. A 数据手册
- Astera Labs Aries PCIe/CXL Smart DSP Retimer 产品系列与量产状态
- Astera Labs Aries Smart DSP Retimer 产品系列简介
