ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

224G PAM4收发器如何用3pJ/bit功耗突破40dB信道损耗

224G PAM4收发器如何用3pJ/bit功耗突破40dB信道损耗

简介:IEEE《固态电路期刊》2025年1月刊论文PDF,主题为3nm FinFET CMOS工艺的224 Gb/s PAM-4长距离收发器,面向高速串行接口、SerDes、集成电路与信号处理方向的研究人员与工程师。内容覆盖数据中心800G/1.6T交换机、AI加速器等高带宽需求,介绍收发器数据与时钟通路:接收端采用带20dB峰值增益的反相器基模拟前端和7位时间交织ADC,发射端由两个7位单端DAC构成,支持56GHz带宽;嵌入式DSP包含最大似然序列检测和决策反馈均衡器,以应对40dB插入损耗信道。实测中该收发器达到1e-6误码率,保持3pJ/bit模拟能效,单通道面积0.5mm²,并通过全数字bang-bang锁相环产生共享14GHz时钟,验证了低抖动与低功耗特性。资源仅含1个PDF文件,压缩包大小2.63MB。目前已有171人学习下载。

1. 224G、3pJ/bit 与 40dB:这三个数放在一起意味着什么

看到这个标题,很多人的第一反应是“224G 收发器在 3nm FinFET CMOS 上跑通了”——这话没错,但真正让它值钱的不是速率,而是后面那组数字:3pJ/bit 的能耗、40dB 的插入损耗预算。40dB 意味着信号经过信道后电压摆幅只剩百分之一,功率只剩万分之一,而 PAM4 还要把这点残余信号再切成四个电平去判别,每一个眼的开度只剩三分之一。如果信道不补偿,接收端看到的是一团糊在一起的眼图,误码率直奔 1e-1,连最宽松的前向纠错都救不回来。

所以这篇笔记真正在讲的问题不是“能不能做 224G”,而是“用多低的功耗代价,把 40dB 损耗的链路救回来”。通信标准把物理层速率推到单通道 224G 之后,信道损耗曲线越来越陡,传统的 ADC+DSP 接收架构在 3nm 工艺下依然能跑,但功耗很难压到 3pJ/bit 以内。标题里的三组数字合在一起,其实是一个极其明确的架构表态:采用模拟均衡为主、数字校准为辅的收发器方案。下面从链路预算、模块拆解、3nm 工艺实现到芯片测试,把这颗收发器的设计逻辑和踩坑点铺开讲。

2. 40dB 信道下的架构推演:把预算花在模拟均衡而不是 DSP

2.1 用一段脚本先算清链路预算:40dB 到底意味着什么

做收发器设计的人不听“感觉”,只听数字。拿到 224G PAM4 这个速率,第一步就应该把波特率、奈奎斯特频率和信噪比算清楚,而不是直接上手画电路。224G PAM4 的正常路径是 112GBaud,每符号携带 2bit 信息,奈奎斯特频率就是 56GHz。这句话听着简单,但决定了后面所有带宽指标:接收机线性前端要能顶着 56GHz 工作,否则信号在进均衡器之前就已经被电路本身削掉了。

我一般会先用一段很短的脚本把最保守的信噪比算出来,给自己一个边界感。信道损耗模型先按趋肤效应主导的 sqrt(f) 近似,后面再换成真实信道的 S 参数。

import numpy as np rate = 224e9 # 224Gbps 总速率 baud = rate / 2 # PAM4 -> 112 GBaud f_nyquist_hz = baud / 2 # 56 GHz il_db_at_nyquist = 40.0 # 标题给出的信道目标 def il_db(f_ghz): # 简化信道模型:损耗按 sqrt(f) 增长,单位 GHz return il_db_at_nyquist * np.sqrt(f_ghz / (f_nyquist_hz / 1e9)) # PAM4 发送端满摆幅 tx_swing_vppd = 0.5 rx_swing_vppd = tx_swing_vppd * 10**(-il_db(56.0) / 20) # 相邻电平间距 sym_amp = rx_swing_vppd / 3.0 # 接收机输入噪声假设:含热噪声、电源噪声和串扰的折算 noise_rms = 0.35e-3 snr_db = 20 * np.log10(sym_amp / noise_rms) print(f"奈奎斯特频率: {f_nyquist_hz/1e9:.1f} GHz") print(f"接收端摆幅: {rx_swing_vppd*1e3:.2f} mVppd") print(f"PAM4 相邻电平间距: {sym_amp*1e3:.2f} mV") print(f"不含均衡的输入信噪比: {snr_db:.1f} dB")

逻辑很直白:发送端 0.5Vppd 的信号经过 40dB 信道后只剩 5mVppd 左右,PAM4 相邻电平间距只有大约 1.67mV,而接收机自身噪声按 0.35mVrms 估算时,不加均衡的 SNR 连 15dB 都不到。这个 SNR 对应的 BER 在 1e-2 量级,任何 FEC 都救不回来。这里的参数选择上,发送端摆幅和噪声底盘是必须提前敲定的,它们决定了均衡器能借回来多少 dB;摆幅越高、噪声越低,均衡压力越小,但功耗和工艺容差都会恶化。

2.2 为什么 ADC+DSP 在 3pJ/bit 预算下难走通,而模拟 DFE 能走通

224G 收发器的均衡有两条路线:一条是把接收信号直接采样进 ADC,然后全部在数字域做 FFE/DFE,这是过去 112G 时代很主流的做法;另一条是保留模拟前端,用 CTLE 做线性补偿,再用模拟 DFE 做非线性判决反馈。标题里 3pJ/bit 的限制,基本就是在告诉你这条路走的是后者。

我见过不少 ADC+DSP 方案在 112G 速率下跑到 5~8pJ/bit,它的优点是均衡算法灵活、抽头多、可以处理很深的符号间干扰,但代价是前端需要高分辨率高速 ADC。到了 224G,ADC 的采样率和有效位数都很难同时满足,功耗容易突破 5pJ/bit,算上整个 RX 路径想压到 3pJ/bit 基本不现实。而模拟 DFE 的核心优势是把反馈判决放在模拟域,一个抽头就是一组电流镜和一对锁存器,面积小、延时短,功耗只有数字域实现的零头。

这里我习惯用一张对比表说明选型边界:

均衡路线RX 功耗水平对 3pJ/bit 的适配度典型实现手段
高分辨率 ADC + 长 DSP5~8pJ/bit差全速率 ADC、长 FFE/DFE
低分辨率 ADC + 数字 DFE3~5pJ/bit折中2~3bit ADC、短数字 DFE
模拟 CTLE + 模拟 DFE2~3pJ/bit最适合电感峰化前端、5~7 抽头 DFE

但要注意,模拟 DFE 省功耗不省设计难度。40dB 损耗的信道会把主抽头附近的 ISI 拉得很大,DFE 第一个反馈抽头系数可能超过 0.4,这带来两个问题:一是首抽头对判决误差的传播特别敏感,二是反馈环路必须在 1UI 也就是大约 8.9ps 内完成建立。3nm 工艺给了晶体管速度,但版图寄生和偏置变化随时能吃掉这点余量。

2.3 均衡残差要留多少,才算给后端系统留了活路

很多设计把均衡器调到跟信道完全互补就收手了,这是不对的。实际系统里还有时钟抖动、电源噪声、串扰和温度漂移,这些非线性因素不会因为均衡曲线漂亮而消失。我的经验是:仿真时把 DFE 抽头收敛后的残余 ISI 控制在一个最小电平间距的 8% 以内,同时给极限角留 1dB 左右的 SNR 裕量,否则量产良率和系统长稳都会出问题。

所以架构层面的结论很清晰:模拟 DFE 是 3pJ/bit 的必选项,但绝不能裸奔,必须在前面加 CTLE 把低中频先碾压一遍,让 DFE 去处理剩下的高次抽头。CTLE 负责把 40dB 的整体损耗压缩到 DFE 能处理的范围内,DFE 负责把残留到几 UI 之外的尾巴挖掉,分工明确。

3. 收发链路的模块级实现:均衡器、时钟恢复与校准参数

3.1 发送端三抽头 FFE:主抽头摆幅不是越满越好

发送端是整条链路里最容易被低估的模块。很多人以为把发送端摆幅拉满、边沿做陡就能对抗 40dB 损耗,实际这么做只会带来两个后果:功耗超标、串扰变大。低功耗收发器通常用三抽头 FFE,主抽头输出约 0.4~0.5Vppd,前光标和后光标按信道损耗曲线配系数,压低低频分量,让发送端提前把信道的高频衰减拉平。

FFE 的系数配置没有唯一标准,需要根据回测的信道 S 参数来定。我的习惯是先固定主抽头,再从小到大扫预加重和后加重系数,盯着接收端均衡后的眼图高度变化。典型参数范围如下:

FFE 抽头作用常见系数范围
前光标压低前一比特引起的 ISI主抽头的 5%~15%
主抽头决定发射摆幅归一化为 1.0
后光标压低后几比特的拖尾主抽头的 8%~25%

注意系数不要一次给满。后光标给太大会让接收端 CTLE 需要额外补偿低频,等于做了两次相反的处理,白白浪费功耗。我在模拟项目 X 里就遇到过这种翻车:发送端后光标给了 30%,接收端眼图反而更差,最后用逐级扫描才发现过度预加重让信号产生了过冲,判决阈值附近的噪声被放大了。

3.2 接收端模拟均衡链:CTLE 升压参数与 DFE 系数的联动

接收端的核心结构是 CTLE → VGA → 模拟 DFE。CTLE 放在最前面,负责把 40dB 信道损耗压下大约 20~25dB,剩余的高频残留交给 DFE。升压量、峰化频率和低频增益这三个参数是联动的:低频增益决定了直流摆幅恢复程度,升压量决定了高频补偿力度,峰化频率则要和信道拐点对齐。224G 的典型做法是把峰化频率放在 30~50GHz 区间,太低了补偿不到奈奎斯特点,太高了会放大带外噪声。

CTLE 之后进入 DFE 的输入信号不能直接拿来定系数,得先把 DFE 当成一个理想判决反馈模型跑一遍。下面这段代码展示了怎么从信道脉冲响应快速估算各抽头系数:

import numpy as np # 模拟经过 CTLE+VGA 整形后的信道脉冲响应,主抽头归一化 # 索引 0 是主抽头,索引 1..6 是后续 6 个 UI 的残留 h = np.array([0.85, 0.32, 0.15, 0.07, 0.03, 0.015, 0.008]) # 理想 DFE 系数:用反馈去抵消后光标 d_taps = -h[1:] / h[0] # 给一个工程限制:首抽头系数绝对值不宜超过 0.4 for i, tap in enumerate(d_taps): flag = " <-- 注意首抽头过大" if i == 0 and abs(tap) > 0.4 else "" print(f"DFE tap{i+1}: {tap:.3f}{flag}")

逻辑说明:信道响应里主抽头是 0.85,后一个 UI 的残留是 0.32,意味着如果不做 DFE,判决时刻会被上一个符号拖拽 0.32/0.85 ≈ 38%。理想情况下 DFE 第一个反馈系数应该取负的 0.376,把这段拖尾抵消掉。后几个抽头依次递减到 0.01 量级,说明信道尾巴衰减较快,五到七抽头的 DFE 就够用了。

参数选择上需要注意的是,代码里的数值是理想判决条件。实际 DFE 系数会被环路延时、比较器失调和误码传播约束,不可能全按理想值收敛。我一般会把首抽头放量到理论值的 80%~90%,后面抽头逐级减到理论值,再通过最小均方自适应收尾收敛。如果自适应跑完发现首抽头还想超过 0.4,说明 CTLE 升压给得不够,这时候应该回去调 CTLE,而不是硬压 DFE。

3.3 CDR 的锁定点要从均衡链路的整体时延去标定

接收机最后一个关键模块是时钟恢复。224G 的 CDR 几乎都在用半速率或四分之三速率的 bang-bang 架构,因为全速率 CDR 在 112GBaud 下的锁存器功耗太高。CDR 的相位锁定点应该落在整个接收链路的群时延之后,而不是简单地锁在输入数据过零点上。CTLE 的峰化会让信号产生额外的相位偏移,DFE 的建立也需要固定时间,如果 CDR 参考点没算清楚,采样点会偏离眼图中心,均衡器做得再好也白搭。

我习惯的做法是在仿真里先记录三个时间量:CTLE 的群时延、VGA 的传播时延、DFE 从输入到判决输出的建立时间,把它们叠加到 CDR 的初始相位偏置里。实际芯片回来后,再用片上眼图监视器扫一遍最佳采样点,与预设值对比。偏差在 10% 以内说明模型准确,超过 20% 就要回头检查版图寄生提取是否遗漏了关键互连。

4. 3nm FinFET 后仿到实测避坑:功耗、偏置和版图寄生

4.1 后仿功耗超出预算:翻转活动率算得太乐观

现象:前仿总功耗 2.8pJ/bit,后仿加寄生变成 3.3pJ/bit,直接突破标题里的 3pJ/bit 指标。原因:前仿对 DFE 判决反馈路径的翻转活动率按 40% 估,但 224G 数据随机性极强,DFE 抽头选择逻辑在高低电平交界处频繁翻转,实际活动率接近 65%,组合逻辑的动态功耗因此涨了一大截。解决:把 DFE 抽头选择从高电平翻转的组合逻辑改成门控时钟驱动的寄存器组,让不参与当前判决的抽头保持静止;同时在 CTLE 和 VGA 的低功耗待机模式下加切换开关,没有信号时切断偏置电流。这条修完总功耗压回 3.0pJ/bit 左右,代价是面积多了不到 2%,可以接受。

3nm 工艺的动态功耗对翻转活动率的敏感度比以往节点更高,因为供电电压降下来之后,电容占比反而变大。任何新加的测试模式或调试逻辑,都要在功耗预算里显式占一块。

4.2 CTLE 输出共模在工艺角下漂移,均衡曲线跟着走形

现象:同一套 CTLE 偏置电路,TT 角下眼图干净,FF 角下输出共模往下掉,SS 角下峰化频率偏移了接近 15%,后仿眼图高度差出 20mV。原因:3nm FinFET 晶体管阈值电压波动和沟道长度调制约在低电压下被放大,固定偏置点不再够用。解决:给 CTLE 加一组片内 8bit 电流 DAC,芯片启动时在数字状态机里依次扫描共模电压,用接收机判决器输出的失效率作为反馈,把偏置锁到最小值附近。校准完成时间控制在 200us 以内,不影响上电时序。

这个坑本质上是“工艺补偿”和“模拟设计”的分工问题。模拟电路不断追求宽动态范围偏置,在先进工艺下越来越不划算,数字校准跑一次几百微秒,功耗几乎为零,效果远好于把模拟偏置电路做复杂。

4.3 版图寄生把接收机真实带宽直接吃掉 8GHz

现象:后仿提取完整版图后,接收前端带宽从设计的 58GHz 掉到 50GHz,奈奎斯特点附近的增益掉了近 2dB。原因:输入端静电防护器件和焊盘到晶体管栅极之间的互连寄生电容没有充分预估,信号还没到 CTLE 就已经被分压衰减。排查过程很直接:把互连寄生电容逐段在仿真里替换成理想 0 电容,看到哪一段恢复带宽上贡献最大,就锁定哪一段。解决:把静电防护器件从输入节点移到 CTLE 输出端,输入端只保留最小尺寸的初级防护;同时把输入互连从普通金属层换到更厚的高层金属,电阻减半、电容明显下降。

4.4 DFE 首抽头时序在电压下降沿跑不过,误码率突然抬升

现象:电压从 0.75V 降到 0.7V 时,前 FEC 的 BER 从 1e-6 涨到 1e-3,眼图上看首抽头附近有明显的拖尾。原因:DFE 反馈环路在低压下收敛速度变慢,1UI 只有 8.9ps,锁存器在低电压下建立时间多了 1.5ps,判断来不及按时完成。解决:把首抽头反馈路径的负载管尺寸加大,并调整锁存器时钟相位让判决结果提前半个 UI 准备;同时给 DFE 单独供电,不跟上数字逻辑共用一个电源域。

如果时间预算实在压不下来,我还会做一个降级策略:将首抽头系数固定为自适应值的 80%,宁肯残留一点 ISI 也不要让环路进入误码传播振荡。

5. 用 PRBS 和眼图压测这颗收发器:芯片测试该盯哪几项指标

芯片回片之后,测试的第一件事不是看 224G 能否锁定,而是确认基础链路能建立完整的校准状态。我习惯把测试流程分成四步:先用片内回环模式完成 FFE、CTLE、DFE 的系数校准,再切换到外部误码仪,先用 20dB 信道跑一遍 PRBS13Q,确认收发基本功能;然后换 30dB 信道调均衡参数,最后才是 40dB 信道下的极限压测。每换一档信道,都要重新回测信道 S 参数,防止测试板上的阻抗不连续让结果失真。

压测数据表的记录项我会固定这么几个:眼高、眼宽、DFE 首抽头系数、CDR 锁定相位、前 FEC BER、功耗和结温。给一个参考判据:

表征项通过判据备注
PRBS13Q 前 FEC BER小于 1e-4 连续跑 1 小时224G 通常按 FEC 前的硬判据
DFE 首抽头系数小于 0.4超过则有误码传播风险
眼宽大于 0.4UI20dB 信道下应更宽松
功耗小于 3.15pJ/bit留 5% 的测量误差余量
CDR 锁定相位偏差与仿真偏差小于 10%超差先查版图寄生提取

温度扫描放在最后做。芯片从 25°C 升到 100°C 的过程中,功耗和 DFE 时序会同时恶化。我在模拟项目 X 上踩过一次:常温下所有指标都余量充足,高温下 CTLE 峰化点漂移导致眼高掉了 15%,当时没有在测试计划里排高温眼图扫描,只能临时加班补测。自那以后,我坚持所有 224G 收发器的测试必须先跑完三个温度点再下结论。

这些指标都跑完,才能说这颗 3nm 收发器真正接住了 40dB 信道的挑战。设计里最关键的从来不是单个电路模块有多强,而是均衡链路、时钟路径和功耗之间能不能在极限条件下同时满足。希望这篇笔记能帮你在调 224G 链路时少走几个我走过的弯路。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进