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项目,最大的体会就是——架构设计阶段多花一周,后面验证阶段能省一个月。别急着写代码,先把架构想清楚。尤其是时钟方案,一旦定下来,后面改起来就是牵一发而动全身。
好了,这一章的内容就到这里。记住我说的:Gen5 Retimer,CDR+CTLE+DFE是标配,同步时钟是首选,流水线设计要留余量。把这些想清楚,你的Retimer设计就成功了一半。
公众号:蓝海资料掘金营,微信deep3321