3、Retimer架构设计:主流架构对比与时钟方案选择

各位同学,今天我们来聊聊Retimer的架构设计。这部分内容,说白了就是决定你的芯片长什么样、怎么干活。我做了这么多年PCIe设计,可以负责任地告诉你——架构选型一旦定下来,后面改起来就是噩梦。所以这一章,咱们得把每个细节都掰扯清楚。

3.1 主流架构对比:CDR+CTLE+DFE vs 纯数字中继

先问大家一个问题:Retimer的核心任务是什么?

嗯,很简单——把进来的信号重新整形成干净的信号再发出去。但怎么整,就有两条路可以走了。

3.1.1 CDR+CTLE+DFE 模拟混合架构

这种架构是目前Gen5 Retimer的主流选择。它包含三个关键模块:

  • CTLE(连续时间线性均衡器):补偿高频损耗,把被信道衰减的信号抬起来
  • DFE(判决反馈均衡器):消除码间干扰,处理反射和串扰
  • CDR(时钟数据恢复):从数据中提取时钟,重新同步

我个人习惯把这种架构叫做「全链路模拟整形」。信号进来,先过CTLE做高频补偿,再进DFE消除后标干扰,最后CDR把时钟和数据对齐,重新发送出去。

核心优势:

  • 信号质量好,能处理长距离信道(30dB+损耗)
  • 支持PCIe Gen5的32GT/s速率
  • 延迟可控,一般在10ns以内

我在项目中遇到过一个问题:某次用纯数字中继方案做Gen4,结果信道损耗一大,眼图直接闭合。后来换成CDR+CTLE+DFE架构,眼图立马打开了。说白了,模拟均衡器在高速场景下就是刚需。

3.1.2 纯数字中继架构

这种架构简单粗暴——进来的数字信号,直接采样、存储、再转发。没有模拟均衡,没有CDR,就是一个数字缓冲器。

你想想看,这种方案有什么问题?

嗯,它只能处理信号已经「够好」的情况。如果信号质量差,它无能为力。说白了,它就是个数字管道,不负责整形。

避坑指南:我曾经在Gen3时代尝试过纯数字中继方案,结果发现只要信道长度超过20cm,误码率就飙升。后来我总结了一条经验:Gen5速率下,纯数字中继基本不可用,除非你的信道损耗控制在10dB以内。

3.1.3 架构对比表

对比项 CDR+CTLE+DFE 纯数字中继
信号整形能力 强(支持30dB+损耗) 弱(仅支持10dB以内)
延迟 5-10ns 2-5ns
功耗 较高(模拟电路+数字逻辑) 低(纯数字)
面积 较大(模拟IP占用)
Gen5适用性 ✅ 推荐 ❌ 不推荐

3.2 时钟方案选择:同步 vs 异步

时钟方案,这是Retimer设计里最容易踩坑的地方。我见过太多团队在时钟方案上翻车,最后导致整个芯片无法锁定。

3.2.1 同步时钟方案

同步方案,就是Retimer的本地时钟和上游设备的参考时钟同源。说白了,大家都用同一个时钟源。

  • 优点:没有频率偏差,CDR锁定快,抖动小
  • 缺点:需要额外的参考时钟走线,系统复杂度高

我个人习惯在板级设计中优先考虑同步方案。为什么呢?因为省心。你想想看,如果上下游时钟不同源,CDR就得不断调整相位,这中间很容易出问题。

3.2.2 异步时钟方案

异步方案,就是Retimer自己产生本地时钟,和上游设备独立。这时候就需要用FIFO来做跨时钟域处理。

  • 优点:系统设计灵活,不需要参考时钟
  • 缺点:需要弹性缓冲,延迟增加,有溢出风险

我的经验:异步方案最怕的就是FIFO深度没算够。我曾经在Gen4项目中,FIFO深度只留了16个条目,结果遇到连续SKP OS插入时直接溢出。后来改成32深度才稳定。记住:异步方案下,FIFO深度至少留够32

3.2.3 时钟方案选择建议

嗯,这里我给大家一个实用建议:

  • 如果系统允许,优先选同步方案——简单、可靠、延迟低
  • 如果必须异步,FIFO深度要留余量,并且做好空满标志的跨时钟域同步
  • Gen5速率下,不建议用纯异步方案,至少要用半同步(参考时钟同源但PLL独立)

3.3 数据通路流水线设计

数据通路怎么设计,直接决定了Retimer的延迟和吞吐量。我习惯把数据通路分成三级流水线:

3.3.1 第一级:接收前端

这一级负责信号接收和初步处理:

  • CTLE均衡
  • DFE判决
  • CDR时钟恢复
  • 串并转换(SERDES)

这一级是模拟电路的主场,延迟大概在3-5ns。

3.3.2 第二级:数字处理

这一级负责协议层面的处理:

  • 8b/10b或128b/130b解码
  • SKP OS插入/删除
  • 链路训练状态机(LTSSM)
  • 错误检测与重传

这一级是数字逻辑的主场,延迟大概在2-4ns。

3.3.3 第三级:发送前端

这一级负责信号发送:

  • 并串转换
  • 预加重/去加重
  • 驱动输出

这一级又是模拟电路,延迟大概在1-2ns。

流水线设计要点:

  • 各级之间用FIFO或寄存器做缓冲,避免数据冲突
  • 关键路径要加流水线寄存器,保证时序收敛
  • Gen5速率下,每级流水线延迟控制在5ns以内

3.4 架构设计知识体系图

下面我用一张SVG图来总结本章的核心内容,方便大家理解整个架构设计的脉络:

Retimer架构设计知识体系 架构对比 CDR+CTLE+DFE 纯数字中继 时钟方案 同步时钟 异步时钟 数据通路流水线 接收前端(CTLE+DFE+CDR) 数字处理(解码+LTSSM) 发送前端(预加重+驱动) 关键决策:Gen5速率下,推荐CDR+CTLE+DFE + 同步时钟方案 总延迟目标:≤10ns(接收前端3-5ns + 数字处理2-4ns + 发送前端1-2ns) ⚠ 避坑:异步方案FIFO深度≥32,纯数字中继不适用于Gen5 图:Retimer架构设计三大核心模块及关键决策点

这张图把本章的三个核心模块串起来了。你想想看,架构对比决定了你用什么「武器」,时钟方案决定了你的「节奏」,数据通路流水线决定了你的「效率」。三者缺一不可。

个人经验总结:我做了这么多Retimer项目,最大的体会就是——架构设计阶段多花一周,后面验证阶段能省一个月。别急着写代码,先把架构想清楚。尤其是时钟方案,一旦定下来,后面改起来就是牵一发而动全身。

好了,这一章的内容就到这里。记住我说的:Gen5 Retimer,CDR+CTLE+DFE是标配,同步时钟是首选,流水线设计要留余量。把这些想清楚,你的Retimer设计就成功了一半。


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