ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

224 Gb/s PAM-4收发器设计:40 dB插损通道与3 pJ/bit能效实现

224 Gb/s PAM-4收发器设计:40 dB插损通道与3 pJ/bit能效实现

简介:面向高速数据通信、集成电路设计与信号处理领域研究人员和工程师的一份技术文献,聚焦3纳米FinFET CMOS工艺下224 Gb/s PAM-4长距离收发器的实现方案,回应数据中心800 G/1.6 T交换机与AI加速器ASIC对更高聚合I/O带宽的需求。资源包共1个PDF文件,约2.63MB,为IEEE固态电路期刊论文原文,含摘要、收发器整体架构、PLL与时钟电路、接收端AFE与7位时间交织ADC、发射端1/8速率数据多路复用器及测试芯片测量结果等完整章节。文中给出40 dB插入损耗信道下1e-6误码率、3 pJ/bit模拟能效、55 fs随机抖动等关键指标,并阐述MLSD与DFE联合均衡、反相器基AFE 20 dB峰值增益等电路创新,四通道SerDes宏每通道占0.5平方毫米。已有174人学习,适合需要查阅原始数据与设计细节的读者深入研读。

1. 224 Gb/s 收发器方案:从 40 dB 插损通道到 3 pJ/bit 能效的完整设计路径

数据中心交换机往 800 G、1.6 T 走,AI 加速器对聚合 I/O 带宽的胃口一年比一年大,112 Gb/s PAM-4 这条线已经快撑不住了。真正卡脖子的不是“速率数字”,而是当通道插损拉到 40 dB、符号率翻到 112 GBd 时,模拟带宽、时钟抖动、DSP 复杂度三件事同时逼近工艺极限。这份方案要解决的,就是在 3 nm FinFET CMOS 上把一条 224 Gb/s PAM-4 长距收发链路做出来,误码率压到 1e-6,模拟能效守在 3 pJ/bit,单通道面积 0.5 mm²。它适合正在做高速 SerDes 毕设、课设,或者要交一份完整收发机架构方案的人,照着这套“架构—时钟—接收—发射—验收”的结构往下推。

2. 总体架构设计:四通道宏单元与 1/8 速率时钟的职责划分

先把整体骨架立住,后面每一章才有落点。这套 224 Gb/s SerDes 宏单元由四个收发通道组成,每个通道的收、发部分独立,共享一个时钟倍频单元(CMU)。接收链路从模拟前端(AFE)开始,做部分模拟调理后送进模数转换器;发射链路把二进制数据转成 PAM-4 电平,经数字前馈均衡(FFE)后串行化,再由 DAC 还原成波特率电压信号。这个基本架构在 112 Gb/s 时代几乎没变过,但速率翻倍后有几处必须动刀。

2.1 为什么把数据总线加宽到 80/64 并行

最直接的一刀是总线宽度。波特率翻倍,如果并行度不变,数字时钟频率就得跟着翻,DSP 和 FFE 根本跑不动。这套设计让接收侧一次处理 80 个采样、发射侧一次处理 64 个符号,把 DSP 时钟压到 1.4 GHz、FFE 时钟压到 1.75 GHz。这个数字不是拍脑袋来的:112 GBd 除以 80 正好落在 1.4 GHz 附近,既留了时序余量,又不至于让总线宽到布线爆炸。

// 接收侧并行度参数化示例(示意,非原文代码) localparam RX_PARALLEL = 80; // 每时钟周期处理的 ADC 采样数 localparam TX_PARALLEL = 64; // 每时钟周期处理的 PAM-4 符号数 localparam DSP_CLK_HZ = 1.4e9; localparam FFE_CLK_HZ = 1.75e9; // 校验:112 GBd / 80 ≈ 1.4 GHz,112 GBd / 64 = 1.75 GHz

参数说明:RX_PARALLEL和TX_PARALLEL决定了数字域的时钟上限,改小会让时序收敛变难,改大则总线资源和布线压力上升。我一般会先把目标时钟定在工艺能稳定收敛的区间,再反推并行度,而不是先定并行度再硬压时钟。

2.2 1/8 速率时钟带来的相位难题

第二个关键决策是时钟频率。半速率、四分之一速率在 112 Gb/s 时代都用过,但这套 224 Gb/s 架构选了 1/8 速率,把 CMU 时钟限制在 14 GHz。好处很实在:可以用全 CMOS 风格、无电感的时钟生成与分布,省掉大电感占的面积,也避开 3 nm 节点上电感的品质因数难题。代价是要生成八相高精度收、发时钟,这个矛盾交给时钟调理单元(CCU)去解,第 3 章展开。

2.3 四个通道共享 CMU 的取舍

共享 CMU 意味着四个通道的时钟同源,抖动特性一致,面积也省。但共享也带来耦合风险:任一通道的电源噪声都可能通过 CMU 串到其他通道。通常的做法是给 CMU 单独做电源域和去耦,CCU 内部再对时钟路径做稳压,这一点在第 5 章的避坑里会重点说。整体上,这套“四通道 + 共享 CMU + 1/8 速率”的骨架,是后面所有模块设计的约束条件,先记住这三个数字:80/64 并行、14 GHz、八相。

3. 时钟系统设计:全数字 PLL 与八相时钟调理的落地方法

224 Gb/s 对时钟的要求可以用一句话概括:抖动要小到不吃掉 ADC 的有效位数,相位要准到不引入采样误差。这套方案把时钟拆成两块——CMU 里的全数字 bang-bang PLL 负责“生”出干净的 14 GHz 时钟,CCU 负责把它“调理”成八相高精度时钟。

3.1 双振荡器覆盖一个八度音程

CMU 输出时钟要覆盖 7–14 GHz 整个八度,同时抖动要压在 100 fs 以内,才能满足 ADC 有效位数和发射随机抖动的要求。高 Q 值 LC 振荡器抖动好,但调谐范围窄,这两个需求天然打架。方案的做法是放两个振荡器,一个中心频率 12.7 GHz,一个 10.4 GHz,各只需 ±10% 调谐范围,配合可选的 1.5 分频就能覆盖全频段。锁定过程中选合适的那个,另一个关掉。

# 双振荡器选型逻辑(示意) osc_centers = {"OSC_H": 12.7e9, "OSC_L": 10.4e9} target = 14e9 # 目标 CMU 频率上限 tune_range = 0.10 for name, fc in osc_centers.items(): lo, hi = fc * (1 - tune_range), fc * (1 + tune_range) if lo <= target <= hi or lo <= target / 1.5 <= hi: print(f"选用 {name},覆盖 {lo/1e9:.1f}–{hi/1e9:.1f} GHz")

这段逻辑说明选型不是看谁频率高,而是看目标频率是否落在“振荡器频率或其 1.5 分频”的可调窗口内。实际锁定流程里还要比较两个振荡器的锁定质量,选抖动更优的那个。

3.2 数字 PLL 为什么比模拟 PLL 更稳

3 nm 节点上晶体管的闪烁噪声和热噪声水平偏高,模拟 PLL 的电荷泵和环路滤波器会把这些问题放大。全数字 PLL 用数字环路滤波器(DLF)控制振荡器频率控制字,DCO 分辨率做到 0.5 MHz/LSB,量化抖动比模拟 PLL 的电荷泵加环路滤波器贡献还小,净抖动反而更低。DLF 还配合二阶 sigma-delta 调制器细化 DCO 分辨率,预分频器按 4 或 5 分频给调制器提供时钟。

# 数字 PLL 关键参数检查清单(示意) # DCO 分辨率 : 0.5 MHz/LSB # 环路滤波器 : 数字二阶,含 sigma-delta 细化 # 预分频比 : 4 或 5(双模) # 漂移校正环 : 650 MHz 范围,低带宽 # 温度范围 : -40 ~ +125 摄氏度 # 抖动变化 : 全温范围内 rms 抖动变化 < 15%

参数说明:漂移校正环持续监测频偏并把 DCO 频率拉回中心,保证全温范围内 PLL 不失锁;它的带宽很低,所以不会干扰主环路的抖动特性。这里有个血泪经验——DCO 分辨率不够时,sigma-delta 的量化噪声会直接体现在输出抖动上,仿真阶段一定要把分辨率扫一遍。

3.3 CCU 如何把 14 GHz 变成八相 25 fs 精度

接收 CCU 用多级八级环形振荡器(ILO)注入锁定到相位旋转器(PR)的输出,PR 在相邻两相 45° 时钟之间做 7 位插值,实现 1/128 UI 的连续相位移动,支撑时钟数据恢复。但基础结构的相位误差太大,方案加了三层修正:第一,用 11 位 DAC 调 ILO 供电电压,锁定前先让自由振荡频率对齐注入频率,减小注入锁定带来的时钟偏斜;第二,用相位移动缓冲器对每一相的正负边沿单独调,分辨率 25 fs,总调节范围约 10 ps;第三,用时间数字转换器(TDC)在时钟链多个位置测边沿时间差,固件里的伺服环读 24 位 TDC 结果,反过来调 11 位 DAC。

// 相位移动缓冲器控制字示意 // 每相独立:正边沿码 + 负边沿码,各 11 位 DAC reg [10:0] edge_pos_code [0:7]; // 正边沿微调,25 fs/LSB reg [10:0] edge_neg_code [0:7]; // 负边沿微调,25 fs/LSB // TDC 输出 24 位,固件伺服环周期性更新上述码字

这段控制字结构的关键在于“每相独立”和“正负边沿分开调”,因为布局失配和器件随机失配造成的残余偏斜是逐相不同的,统一调解决不了。发射 CCU 结构相同,但去掉了 PR 和第二个 ILO,八相时钟直接送 DAC,由 DAC 对正负边沿独立控制。整个时钟链还要做稳压,否则电源噪声会把抖动性能吃掉——这是后面避坑章节的一条。

4. 接收链路实现:AFE、7 位时间交织 ADC 与 MLSD 的协同

接收侧是这套方案里最能体现“模拟+数字协同”的部分。信号从 95 Ω 宽带端接进来,先经两级连续时间线性均衡(CTLE)部分抵消长距通道的码间干扰,再进 7 位时间交织 ADC,最后交给 DSP 做均衡和判决。

4.1 反相器基 AFE 的 20 dB 峰值增益

AFE 用反相器结构做模拟前端,提供 20 dB 峰值增益。选反相器而不是传统差分放大器,是因为在 3 nm 上反相器的跨导效率和带宽都更划算,56 GHz 以上的模拟带宽要求逼着前端必须轻量化。两级 CTLE 把通道损耗先压一部分,这样 ADC 只需要 7 位分辨率就能恢复信号,DSP 复杂度也跟着降。CTLE 的峰值增益和零点位置要跟通道插损曲线对齐,40 dB 插损通道下通常把峰值放在奈奎斯特频率附近。

# CTLE 峰值增益与通道插损的粗略匹配(示意) channel_loss_db = 40 # 目标通道插损 ctle_peaking_db = 20 # AFE 峰值增益 adc_enob_bits = 7 # ADC 有效位数 # 剩余损耗由 DSP 的 FFE/DFE/MLSD 承担 residual_db = channel_loss_db - ctle_peaking_db print(f"留给 DSP 的等效损耗约 {residual_db} dB")

参数说明:ctle_peaking_db不是越大越好,峰值过高会把高频噪声一起抬起来,反而恶化 ADC 输入信噪比。我一般会先扫峰值增益和零点频率两个维度,看误码率曲线的“瀑布”位置再定。

4.2 7 位时间交织 ADC 与 VGA 的配合

ADC 是 7 位时间交织结构,原生工作在八相 1/8 速率时钟上,正好和 CCU 的八相输出对接。为了用满 ADC 分辨率,前面加了一级宽带可编程增益放大器(VGA),把信号摆幅调到 ADC 满量程附近。时间交织结构的老问题是通道间失配——增益失配、时序失配、偏置失配都会在频谱上产生杂散,通常的做法是在数字域做后台校准,把失配杂散压到噪声底以下。

// 时间交织 ADC 失配校准寄存器(示意) reg [7:0] gain_cal [0:7]; // 8 个子 ADC 增益校准 reg [7:0] skew_cal [0:7]; // 8 个子 ADC 采样时刻校准 reg [7:0] offset_cal[0:7]; // 8 个子 ADC 偏置校准 // 后台校准引擎周期性更新,校准期间不影响正常采样

这三个校准维度里,时序失配最要命,因为它直接等效成采样抖动,和时钟抖动叠加。校准精度要求通常做到亚皮秒级,否则高频输入下的杂散会顶上来。

4.3 DFE 加 MLSD 为什么是高损耗通道的必需品

40 dB 插损通道下,单靠 FFE 和 DFE 已经不够。DFE 能消掉后游标干扰,但对深衰落和长尾干扰无能为力,所以 DSP 里嵌了最大似然序列检测(MLSD)。MLSD 用维特比类算法在序列层面做判决,把 DFE 残留的误差传播问题也一并缓解。代价是计算量和延迟,所以它通常配置成可开关:低损耗通道只开 DFE 省功耗,高损耗通道再开 MLSD。

# MLSD 状态数与时延的权衡(示意) def mlsd_states(taps, levels=4): # PAM-4 下每 tap 4 种电平,状态数随 tap 数指数增长 return levels ** taps for t in (1, 2, 3): print(f"{t} tap MLSD -> {mlsd_states(t)} 状态")

状态数直接决定功耗和面积,实际方案里一般控制在可实现的范围内,配合 DFE 预消除一部分干扰来降低 MLSD 的 tap 数。这个“DFE 先削、MLSD 再判”的分工,是 224 Gb/s 长距接收能守住 1e-6 误码率的关键。

5. 发射链路与常见问题排查:1/8 速率数据复用器和五条翻车点

发射侧的核心矛盾是:DAC 只有 1/8 速率时钟可用,却要输出 112 GBd 的波特率信号。传统发射 DAC 靠两相或四相时钟,这套方案必须用八相,于是数据复用器的结构要重新设计。

5.1 波特率数据复用器的八相拼接

发射链路先把二进制数据转成 PAM-4 电平,经数字 FFE 滤波,再串行化。新的复用器在 1/8 速率时钟下工作,用八相时钟把 8 路并行符号拼成一个波特率符号流,送进 7 位电流舵 DAC。DAC 对正负时钟边沿独立控制,配合 CCU 的 25 fs 精度相位移动缓冲器,把输出眼图的水平张开度做出来。发射随机抖动做到 55 fs rms、确定性抖动 170 fs,这个指标是靠时钟路径和 DAC 边沿控制一起保出来的。

// 1/8 速率到波特率的 8:1 复用(示意) // clk_ph[0..7] 为 CCU 输出的八相 14 GHz 时钟 always @(posedge clk_ph[0]) begin mux_out <= {sym[7], sym[6], sym[5], sym[4], sym[3], sym[2], sym[1], sym[0]}; end // 实际实现按相位依次选通,DAC 在波特率上采样

这段示意只表达“八相依次选通”的思路,真实电路里每个相位对应一个子 DAC 支路,边沿对齐靠相位移动缓冲器校准。参数上要盯住两点:八相之间的偏斜和 DAC 支路的增益匹配,前者恶化确定性抖动,后者恶化垂直眼高。

5.2 常见问题排查:五条最容易翻车的点

现象一:全温范围内误码率在高温端突然抬升。原因多半是漂移校正环带宽设得太高,把主环路带偏,或者 DCO 调谐余量在温度极端点不够。解决是把漂移环带宽压低到 650 MHz 量级以下,锁定前先做全温 DCO 调谐范围扫描,确认 -40 到 +125 摄氏度都在范围内。

现象二:时间交织 ADC 输出频谱出现固定杂散。原因是八个子 ADC 的时序失配没校准到位,等效成周期性采样抖动。解决是打开后台时序校准,把 skew 校准精度做到亚皮秒,同时检查八相时钟本身的偏斜是否已经用相位移动缓冲器压到 25 fs 以内。

现象三:注入锁定后时钟相位整体偏移。原因是 ILO 自由振荡频率和注入频率没对齐,注入锁定只锁两相,其余相被“拉”偏。解决是锁定前用频率计数器比较频率,调 ILO 供电电压直到两者相等,这一步不做,后面相位移动缓冲器的调节范围可能不够用。

现象四:电源噪声导致抖动指标在板级测试时变差。原因是 CMOS 时钟链每一级缓冲都把热噪声转成平坦相位噪声,电源噪声直接调制延时。解决是给整个 CMOS 时钟路径做稳压,CMU 单独电源域加去耦,测试时对比稳压前后相位噪声曲线确认。

现象五:MLSD 开启后功耗超预算。原因是状态数或 tap 数配置过高,或者 DFE 预消除不足导致 MLSD 负担过重。解决是先优化 DFE 系数把残留干扰压下去,再按通道插损分档配置 MLSD 规模,低损耗场景直接旁路。

6. 验收与答辩:怎么用测试芯片数据证明这套方案站得住

方案交上去,评审或导师第一句往往问“你怎么证明它行”。这套设计的验收逻辑要围绕三个硬指标组织:1e-6 误码率、3 pJ/bit 模拟能效、40 dB 插损通道,外加面积 0.5 mm² 每通道。答辩时不要一上来堆架构图,先把测试条件和指标口径讲清楚,再逐项给证据。

验收项测试条件合格判据证据形式
误码率40 dB 插损通道,224 Gb/s PAM-4≤ 1e-6误码率瀑布曲线
模拟能效典型电压、室温≤ 3 pJ/bit功耗分解表
发射抖动八相时钟全开RJ 55 fs rms,DJ 170 fs抖动分离报告
时钟抖动CMU 输出rms ≤ 100 fs相位噪声曲线
面积单通道0.5 mm²版图标注
温度-40 ~ +125 摄氏度全温锁定,抖动变化 < 15%温箱扫描数据

表格里每一项都要能追到具体测试点。误码率曲线重点讲“瀑布”位置和斜率,斜率反映的是噪声主导还是确定性干扰主导;能效要拆成接收、发射、时钟三块,说明 3 pJ/bit 是模拟部分口径,数字 DSP 怎么算要提前统一,否则答辩现场容易被追问口径不一致。抖动报告要把随机和确定性分开,因为两者的改善手段完全不同。

答辩技巧上,我一般建议准备一页“失败模式对照表”:把第 5 章那五条翻车点对应的现象、根因、解决措施列出来,评审问“如果指标不达标怎么办”时直接翻这页。这比临场解释有说服力得多,也显得你真的跑过完整流程。还有一个细节——测试芯片的测量结果和仿真对不上是常态,提前准备仿真与实测的偏差分析,说明哪些偏差来自模型、哪些来自测试夹具,比硬说“仿真很准”可信。

从那以后我每次带这类高速链路方案,都强制先走一遍“指标口径—测试条件—证据形式”三列对齐,再动笔写架构章节,因为口径不统一,后面写得再漂亮验收时也会被打回来。希望这套结构能帮到你,照着填自己的通道参数和工艺节点,就是一份能交、能讲、能复现的完整方案。

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

返回列表