一、PCIe Gen5 Retimer概述

各位同学,今天咱们聊聊PCIe Gen5 Retimer。说实话,这个题目我琢磨了很久。为什么?因为Gen5 Retimer在PCIe生态里,位置太特殊了。它不像PHY那样纯粹是物理层,也不像Controller那样处理事务层。它卡在中间,既要懂模拟,又要懂数字,还得懂系统。

我个人习惯把Retimer比作“信号界的翻译官”。你想想看,高速信号从芯片A传到芯片B,中间经过PCB走线、连接器、线缆,信号早就变形了。Retimer的作用,就是把变形的信号“翻译”回原来的样子,再重新发出去。

1.1 PCIe技术演进路线

先简单回顾一下PCIe的发展。我从Gen1开始做,一路做到Gen5,感触很深。

代际 速率 编码方式 推出年份
PCIe Gen1 2.5 GT/s 8b/10b 2003
PCIe Gen2 5 GT/s 8b/10b 2007
PCIe Gen3 8 GT/s 128b/130b 2010
PCIe Gen4 16 GT/s 128b/130b 2017
PCIe Gen5 32 GT/s 128b/130b 2019

看到没?Gen5的速率是32 GT/s,比Gen4翻了一倍。但问题来了——速率翻倍,信号完整性的挑战可不是翻倍那么简单。我做过一个粗略估算:从Gen4到Gen5,眼图闭合的速度大概快了4倍。为什么?因为频率高了,PCB损耗、串扰、反射这些效应都更严重了。

这里有个关键点:Gen3开始用了128b/130b编码,效率比8b/10b高了不少。但代价是什么?时钟恢复更难了。8b/10b有足够的跳变保证时钟同步,128b/130b的跳变密度低了很多。嗯,这个后面讲Retimer的CDR设计时会细说。

1.2 Retimer在PCIe生态中的角色

Retimer在PCIe系统里到底干嘛的?我直接说结论:它负责信号再生,不是信号放大

很多人把Retimer和Redriver搞混。Redriver就是个放大器,把衰减的信号放大,但噪声也跟着放大了。Retimer不一样,它先把信号转成数字域,做时钟恢复和数据判决,然后再重新发出去。说白了,它把信号“洗干净”了再传。

核心区别:

  • Redriver:模拟放大,噪声累积
  • Retimer:数字再生,噪声清零

我在项目中遇到过一件事:某次系统调试,用了Redriver,结果链路就是跑不稳。后来换成Retimer,问题立马解决。为什么?因为那个场景下,信号经过长走线后,眼图已经完全闭合了。Redriver再放大也没用,但Retimer能重新打开眼图。

Retimer在PCIe生态里的角色,我总结为三点:

  • 信号再生:恢复信号质量,延长传输距离
  • 协议透明:不修改TLP/DLLP内容,只做物理层处理
  • 链路扩展:支持更长的主板走线、背板、线缆连接

你想想看,现在的数据中心服务器,PCIe走线动不动就二三十英寸。没有Retimer,根本跑不到Gen5速率。

1.3 Gen5 Retimer的核心挑战

做Gen5 Retimer,有三个绕不开的坎:信号完整性、功耗、延迟。我一个个说。

1.3.1 信号完整性

这是最头疼的。32 GT/s的信号,一个UI(单位间隔)只有31.25 ps。你想想看,这么短的时间窗口里,要完成时钟恢复、数据采样、判决、再发射……难度可想而知。

具体挑战包括:

  • 信道损耗:Gen5的Nyquist频率是16 GHz,PCB走线在这个频率下损耗很大。我见过最夸张的情况,30英寸走线损耗超过35 dB。
  • 串扰:高速信号之间的串扰,在Gen5频率下特别明显。尤其是相邻lane之间,近端串扰(NEXT)和远端串扰(FEXT)都要小心。
  • 反射:阻抗不连续点会产生反射。连接器、过孔、焊盘,每个地方都是潜在的反射源。
  • 抖动:包括随机抖动(RJ)和确定性抖动(DJ)。Gen5的抖动预算非常紧张,总抖动(TJ)通常要求小于0.5 UI。

避坑指南:

我曾经在Gen4 Retimer设计时,忽略了封装效应。结果流片回来,眼图质量比仿真差了20%。后来才意识到,封装寄生参数在高频下影响巨大。所以做Gen5时,我建议从一开始就把封装模型加进去做协同仿真。

1.3.2 功耗

功耗是另一个大问题。Retimer要处理32 GT/s的信号,内部PLL、CDR、SerDes都在高速运转。功耗控制不好,芯片温度上去了,性能反而下降。

Gen5 Retimer的典型功耗在5-10W之间,具体取决于lane数量和工艺节点。我做过一个对比:

工艺节点 单lane功耗(mW) 16 lane总功耗(W)
28nm ~400 ~6.4
16nm ~250 ~4.0
7nm ~150 ~2.4

注意,这只是估算值。实际功耗还跟温度、电压、数据pattern有关。我个人习惯在早期架构阶段就做功耗预算,留出20%的余量。不然到了后期,功耗压不下去,只能降频或者加散热片,很被动。

降低功耗的手段有哪些?

  • 动态电压频率调整(DVFS)
  • 低功耗CDR架构
  • 时钟门控和电源门控
  • 自适应均衡器(减少不必要的增益)

1.3.3 延迟

延迟这个指标,很多人一开始不重视。但做系统的人会告诉你,延迟就是生命。

Retimer的延迟包括:

  • 模拟前端延迟:CTLE、VGA等模拟电路的群延迟
  • CDR延迟:时钟恢复和数据判决的延迟
  • 数字处理延迟:EQ训练、状态机切换等
  • 发射端延迟:TX驱动器的延迟

Gen5 Retimer的典型延迟在10-20 ns之间。听起来很小对吧?但在某些场景下,比如存储系统或者高性能计算,延迟累积效应很明显。一个链路经过3-4个Retimer,延迟就上百纳秒了。

注意:

延迟不是越小越好。有些设计为了降低延迟,牺牲了信号质量,结果链路误码率上去了。我见过一个案例,某团队把CDR的环路带宽调得很宽,延迟降了30%,但抖动性能恶化了50%。最后不得不回退。所以延迟优化要在保证信号质量的前提下进行。

1.4 知识体系总览

说了这么多,我画了一张图,把Gen5 Retimer的核心知识点串起来。你一看就明白了。

PCIe Gen5 Retimer 知识体系 Gen5 Retimer 信号完整性 功耗 延迟 信道损耗 串扰 反射 抖动 PLL/CDR SerDes DVFS 时钟门控 模拟前端 CDR 数字处理 TX驱动 关键技术:CTLE · DFE · CDR · EQ训练 · 自适应均衡 PCIe Gen5 Retimer 核心挑战与关键技术总览

这张图把Gen5 Retimer的核心挑战和技术要点都列出来了。信号完整性、功耗、延迟,这三个是互相制约的。你优化了信号质量,可能功耗就上去了;你降低了延迟,可能抖动就变差了。做Retimer设计,本质上就是在三者之间找平衡。

好了,第一章就讲到这里。内容不少,但都是干货。后面我们会深入每个技术细节,从CTLE设计到CDR实现,从EQ训练到功耗优化,一步步把Gen5 Retimer的完整设计流程走一遍。


公众号:蓝海资料掘金营,微信deep3321