ARTICLE · INTELLIGENCE

战地情报 · 详情页

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

56G PAM4 SerDes RX的LC-DCO设计:从选型到版图的工程复盘

56G PAM4 SerDes RX的LC-DCO设计:从选型到版图的工程复盘

56G PAM4 SerDes RX 的 LC-DCO 设计,是我去年项目里最头疼的一块。CDR(时钟数据恢复)是高速 SerDes 接收端的命脉,而 DCO(数字控制振荡器)又是 CDR 环路的执行核心。到了 56G PAM4 这条速率线上,NRZ 时代那种“环形振荡器凑合着用”的做法已经顶不住了,LC-DCO 几乎是必然选择。这篇是我从架构选型到版图落地、再到测试收尾的全过程复盘,重点讲清楚每一步背后的工程权衡,适合正在做高速 SerDes 或打算入门高速模拟/混合信号设计的同学参考。

1. 56G PAM4这条链路,为什么必须锁死时钟

1.1 从NRZ到PAM4:电平空间压缩带来的采样裕量变化

先算一笔基础账。56G SerDes 的电气速率是 28 GBaud,用 PAM4 调制后每个符号携带 2 bit。跟 NRZ 相比,同样的 56Gbps 下符号率减半,UI(单位间隔)从 17.86ps 放宽到 35.7ps,这对信道损耗和时序收敛都有好处。但代价是电平数量翻倍,四个电平之间的电压间距压缩到满摆幅的三分之一。

这意味着什么?接收端均衡之后,残留的 ISI、串扰、反射都会变成电压噪声。本来 NRZ 阶段 1UI 内能有 80% 的开眼高度,到 PAM4 直接砍到不到 27%。采样时钟只要偏移一点,电平判决的犯错概率就会迅速抬升。也就是说,PAM4 系统把相当一部分“容错余量”从电压域转移到了时序域——时钟的抖动、相位噪声,直接决定眼图的垂直张开度和误码率。

1.2 CDR计时误差如何变成眼图和误码率损失

很多人容易忽略一个细节:CDR 的作用不只是从数据里“提取时钟”,它本质上是一个连续跟踪数据相位漂移的闭环系统。每个时刻,CDR 都要判断当前采样点是否落在符号中心,并把误差反馈给 DCO 去调整本地时钟的相位。

对于 56G PAM4 接收机,CDR 的相位误差会沿着两条路径吃掉裕量:一条是采样相位偏移导致信号幅度采样值偏离理想电平中心,等效于眼高损失;另一条是 DCO 本身的随机抖动叠加在采样时刻上,等效于眼宽损失。眼高、眼宽双双缩水,最终体现为浴盆曲线闭合速度加快,误码率变差。

所以设计目标非常直接:DCO 必须在满足调谐范围和锁定速度的同时,把相位噪声压到足够低。LC-DCO 之所以在这个场景取代环形振荡器,核心原因就是它在相位噪声和功耗效率之间能做到更好的折中。

2. DCO该用环形振荡器还是LC:先算账再选型

2.1 两种架构的相噪特性和功耗差异

环形振荡器(ring DCO)的优势是面积小、调谐范围大、版图简单,几个反相器级联就能出多相时钟。但它有个先天短板:没有高品质因数的谐振器件,相位噪声完全依赖“暴力”压低噪声系数和加大电流来改善。到了十几吉赫兹的振荡频率,环形振荡器的相位噪声典型值比同功耗的 LC-DCO 差 15~20 dB。

LC-DCO 则完全不同,它的频率由电感电容谐振腔决定,谐振回路的 Q 值能提供天然的选频和滤波作用。相位噪声公式里的 Q 是平方项,Q 从 3 提到 15,相同偏移频率下的噪声功率能改善约 14 dB。这个差距在 56G PAM4 的 CDR 抖动预算里是决定生死级别的。

2.2 为什么半速率架构下LC优势更大

实际的 56G PAM4 RX CDR,很少有人做全速率 28GHz 时钟。原因很现实:28GHz DCO 的功耗、版图寄生、分频器压力都不好处理,而半速率架构只需要 14GHz 左右的本地时钟,用上升沿和下降沿分别采样奇偶符号,再配合半速率判决电路,完全能把 CDR 功能跑起来。VCO 频率减半以后,LC 谐振腔的电感、电容尺寸更从容,Q 值也可以做得更高。

我对比过两种方案:

指标环形DCO(14GHz半速率)LC-DCO(14GHz半速率)
相位噪声@1MHz约-90~-95 dBc/Hz约-110~-115 dBc/Hz
积分抖动(10kHz~100MHz)1.5~2.5ps rms0.3~0.8ps rms
调谐范围全工艺角可达30%以上一般设计15%~20%
面积很小需要电感,约0.04~0.08mm²
功耗通常较低电流受负阻裕量限制,略高

同样功耗下,LC-DCO 的积分抖动优势远远超过环形振荡器。56G PAM4 接收机里 CDR 时钟 rms 抖动通常要控制在几百飞秒级别,环形振荡器很难够到这个目标。所以结论不是“LC 更好看”,而是“这条速率下被指标逼着必须用 LC”。

3. LC-DCO核心设计:谐振腔、负阻管和可变电容的配合

3.1 起振条件和负阻管尺寸第一轮估算

LC-DCO 的起振本质是负阻补偿正阻损耗。谐振腔里有电感串联电阻、电容寄生电阻、交叉耦合管本身的损耗,全部折算成并联等效电阻 Rp。为了让振荡维持,交叉耦合对必须提供一个数值上大于 Rp 的负阻。

工程上负阻管的跨导需要满足:

gm > 3 / Rp

为什么取 3 倍?这是经验可靠性系数。PVT 变化、电感的等效 Q 在不同频率下的波动、额外寄生带来的损耗,都会吃掉一部分裕量。按 1 倍设计,可能在低温慢工艺角直接不振;按 3 倍设计,既保证全工艺角启动,又不至于电流浪费太多。

举个例子:14GHz 设计,电感选 300pH,Q 值取 18,那么 ωL ≈ 26.4Ω,Rp = Q·ωL ≈ 475Ω。负阻管需要的 gm 至少约 6.3mA/V,考虑裕量后取 12~15mA/V。对应 NMOS 的尺寸,大概在几十微米量级,电流大概 4~8mA。这轮估算直接决定功耗和版图面积,不能拍脑袋。

3.2 可变电容的选择与调谐曲线线性化

LC-DCO 里可变电容有两个任务:一是提供连续的细调能力,二是配合粗调开关电容阵列完成全频段覆盖。我常用的选择是 AMOS(accumulation-mode MOS)可变电容,它的特点是 C-V 曲线相对单调、Q 值高,在射频下寄生小。

但 AMOS 也有坑:C-V 曲线在大电压摆幅下会呈现明显的非线性,特别是振荡器输出摆幅接近电源电压时,可变电容会在一个周期内扫过好几个工作区,等效电容值出现“被拉偏”的问题。缓解办法有两个:

  • 把可变电容拆成多个并联小单元,用数字码字微调偏置电压,避免单管工作在强非线性区;
  • 限制振荡器摆幅,让交叉耦合管的电流不要给太足,让输出摆幅控制在电源电压的 60%~70%。

细调路径上,我会再叠加一个电阻分压网络或小 DAC,给可变电容的背栅提供一个可控的模拟电压,实现“数字粗调 + 模拟精调”的组合。这个两级结构在后面调谐范围和 Kvco 一致性上会省很多事。

3.3 粗调/细调架构和频段覆盖规划

频率覆盖规划直接决定工艺角下的良率。假设半速率时钟中心点是 14.28GHz(28GBaud 的一半),覆盖 ±15%,再留一点温度和老化的余量,设计目标定在 14.0~16.5GHz 比较稳妥。这个范围靠纯可变电容是不现实的,因为连续调谐电容范围太大会把 Kvco 做得很大,相噪恶化。所以必须上开关电容阵列。

我习惯把粗调阵列设计成 4~5 bit,低位的权重尽量小,保证和细调可变电容的覆盖范围重叠。设计时的关键参数是“细调总范围 ≥ 粗调最低位步长”,否则频率锁定会出现空洞——某个粗调档位下,细调拉不到覆盖重叠区,CDR 就会锁不住或者跳档。

粗调电容的 Q 值也要注意。开关管导通电阻会串到谐振腔里,降低等效 Q,从而恶化相位噪声。所以开关管要尽量大、导通电阻要尽量低,但开关管的寄生电容又会成为额外负载,这是个反复迭代的权衡。经验值是开关管宽长比选到让导通电阻 < 电容阻抗的 1/5 左右,比较合理。

4. 数字调谐方案的细节:码字精度、Kvco变化和温度漂移

4.1 二进制权重与实际寄生带来的非线性问题

很多人以为二进制权重电容阵列只要画成 1:2:4:8 就万事大吉。实际上版图的寄生会让高位电容的有效系数偏离理想值,尤其是靠近谐振腔的位置,连线电感、开关管源漏电容都会叠加到总电容上。极端情况下,码字从 0111 切到 1000,频率不是单调跳变,而是出现倒挂。

解决这一问题的工程方案有两个方向。一是设计时就把版图寄生提取放进前仿,用 EM 提取的电感模型和后仿寄生电容重新标定每位的权重;二是在版图上把开关电容阵列拆成“温度计码”结构,把二进制的高几位转成温度计码,用单元一致性换取单调性。温度计码的缺点是控制线数量变多,但 DCO 控制线不大,面积成本完全可接受。

4.2 码字抖动与相位噪声之间的折中

DCO 是数字控制,频率分辨率必然有限。量化步长会导致两个问题:一是频率误差在 CDR 环路带宽内形成静态相位误差;二是数字码字的随机扰动会调频,等效成相位噪声。环路带宽越宽,量化噪声越容易被压低,但带宽一宽,又会让 DCO 的低频相位噪声直接进入输出,抵消 LC 的相噪优势。

所以正确做法是:粗调档位用大的 Kvco 快速锁定,细调档位用很小的 Kvco 维持低噪声。CDR 锁定以后,积分路径积累的码字变化是缓慢的,DCO 输出频率实际处于“微调”状态,只有这时候的相噪才决定抖动指标。设计时要把细调的 Kvco 做到几十到一百多 MHz/V 量级,而不是一味求大。

温度漂移是最容易被低估的。LC 谐振腔的金属电感和 MOS 电容都有温度系数,温度从 -40℃ 跑到 125℃,频率漂移可能超过 1%。这个量级远大于细调范围。因此,CDR 必须加后台频率校准(FLL)或者周期性的频偏检测,否则长时间运行后码字会被推离初锁点,抖动恶化。工程上常见的做法是跑一个慢速频差检测器,周期性地做“再对齐”,相当于给 DCO 换档。

5. 相位噪声预算:从BER需求反推DCO指标

5.1 一个例子:28 GBaud 1UI的抖动分配

先用简单的数字建立概念。28 GBaud 的 UI 是 35.7ps。在 PAM4 系统里,CDR 时钟的随机抖动一般要控制在总时序预算的很小比例。假设接收端总抖动预算 0.25 UI(8.9ps),其中包括发射机抖动、信道串扰、均衡器残余、CDR 跟踪误差和 DCO 本身抖动。分给 DCO 积分相位噪声的部分,我通常留 0.5~1ps rms 以内。

这个数值看起来只占 UI 的百分之一点几,是不是很宽?不能这么理解。PAM4 是垂直方向切出来的三个眼,每个眼高度只有原先的三分之一,任何采样点偏移都直接叠加到电压阈值裕量上。真正能在链路仿真里跑通 BER 的 DCO,积分抖动往往要求做到 500fs 以下。对于 14GHz 的 LC-DCO,这意味着 10kHz 到 100MHz 积分频带内的相位噪声平方和要足够小。

5.2 Leeson公式与相噪目标验证

Leeson 模型是设计初期的快速估算工具:

L(Δω) = 10·log10( (2·F·k·T / Ps) · (ω0 / (2·Q·Δω))² )

代入典型值:f0=14GHz,Q=15,信号功率 Ps=2mW,噪声系数 F=6dB,1MHz 偏移处算下来大约是 -112~-115 dBc/Hz。这个数量级是可实现的,但前提是谐振腔 Q 值不能掉,负阻管的闪烁噪声 corner 不能太高。

闪烁噪声是 LC-DCO 的隐性杀手。1/f 噪声通过交叉耦合管上变频到载波附近,导致低频偏移处的相位噪声快速抬升。改善策略包括:增大管子面积降低 1/f 噪声、用尾电流滤波减小共模扰动、优化负阻管的工作点把闪烁噪声 corner 压到几百 kHz 量级。仿真时不能只看 1MHz 单点相噪,要看完整个积分带宽内的 RMS 抖动。

6. 锁定与校准策略:从粗调到CDR接管全流程

6.1 频率校准:二分搜索

启动阶段,DCO 频率可能离目标符号率偏差好几个百分点,直接靠 CDR 环路去拉会拉得很慢甚至失锁。所以第一步是频率粗校准,用 FLL 结构锁定到目标频率。

标准的二分搜索流程大致是这样:

  1. 设定目标频率,初始化粗调码字为中间值;
  2. 用片内计数器或者频率比较器测量 DCO 实际频率与目标的偏差方向;
  3. 根据偏差方向更新粗调码字(偏高则减电容,偏低则加电容);
  4. 重复上一步,直到粗调码字收敛到目标附近。

4~5 bit 的粗调阵列,整个校准过程只需要十几个周期,微秒级别就能完成。校准完成后,FLL 可以关断,把控制权交给 CDR 的相位跟踪环路。

这里有个细节:粗调档位切换的瞬间,DCO 输出会有明显的相位跳变。如果 CDR 还没接管,这个跳变无所谓;如果已经接管了,就不能再跳档。所以工程上要做“校准完成后禁止粗调码字变化”,把粗调卡死,只允许细调码字活动。等到温度漂移超限,再由后台校准重新触发整个流程。

6.2 CDR环路参数与DCO控制码字的关系

CDR 正常工作后,环路里通常是个 bang-bang 型相位检测器加数字环路滤波器。比例路径对高频相位误差做快速反应,积分路径负责累积频率偏置。DCO 的控制码字就来自这两条路径的叠加。

环路带宽的选择要和 DCO 相噪曲线联合考虑。带宽太窄,CDR 跟不上数据的低频抖动,误码率变差;带宽太宽,DCO 本身的相位噪声没有被充分抑制。56G PAM4 RX 里,CDR 环路带宽一般在几百 kHz 到几 MHz 量级。设计数字滤波器的系数时,要让积分路径的增益对应 DCO 的 Kvco,换算成等效的压控增益,保证闭环稳定。

另一个容易踩的坑是 DCO 最小步长对应的频率分辨率。如果最小步长太大,CDR 锁定后会产生极限环抖动,等效为周期性相位噪声。解决手段是加一阶的 Σ-Δ 抖动(dithering),把量化噪声搬移到高频,再靠后续电路滤掉。我的习惯是先仿真对比加与不加 dithering 的抖动差异,再决定是否真的要上,因为 dither 本身也可能引入杂散。

7. 版图落地与实测经验

7.1 版图里最容易被忽视的几处

LC-DCO 的版图直接决定最终相噪。核心原则是“谐振腔周围不允许有不对称的金属”。

电感正下方的硅衬底要挖掉或者做屏蔽,否则磁场穿透衬底会严重降 Q;电感周围要留出足够的“净空区”,任何其他金属走线靠近它都会耦合寄生或形成涡流。交叉耦合对的版图必须严格对称,源漏走线长度一致,连到负阻管的每一根支线的寄生电容都要在两个支路上保持对等。

开关电容阵列的摆放也有讲究。粗调电容的码线要远离谐振腔,避免开关切换的数字噪声耦合到振荡器输出。码线上可以加 RC 低通,或者在版图上做隔离槽。电源去耦是另一个重点:DCO 的电流动态变化会通过电源走线串扰到输出,必须放足够的片内去耦电容,并且用单独的电源域跟数字电路隔离。

还有一个经验是复位时序。DCO 的偏置电流源单独做一路,加电顺序要先偏置后使能振荡器,否则输出波形可能从错误的初始状态起振,导致起振时间过长或者卡在亚稳态。仿真里可能看不出差别,实测时起振慢会直接影响 CDR 锁定速度。

7.2 测试验证:从裸DCO到闭环CDR

芯片回来以后,我先测开环状态:把 DCO 配置成自由振荡模式,用频谱仪看输出频率和相位噪声。这一步能把 DCO 本身的问题和 CDR 环路问题剥离开。相位噪声曲线的形状很有信息量——低频段抬升说明闪烁噪声上变频严重,近载波处的尖峰说明有电源噪声耦合,整体基底高说明 Q 值或负阻裕量有问题。

开环确认没问题之后,再进闭环 CDR 测试。用误码仪灌入 56G PAM4 信号,观察锁定后的眼图和浴盆曲线。测量 TIE jitter(时间间隔误差)的 rms 值,跟仿真结果对比。

实测里最容易出现的一个现象是:仿真里相噪很好,实测积下来差很多。追查下来大部分是电源噪声和衬底噪声的问题,少数是电感 Q 值被周边金属走线降掉了。处理方式是电源路径上加低通滤波,必要时重新改版图,把谐振腔附近的敏感走线全部清理干净。这些优化反而是流片之后最能体现功力的环节。

收尾的一点个人体会

做了好几轮高速 SerDes 的 CDR 之后,我发现 LC-DCO 设计的最大难度其实不在某一个具体环节,而在所有环节之间的耦合:调谐范围影响 Kvco,Kvco 影响环路带宽,环路带宽又反向对相噪提出要求;版图寄生改变有效电感值,最终又推着你去改粗调阵列的权重。整个设计像在做一个多维度的平衡,任何一个方向“做到极致”都可能把另一个指标拖垮。所以我的建议是,先尽快把闭环模型跑起来,哪怕初版参数拍得粗糙一点,也比在单个电路上死磕划算。有了好的行为级模型,DCO 的指标才能被真正量化,后面的电路实现就会明确得多。

RELATED READING

延伸阅读

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