56G PAM4 SerDes接收机LC-DCO设计:从谐振腔到实测经验 做高速SerDes的同行应该都清楚RX端的LC-DCO是整个时钟恢复链路里最“硬核”的一环。56G PAM4这种速率下NRZ时代那套“锁个频、凑合用”的思路已经完全行不通了接收机对本地振荡器相位噪声、调谐精度和电源扰动的容忍度被压到了极窄的范围内。这个设计看起来只是“一个电感、一串电容、一个负阻管”的组合但真正落地的时候从谐振腔建模到变容管线性度再到校准流程和眼图测试每一步都有能让人折腾几个月的细节。这篇内容主要就是围绕56G PAM4 SerDes RX里的LC-DCO设计把架构取舍、核心模块拆解、仿真验证方法、版图和实测工程经验一次讲透适合做高速接口电路设计的工程师、刚切入SerDes方向的研究生以及对PAM4时钟链路感兴趣的朋友参考。PAM4是从幅度维度硬生生塞进两倍信息量而RX端眼图本身就只有NRZ的三分之一高度。时钟恢复路径上哪怕多出几百飞秒的确定性抖动吃掉的可能就是本就所剩无几的眼高和眼宽裕量。因此LC-DCO不是“想用哪种振荡器就用哪种”而是PAM4信噪比倒逼下的必然选择。这篇内容我会尽量把设计逻辑讲得直白一些重点是那些仿真报告里不容易看到、但实测一定会踩中的工程经验。1. 为什么56G PAM4接收机偏偏要用LC-DCO先解决最基本的问题为什么能在工艺库里方便集成的环形振荡器在56G PAM4的RX端不被优先考虑以前我做25G NRZ接收机时Ring-DCO其实很常见面积小、调谐范围宽、起振快配合版图上的多层金属走线抖动也够用。但到了28GBaud的PAM4情况变了。1.1 PAM4对时钟链路的要求比NRZ苛刻在哪里PAM4用四个电平在两个UI内传输2bit信息同样的符号率下每个电平的电压窗口只有NRZ的三分之一。更关键的是PAM4的判决电平是三个阈值采样时刻附近任何一点偏差都会同时影响三个判决窗口。这就意味着从定时误差到幅度误差的转换更加直接时钟抖动带来的BER劣化比NRZ明显得多。实际做预算的时候56G PAM4的波特率是28GBaudUI大约35.7ps但PAM4的有效电压幅度只有NRZ的1/3如果峰值幅度相同。假设我们要把BER压在1e-6以下配合RS-FEC留给定时抖动的预算往往只有0.2到0.4UI换算成时间就是7到14ps。这个数字看起来不小但它覆盖了发射机抖动、信道码间干扰引起的抖动、接收机CDR恢复时钟的抖动以及采样判决的不确定性。在实际链路里CDR时钟贡献的RMS抖动通常被要求在几百飞秒级别才能保证后续链路预算不爆炸。环形振荡器在28GHz附近能做到的相位噪声典型值比同等功耗的LC振荡器差10到20dB以上。对宽带CDR来说高频带外相位噪声虽然被环路滤掉一部分但带内的近载波噪声直接进入采样时钟最终表现为采样时刻的随机位移。PAM4这种多电平幅度调制对均匀间隔采样的要求太高了噪声尾巴稍微拖长一点眼图闭合速度就会超出预期。实测下来同一颗测试芯片上把RX本振从LC换成像样的低噪声环振在不改均衡器的情况下RX端眼图张开度往往会有明显劣化。LC-DCO在这里不是炫技是保底方案。1.2 LC-DCO与Ring-DCO的核心指标对比很多刚接触这个领域的朋友会问LC振荡器也就一个电感加一个变容管凭什么那么神其实关键在谐振腔的品质因数。LC谐振腔的Q值在毫米波工艺下能做到20到30而环形振荡器的等效Q值一般都低于5。在振荡器理论里相位噪声与Q值的平方成反比关系这一个数字就决定了近载波噪声的底子。对比项LC-DCORing-DCO相位噪声好Q值高差Q值低调谐范围窄一般10%到20%宽可超50%功耗较高但可接受较低但高速时剧增面积大电感占大头小逻辑器件为主版图耦合对周围器件敏感相对容易布放设计难度高电磁建模复杂低数字风格明显LC-DCO最吃亏的点在于调谐范围。工艺角加温度变化时LC谐振频率的漂移如果超过调谐范围芯片就只能报废。所以LC-DCO一般都要搭配粗调开关电容阵列和细调变容管两级结构粗调负责PVT补偿细调负责PLL锁定后的精确调制。PAM4接收机对KVCO线性度要求也更高因为跨了多个频点如果细调增益变化太猛锁定后会出现本不该有的调制误差最终反映成周期性抖动。这些都是后文会细说的重点。1.3 LC-DCO在接收机里的实际位置从接收链路看RX信号先经过焊盘和ESD再进入AFE模拟前端通常包含TIA如果是光接口、连续时间线性均衡器CTLE、可变增益放大器VGA然后进入采样器。采样时钟由CDR提供而CDR的本地振荡器就是LC-DCO。简单说AFE把信号搬到采样器能处理的幅度和频率范围LC-DCO决定“什么时候去读这个电压”。PAM4的接收架构通常还有后半段的ADC或者基于模拟判决的采样器。不管是哪种采样时钟的边沿位置都直接决定了均衡后的最佳采样点是否落在眼图中央。CDR环路里LC-DCO相当于整个反馈系统的“油门”它按照鉴相器给出的误差方向不停微调自己的振荡频率让采样点在数据眼中心稳定下来。DCO频率精度不够环路就要花更长时间收敛DCO抖动大锁定后的采样点也在不停的轻微晃动。所以我跟同事交流时常说DCO是RX里“最沉默但最不能掉链子”的模块。2. LC-DCO核心模块拆解谐振腔、变容管与调谐策略这一段是LC-DCO设计的真正硬核区。很多入门同学觉得电感画一下、管子跨接上去就能振结果流片回来频率偏得一塌糊涂。原因基本都出在谐振腔的建模和调谐结构的设计上。2.1 谐振腔电感选型与Q值优化LC-DCO的谐振频率由电感L和总电容C决定。在28GHz附近单端电感的感值通常在100到300pH之间太大自谐振频率不够太小Q值和版图精度又很难控制。实际项目中我一般会先用电磁仿真工具对电感的s参数建模关注两个关键指标感值和Q值峰值频率。电感Q值在谐振频率附近必须尽可能高因为振荡器起振条件是环路增益大于1谐振腔损耗越大前端跨导管的功耗就要给得越多。提高Q值的最直接做法是选择顶层厚金属走线。我做过一个版本的测试同样的几何尺寸用顶层2.8um厚铝金属和用底层薄金属相比Q值从11升到了23左右。面积代价是绕线稍微大一点但振荡器功耗直接降了将近一半。还有一个容易被忽略的点是电感的周围地平面很多人喜欢在电感下方铺满金属网格做隔离结果涡流把Q值吃掉一大块。正确做法是保留地环但电感正下方的版图区域尽量掏空或者只做满足DRC要求的最少金属填充。这个细节我在两个项目里踩过同一条坑都是仿真时Q值漂亮提了寄生后Q值掉了30%。另一个决定谐振腔能否正常工作的因素是自谐振频率SRF。电感的物理尺寸决定了它本身就有分布电容SRF必须高于工作频率的2倍以上才足够“纯电感”。如果在56G PAM4的DCO里选了一款SRF只有35GHz的电感那28GHz工作频点下电感里面已经有明显的容性分量谐振腔等效L会缩水Kvco曲线也会扭曲给后面的调谐和校准带来一堆额外麻烦。所以选电感的第一件事并不是看它在目标频点的感量而是看SRF余量够不够。2.2 变容管与开关电容阵列粗调细调的分工协作LC-DCO要覆盖PVT变化必须有一个大的调谐范围但PAM4对相位噪声的要求又要求变容管的调制灵敏度不能太高否则控制字稍微抖一下频率就被调出去很远等效成额外抖动。这就有了粗调和细调两级结构。粗调用开关电容阵列本质就是一组可以用数字信号切入或切出的电容。每一个bit对应一个电容权值整组阵列做成二进制加权结构。实际设计中最关键的指标是单位电容的失配。28GHz频段下一个最小单位电容可能只有几个飞法版图上任意一段不期望的连线都可能是这个量级所以布局必须极其小心。我习惯的检查方法是跑完寄生提取后单独把开关管和连线寄生也算进来重新从HSPICE或Spectre里仿真整体谐振频率偏移。不要只相信理想电容阵列的仿真曲线。细调用变容管调节方式可以是模拟电压接环路滤波器输出或者多位数字控制。PAM4接收机里我更倾向于数字控制字加DAC的方案因为环路更可控也方便在芯片里做自适应校准。但数字控制细调会引入离散步距所以需要保证一个最小步对应的频率误差不会引起明显的输出边沿抖动。从经验看细调分辨率至少要达到DCO总输出抖动预算的1/5以下否则CDR锁定后相当于给数据加了量化噪声。变容管的C-V曲线线性度也是一个常被低估的问题。工艺库里给出的变容管模型在某些电压区间可能很弯导致KVCO随控制电压剧烈变化。锁相环的开环增益会随之变化环路带宽在不同频点上不一致结果就是某些信道频率下锁定时间变长甚至出现振荡。解决办法是并联不同尺寸的变容管组合或者对调谐曲线做分段线性补偿更省事的做法是尽量让工作点落在C-V曲线相对平直的区间并把细调范围控制在曲线线性最好的那段。2.3 电源敏感性与共模电压设计DCO的电源决定的不仅仅是管子有没有足够的电压摆幅更关键的是电源噪声会直接调制振荡频率。LC振荡器中电源—频率敏感性通常比环振低但也没有低到可以忽视。56G PAM4里CDR如果有几十mV的电源纹波叠加在DCO电源上产生的频率偏移积累起来就是一个可观的确定性抖动来源。解决办法是用独立的LDO域给DCO供电并且在版图上做足够厚的电源轨和充分的去耦电容。去耦电容放置的位置决定了它的实际效果。把去耦电容放在远离谐振腔的位置高频电源噪声根本来不及被吸收就进了振荡器管子的源漏端。我的做法是在DCO电源轨和地轨之间的所有可用金属层空隙全部填充MOS电容和MOM电容尽可能靠近跨导管和电感抽头。填充的时候要配合DRC和EMIR检查防止把电源压降做得太大。此外DCO的共模点通常需要接一个高阻网络偏置不能直接硬接固定电压否则工艺变化时起振条件会被推向临界。用电流镜提供偏置配合一个小的启动电阻是业内比较稳妥的做法。还有一个容易被忽略的点DCO的电源域和数字控制逻辑电源域要分开。粗调开关阵列的数字控制信号切换时会产生电源毛刺如果共享电源域每个控制字的变化都将耦合进振荡频率。我在一块芯片上吃过这种亏分开电源域之后调谐控制字切换导致的频率毛刺直接下降了约70%。3. PAM4场景下的指标预算与仿真验证方法仿真验证是LC-DCO项目里最耗时也最容易造假不是故意的是方法不当的环节。很多人跑一个PSSPnoise就认为相位噪声搞定了实际上忽略了很多真实约束。3.1 相位噪声与积分抖动预算怎么算DCO的相位噪声不能只看某一个频点的单边带谱密度要放到CDR工作场景里看。CDR环路是一个带跟踪特性的环路近载波相位噪声会被环路抑制远载波噪声落在环路带宽之外则直接进输出。所以评估DCO对系统的影响需要把相位噪声曲线和实际CDR环路带宽结合起来做从环路带宽到奈奎斯特频率的积分抖动计算。举个例子DCO输出28GHzCDR环路带宽取10MHz那么在10MHz以内的噪声主要由环路整形10MHz以上的相位噪声积分值就决定了采样时钟的随机抖动。假设DCO相位噪声在10MHz频偏处达到了-105dBc/Hz并且在高频段以约20dB/dec下降粗略积分得到的RMS抖动可能在300到500fs量级。这个数字对PAM4来说还算安全但假如相位噪声恶化10dB积分抖动可能翻3倍以上就直接吃掉了定时预算。所以设计DCO时我先定积分抖动目标再反推各频段相位噪声要求最后分配功耗和器件尺寸。还要考虑DCO频率字更新带来的量化相位误差。数字LC-DCO的相位噪声模型不是单纯的模拟振荡器噪声还有ΣΔ调制器控制动态带来的噪声整形问题。如果控制字在做高分辨率调制其量化噪声会被推到高频若落在Pnoise仿真带宽外就容易漏算。我一般会把控制路径的噪声模型一起放进PSS/Pnoise分析里或者做一个等效基带模型在Verilog-AMS里跑完整CDR行为级验证。3.2 PSS、Pnoise与瞬态仿真到底怎么看、怎么设LC-DCO的仿真流程一般分三步瞬态起振、PSS找稳态、Pnoise看噪声。第一步看能否可靠起振第二步确认稳态频率和谐振幅值第三步提取相位噪声与抖动。实际工程中最容易出错的是PSS的beat频率设置。28GHz DCO没有参考信号的话仿真器需要自己找周期通常要设置一个合理的初值否则可能收敛到错误状态。我的做法是先用瞬态跑几百纳秒得到粗略振荡频率再把它带入PSS的beat频率抖动范围。直接空着让仿真器猜有时候也能出来结果但容易悄悄卡到谐波上频率差一截后面全废了。Pnoise输出的是单边带相位噪声看的时候要确认是否已经包含了幅度噪声转换成相位噪声的路径。对LC振荡器来说幅度噪声通过非线性限幅机制有一部分会转成相位噪声仿真器如果设置不对会低估或者高估。我建议用两个方法交叉验证Pnoise直接积分还有瞬态里的jitter测量。如果两条路算出来的RMS抖动差很多多半是Pnoise设置或者瞬态采样窗口长度有问题。蒙特卡洛仿真也是重要一环。谐振腔电容和电感的绝对值偏差会导致频率分散变容管的阈值电压变化会导致调谐曲线偏移。我会跑200到500组工艺角加失配的蒙特卡洛统计粗调校准后所有样本能否覆盖目标频率。这个比例如果低于98%说明调谐范围余量不够必须返工加电容阵列。过早花大力气优化相位噪声结果PVT覆盖都没达标白干。3.3 DCO抖动对AFE和PAM4眼图的影响接收机并不是“DCO抖一点就崩”的线性关系但PAM4方案里DCO抖动的影响更加复杂。同一个DCO抖动在NRZ升到PAM4后眼图高度已经只剩三分之一采样点如果恰好落在电平转换沿附近判错的风险更高。而PAM4的眼图通常用眼高、眼宽、TDEC、水平方向抖动分布来衡量这些指标都跟采样时钟的抖动直接相关。在做系统级协同仿真时我会把DCO的相位噪声曲线转成时域抖动序列注入到行为级CDR模型里再观察采样器输出的眼图张开度。用这种方法能更直观地判断DCO噪声在链路预算里的贡献比例。实测下来如果DCO积分抖动从300fs升到700fs有些通道的眼高可能只损失3%到5%看起来不大但整个链路里发射机、信道、均衡器已经快把裕量吃完了这5%可能就是压垮BER的最后一根稻草。所以PAM4项目里对DCO“抠噪声”绝对值得。4. 从版图到芯片实测的工程实践设计仿真是理想世界版图和测试才是现实世界。LC-DCO的很多问题都是在交付到测试工程师手里以后才算真正暴露出来。4.1 版图布局与隔离别让邻居毁掉你的谐振腔电感是DCO版图里最大的器件也是最显眼的耦合源。它会跟附近的任何金属走线产生磁耦合和电耦合。我的习惯是将DCO放置在芯片角落周围留出自己的净空区域并用不同电位的地环围起来。与数字模块之间至少保证几十微米间距而且中间放一条完整的接地区域不要开任何缺口否则数字开关噪声会一路遛进来。跨导管和开关电容阵列放置要紧凑。跨导管对称性尤其重要如果左右失配振荡波形的占空比或谐波对称性就会发生变化最终影响的是相位噪声性能和PAM4眼图的正负不对称性。我从一个老工程师那里学到的检查办法画完版图后看寄生提取的netlist里跨导管两侧的寄生电容差多少差得多了连画三版也要把它布成镜像对称。这不是强迫症是实测数据对比出来的结论。去耦电容的位置前面已经讲了要靠近管子但还要特别提醒电感下面的地平面切割要谨慎。有些DRC工具会自动填充金属密度块如果不做限制填充的悬浮金属浮在电感正下方涡流损耗可能让Q值下降一半。我的做法是在电感区域打上专用的密度排除标记同时跟代工厂确认悬浮金属密度规则有没有替代方案。这类问题在初期设计阶段多花一小时确认能避免流片后多一次改版。4.2 粗调校准与链路恢复DCO控制字的工程管理芯片上电之后DCO通常不知道自己在哪个工艺角和温度下所以第一步是粗调校准。粗调校准的任务就是选出一个开关电容阵列档位让DCO振荡频率落到后续PLL能锁定的范围内。常用做法是二进制搜索加计数器测量频率用参考时钟做门控数DCO输出时钟的边沿数来判断当前频率偏高还是偏低。实际实现时要注意几个坑。第一参考时钟可能本身就有一定频率误差校准结果只能保证粗调到某个电视频段级别不能让细调通路饱和。第二粗调切换瞬间DCO输出频率可能跳得很远而下游还在等待稳定时钟如果校准逻辑在这时候让DCO输出直接接给下游就可能产生毛刺。稳妥的做法是校准期间让DCO输出经过一个切干净的缓冲门等到锁定后再接通。第三校准需要考虑温度变化。有些芯片只在启动时校准一次但工作一段时间后芯片温度升高振荡频率漂移超出细调范围导致CDR失锁。更好的方案是温度变化后周期性的后台重校准或者在CDR失锁时触发在线重校准流程。这在serdes接口的link管理里通常叫“重训练”。多数实际SerDes PHY的链路层都有Link Training状态机遇到误码率超标或者CDR失锁就会重新启动从低频到高频的对齐流程。DCO粗调校准如果每次都从头开始链路恢复时间就会明显变长。所以在设计校准控制时我会把上次校准的粗调字保存下来重训练时先从前一个档位附近开始搜索而不是从零开始。这个小的设计改进能让链路恢复时间缩短一个数量级。4.3 实验室测试与PAM4眼图测量到了实测阶段DCO性能终归要落到眼图上了。PAM4眼图测试跟NRZ完全不是一个难度主要工作集中在示波器带宽、测试夹具和参数解读三块。示波器选择尽量挑带宽大于50GHz甚至更高的型号而且要注意输入通道的噪声底是否足够低。DCO相位噪声如果比较好示波器自身噪声反而会成为眼图测量的主要限制来源。测试夹具和探针也要仔细选尽量缩短SMA或者探针到芯片的距离因为哪怕1mm的走线在50GHz附近的插损都不小测出来的眼图会带上不必要的衰减和反射。PAM4眼图参数里最值得关注的除了眼高眼宽还有TDEC发射色散眼闭合和抖动分布。如果DCO没设计好眼图水平方向的抖动分布会显得很宽尤其是高电平向低电平转换沿附近。用抖动分解工具把随机抖动和确定性抖动分开看如果确定部分明显偏多就要回头查DCO控制字的切换毛刺、电源耦合和数字开关噪声。我见过一个案子测出来PAM4眼图一直拖个尾巴最后定位到粗调阵列里有一组开关的驱动信号电平转换速度太慢导致DCO频率在校准边缘被缓慢调制产生了低频率确定性抖动。这种问题靠改仿真参数很难浮出水面只能靠测试时多问几个为什么。眼图测量的另一个常见问题是触发方式。PAM4信号没有明显的时钟边沿可以直接触发需要用恢复时钟或者外部参考触发。如果触发源本身就带着抖动测出来的眼图会“自带缺陷”。我自己的经验是在测DCO单独性能时最好先把DCO输出分频后送出来做触发或者在芯片上留一个干净的CMOS时钟测试脚让示波器用这个时钟恢复得到的效果会稳定很多。5. 常见问题排查与实操心得最后把过去几个项目里DCO相关的典型问题做个总结给遇到类似现象的同事一条排查线索。5.1 常见问题速查表现象可能原因排查方法上电后DCO不振荡跨导管偏置没建立、环路增益不足用瞬态仿真检查偏置点看跨导管gm是否大于谐振腔等效并联电阻倒数振荡频率远低于设计目标电感SRF不够、寄生电容过大提寄生后重新仿真对比版图前后频率变化粗调校准始终锁不到目标频段调谐范围不够、参考时钟频偏大检查蒙特卡洛覆盖率查看校准算法是否卡在边界锁定后眼图抖动超标电源噪声耦合、控制字量化噪声单独测DCO输出分频信号抖动对比整机恢复时钟抖动来源PAM4眼图上下不对称采样器或AFE偏置问题也可能是DCO占空比失真测DCO输出波形占空比确认正负沿是否对称重训练时间过长粗调校准从零开始、校准流程冗余增加粗调字保存和附近档位优先搜索5.2 几个实操中反复被验证的笨道理第一仿真一定要带完整寄生再下结论。我在多个项目里都体会过理想版图仿真指标完美提完寄生后相位噪声可能直接差3dB以上。DCO是整个RX里对寄生最敏感的模块之一电感周围的金属、变容管的连线、跨导管的栅端电阻每一项都可能在28GHz频段产生不可忽略的影响。所以做DCO设计版图后仿真不是可选项是必选项。第二变容管KVCO尽量不要做得太高。有些项目为了省事让一个变容管同时覆盖粗调和细调结果KVCO达到几个GHz/VPLL里任何一点控制电压纹波都被放大了。更合理的做法是把KVCO控制在几百MHz/V量级粗调交给数字电容阵列细调只负责PLL锁定后的微调。这样做还有一个额外的好处校准后DCO频率对控制电压的变化更温和链路更容易在低误码率下长时间稳定运行。第三PAM4系统对DCO的“坏脾气”容忍度很低。所谓坏脾气就是控制字切换时频率毛刺、温度漂移、电源扰动过敏这些瞬态问题。这些指标很难在仿真阶段全部量化所以最好的策略是在芯片设计阶段就预留足够的可测试性和可调性比如把粗调字寄存器做成可回读、把变容管电压节点引出来做外部监测、留出独立的DCO测试分频输出。这些看似“浪费管脚”的设计在实测定位问题时会帮你节省大量时间。第四DCO和CDR的协同优化不能各干各的。DCO设计者往往只关心相位噪声和调谐范围CDR设计者只关心环路带宽和锁定时间但实际系统里的很多问题恰恰出在两者的交界面。比如DCO控制字的更新频率和CDR数字滤波器的输出速率之间如果存在滞后的映射关系环路响应就会出现奇怪的次谐波抖动。做这类系统联调时最好有人在芯片架构阶段就把DCO的调谐延迟、量化步进和CDR环路参数一起用行为级模型验证一遍不要等流片后再发现问题。第五多看热词背后对应的真实需求。“pam4眼图计量”、“serdes接口”、“高速serdes的afe电路”、“link lane”这些词搜得越多说明行业内对完整SerDes链路的需求越旺盛。DCO只是这个链条上的一环但它是链路能不能锁定、锁定了能不能稳住的关键枢纽。如果你正在做相关设计我特别建议花时间把目光从DCO往外扩一步——看看AFE的带宽和增益分配看看CDR的环路滤波策略看看链路的校准与恢复流程。只有理解了DCO在整个链路中扮演的角色才能在遇到问题时做出真正正确的取舍。最后再分享一点个人经验从我做第一版25G的LC-DCO到现在做56G PAM4 RX里的DCO最大的感受是这个模块不是一个“只要能振动就行”的电路它是一个必须在面积、功耗、噪声、调谐范围、校准速度之间反复权衡的系统工程。每次我觉得自己已经把某个问题搞定的时候下一颗芯片总能用现实告诉我还有一个之前没考虑到的耦合路径、一个没做够的温度余量、一个在高速测试面板上等你来发现的接触阻抗。如果你也正在为一个PAM4 SerDes的DCO方案头疼我的最实际建议是先画出版图再谈优化指标。尽早把电感周围的版图环境建立起来尽早给粗调开关阵列加上真实的驱动电路寄生尽早对自己的DCO做一套高温和低温的全流程仿真。这些工作虽然慢但每一个都会在流片后的测试环节里加倍回报你。至于那些细枝末节的调谐策略和校准算法到了调试阶段你自然会找到属于你自己的那一套顺手做法。