PLL分频器选型:CMOS与CML的权衡与实战要点
去年有个PLL项目回片后带内相位噪声比仿真预期高了整整6dB。我排查了一周最后把目光停在反馈分频器上——设计时为了赶进度我直接调用了标准库里的静态CMOS分频器而VCO频率已经到了4.8GHz分频器输入早就被压进了亚稳态边缘。这件事之后我又花了很长时间重新梳理CMOS和CML两类分频器电路在PLL里的角色差异才发现这个看起来“只是除个N”的模块其实是整个锁相环性能的隐形天花板。这篇文章想从PLL系统设计的角度把CMOS分频器和CML分频器的结构原理、性能边界、噪声行为以及选型流程一次讲清楚。不是泛泛的概念对比而是包含了我实际项目中用到的数据、算过的功耗账和踩过的坑。适合正在做模拟/射频PLL的工程师也适合刚接触时钟电路设计、想搞明白“为什么高速下要选CML”的读者。1. 分频器在PLL环路上到底扮演什么角色1.1 一个PLL里通常不止一个分频器很多人想到PLL里的分频器第一反应就是反馈路径上的那个除N模块。实际上一个典型锁相环内部至少有三处可能出现分频器输入参考分频器R分频器、反馈分频器N分频器、以及输出链路上的后分频器。R分频器工作在参考频率通常只有几十到几百兆赫频率低随便用CMOS静态分频器都能搞定。反馈分频器工作频率等于VCO输出频率这是整个PLL里频率最高的数字电路如果VCO做在2.4GHz反馈分频器就要能吃下2.4GHz甚至更高的输入时钟。后分频器则负责把VCO频率降到系统需要的输出频率它可能工作在射频段也可能在分频之后已经降到中频甚至基带。这三种分频器里最棘手的是反馈分频器和紧贴VCO的预分频器。原因很简单它们工作在VCO的频率上VCO频率往往是同一个工艺节点里数字逻辑很难轻松跑到的速度。这也是CMOS和CML之争最集中爆发的地方。1.2 分频器噪声如何进入PLL输出分频器不是理想模块它会引入两类问题加性噪声和回踢噪声。加性噪声是指分频器自身晶体管的热噪声、闪烁噪声在分频过程中转换成相位抖动再通过反馈路径进入环路。在整数分频PLL里参考源和PFD/电荷泵的噪声在带内会被放大20logN倍这一项是参考路径噪声的主要来源反馈分频器自身的加性噪声在带内的传递函数接近单位增益也就是说它不像参考源那样按N²放大但这不代表它可以被忽视。当分频比N较大的时候参考源和PFD的底噪已经被推到几十dB之上此时分频器哪怕只贡献几个dB的抬升都会让带内相噪突破指标。回踢噪声则更隐蔽。分频器输入级是栅极电容器件每个输入时钟周期都会对VCO输出节点产生一次电荷抽运相当于在VCO谐振腔旁边放了一个周期性扰动源。这个扰动会转化成参考杂散和近端相位噪声。回踢大小和输入级的开关方式、摆幅、晶体管尺寸直接相关这也是后面选择CML还是CMOS时不能只看功耗和速度的原因。1.3 从系统指标落到分频器参数在做分频器选型前我会先把系统指标翻译成分频器指标翻译过程通常需要下面几个量最高输入频率必须大于等于VCO最高频率还要留出至少30%的PVT余量。输入灵敏度指定输入摆幅和共模电平下分频器必须能可靠触发。功耗预算分频器链路包含缓冲器在PLL总功耗里通常能占20%~30%不是小数目。输出摆幅和驱动能力如果分频器直接驱动PFD或后级逻辑必须保证足够的边沿速率否则会引入额外抖动。回踢噪声在参考杂散要求苛刻的系统里这一项甚至比分频器自身相噪更重要。面积分频器占的版图面积虽然不如电感、滤波器大但CML的负载电阻和偏置电路也不便宜多级分频器累加起来非常可观。把这些参数列出来之后CMOS和CML的取舍才开始有意义。下面两节分别展开这两种逻辑族的内部细节。2. CMOS分频器从静态触发器到TSPC动态逻辑省电但不省心2.1 静态CMOS D触发器分频器能跑但跑不快最直觉的分频器实现是静态CMOS D触发器。两个交叉耦合的锁存器组成主从结构时钟上升沿采样下降沿保持输出频率就是输入频率的一半。静态CMOS的优点非常明显逻辑摆幅满幅输出可以直接驱动后级数字电路没有动态节点低频下限是零对时钟波形的要求不苛刻设计流程成熟甚至可以调用标准单元库。缺点是速度上限很低。一个静态D触发器的最小时钟周期取决于数据传输延迟、建立时间和保持时间之和本质上是反相器和传输门给节点电容充放电的时间。以0.18μm工艺为例标准数字D触发器大概只能跑到1.5~2GHz即使手动优化到极致也很难在PVT最差角下保证3GHz以上工作。当VCO频率在4GHz以上时静态CMOS基本出局。即便如此静态CMOS分频器仍大量存在于低频段。比如参考时钟分频、低频后分频或者频率综合器里对分频比N进行预置控制的低速逻辑这些场景用静态CMOS最稳。2.2 TSPC的结构与速度根源要让CMOS跑得更快思路是减少堆叠晶体管、降低节点电容、避免互补时钟的偏斜问题。TSPC真正的单相时钟应运而生。TSPC D触发器通常用9~10个晶体管实现核心思想是预充电-求值。以典型的上升沿触发TSPC触发器为例输入级在时钟低电平时对内部节点预充电时钟高电平时根据输入求值第二级在相反相位继续处理。整个触发器只用了一个时钟相位避免了互补时钟偏斜带来的时序约束。因为每一级只有一个或者两个堆叠晶体管寄生节点电容小翻转速度比静态结构快得多。在0.18μm工艺下优化过的TSPC分频器可以稳跑2~3GHz在65nm以下节点5~10GHz也不稀奇。TSPC还保留了CMOS的低静态功耗优势动态功耗依然约等于fC V²在几GHz频率下通常只有毫瓦甚至更低。正因如此很多中高速PLL的预分频器第一级会选择TSPC而不是一上来就上CML。2.3 省电背后的三个隐患TSPC看起来很完美但在项目里用下来至少有三个隐患不能忽略。第一是动态节点的泄漏问题。TSPC靠电容暂存电荷来维持逻辑状态输入时钟频率过低或边沿过缓时亚阈值漏电会把预充电节点拉偏导致分频器输出毛刺、占空比劣化。连续工作的高频分频器通常没有下限频率问题但如果做测试模式、想用很低的参考时钟去检查分频链路就可能触发这个坑。第二是电源和衬底噪声。CMOS满摆幅翻转时会产生很大的电流尖峰特别是在输出级驱动稍长走线时。PLL里VCO和分频器经常共享一个电源域这些电流尖峰通过电源线和衬底耦合到VCO会让VCO的瞬时频率被调制最终以杂散的形式出现在输出频谱上。第三是输入灵敏度和回踢的矛盾。为了在高速下还能可靠触发输入级的晶体管必须做得足够大但大尺寸晶体管意味着更大的栅漏电容回踢噪声随之增加。CMOS输出又是满摆幅输入级的开关压摆率很高这种情况下回踢会非常明显。我在2.4GHz VCO后面直接用TSPC时参考杂散比预期高了差不多8dB后来在VCO和分频器之间加了一级隔离缓冲器才压回去。3. CML分频器用功耗换速度的经典交易3.1 CML锁存器和除二分频器怎么工作CML全称是电流模逻辑它和CMOS最大的区别在于CMOS靠电压控制MOS管开关对节点电容进行满摆幅充放电CML靠电流导引差分对根据输入电压的微小差值把恒定的尾电流切换到左边或者右边支路输出电压摆幅只变化几百毫伏。一个CML锁存器由输入差分对、交叉耦合锁存对、负载电阻和尾电流源组成。当时钟对导通输入差分对时输出跟随输入当时钟切换后锁存对接管并保持状态。把两个锁存器级联成主从结构就构成了除二分频器。工作时尾电流源始终保持导通没有任何节点需要从VDD到地做满摆幅翻转。输出摆幅由尾电流和负载电阻共同决定V_swing I_tail × R_L。为了让锁存器可靠锁存这个摆幅通常设计在200~400mV差分量级。负载电阻如果换成有源器件摆幅还会受到器件过驱动电压的限制。3.2 速度上限和功耗的数学关系CML分频器的速度受限于内部节点的时间常数τ R_L × C_node。输出电压从高到低变化时负载电阻给电容放电的时间决定了最高工作频率。工程上粗略估算最高输入频率大概是1/(π·τ)的量级具体和工艺、节点电容、版图寄生有很大关系。这里有个核心权衡想跑更快要么减小R_L要么减小C_node。减小C_node只能靠缩小晶体管和精简版图空间有限减小R_L则需要增大尾电流才能维持相同的输出摆幅。所以CML的速度提升几乎总是以功耗上升为代价。反过来如果工作频率不高可以适当加大R_L、降低尾电流把功耗压下来代价是速度余量变小。以40nm工艺为例一个面向5GHz输入的CML除二分频器输出摆幅设300mV负载电阻2kΩ单latch尾电流150μA左右主从两个latch加偏置电路总功耗大约0.5~0.8mW。如果目标是20GHz输入尾电流往往要加到0.5mA以上功耗直接翻好几倍。这个增长曲线是设计者在选型时必须提前预估的。3.3 低噪声和低回踢是从哪来的CML在PLL里的真正价值不完全在速度更在于它相对干净的开关行为。第一CML输出摆幅小节点电压的变化范围只有几百毫伏因此充放电时间短输出边沿压摆率高。同样的时间抖动绝对值下相位噪声更低。CMOS满摆幅信号虽然边沿也陡但在高速下受限于电流驱动能力边沿往往会被拉缓反而吃亏。第二尾电流源恒定电源电流在开关过程中基本不随数据变化从电源看到的电流扰动比CMOS小得多。这意味着CML分频器对共享电源域里的VCO产生的噪声干扰更小。第三输入差分对的输出电压变化量小栅漏电容上耦合的电荷扰动也小回踢噪声天然比CMOS低。这一点在参考杂散要求严格的PLL里极其重要。需要注意的是CML自身的热噪声并不比CMOS低太多它的优势更多体现在电源噪声、回踢和压摆率带来的综合抖动改善。3.4 CML的真实代价CML的缺点也很明显。首先是静态功耗电路一旦上电就在耗电哪怕分频器处于空闲状态。对低功耗物联网芯片多一个毫瓦都是负担。其次是偏置复杂度。尾电流源、负载共模电平、输出直流电位都需要偏置电路支撑通常在版图里还要加电流基准和偏置电阻面积比单纯几个晶体管大不少。CML输出不是满摆幅驱动标准数字逻辑时还需要电平转换器这又增加了功耗和面积。第三是低压工艺下的电压余量问题。先进工艺VDD只有0.9V甚至更低尾电流源要吃掉一部分电压余量负载电阻上又要留摆幅留给输出共模的窗口非常窄。设计不当的话共模点漂移会让差分对的增益和摆幅同时恶化分频器在某个工艺角下直接不工作。4. 正面PKCMOS和CML的速度、功耗、噪声、面积怎么权衡4.1 一份来自项目实测的对比表这一节我基于自己接触过的0.18μm和40nm两个工艺节点项目整理了一份CMOS分频器与CML分频器的对比。需要说明不同工艺、不同电路优化程度下的数据差异很大这里反映的是典型设计经验。对比项CMOSTSPC动态逻辑CML电流模逻辑最高输入频率0.18μm约2~3GHz40nm可到8~10GHz0.18μm可做到5GHz以上40nm可以做到20GHz以上功耗特征近似正比于频率低频极低高频陡增近似恒定和频率关系较小典型功耗2GHz输入某40nm项目约0.3~0.6mW含输出缓冲约0.5~1.0mW两个latch加偏置输出摆幅rail-to-rail满摆幅通常200~400mV差分电源电流扰动大翻转时电流尖峰明显小尾电流恒定回踢噪声大尤其输入级大尺寸时小输入电压变化量有限面积晶体管少面积小电阻、偏置电路多面积偏大设计复杂度中等对时钟波形和动态节点敏感较高需考虑共模和偏置点与数字逻辑接口直接驱动无需电平转换需要CML转CMOS电平转换器表格里最值得注意的一行是“功耗特征”。很多人以为CML一定比CMOS功耗大但实际上在极高频率下CMOS分频器为了维持速度必须加大驱动管尺寸动态功耗和短路功耗同时飙升这时CML的恒定功耗反而可能更低。交叉点在哪里取决于工艺和具体电路通常需要跑一轮PVT仿真才能确定。4.2 相位噪声账本怎么算选分频器时我习惯在系统层面先算“噪声账”。参考路径在带内的噪声放大是20logN这个数字在N64时就到了36dBN128时是42dB。参考源加PFD的底噪如果做不到极低即使分频器自身噪声为零带内相噪也已经压不住。所以很多项目里分频器选型的压力主要不是它本身的热噪声而是它给参考路径噪声“添乱”的那部分。分频器添乱的方式有两种。一种是分频器输入级灵敏度不够导致输入等效噪声被放大这通常通过加大输入摆幅、优化输入级过驱动电压来解决。另一种是回踢和电源噪声让VCO在分频器没有正确隔离时被污染表现为杂散而不是平滑的相噪抬升。CML在这两方面都更占优这也是为什么高端频率综合器里第一级分频器几乎都是CML或类似电流导引结构。4.3 系统级视角buffer、电平转换和隔离也要算进去对比不能只看分频器核心本身。CMOS分频器虽然核心功耗低但如果它后面驱动的是PFD这种有死区敏感性的电路输出压摆率不够时你不得不加多级缓冲器每一级都是功耗和面积。同样CML分频器后接数字逻辑需要电平转换器这个转换器在高频下也不省电。另外VCO输出到分频器之间通常还要加隔离缓冲器。这个缓冲器的作用是降低回踢、提供稳定的差分摆幅。它的功耗往往比分频器核心还高但它的选型同样受分频器输入阻抗和灵敏度影响。所以真正公平的对比是“VCO buffer 分频器 输出buffer”整条链路的功耗和面积对比。项目评估时画一个简单的信号链框图把每个模块和预算列进去比直接争论CMOS还是CML更有意义。5. 选型决策从PLL指标倒推我按这个顺序思考5.1 先抓住两个硬边界频率和功耗我的选型流程从来不先看噪声先看频率和功耗这两个硬边界。如果VCO最高频率已经接近或超过该工艺下CMOS分频器的PVT最差能力那就直接放弃CMOS不要试图通过加大晶体管硬拉速度因为那会带来严重的回踢和功耗膨胀。如果VCO频率在CMOS能力范围之内再看功耗预算预算非常紧张、且对杂散要求不那么极端的优先选CMOS预算相对宽裕、对噪声和杂散指标要求高的CML更有把握。有一个判断法则是方便的目标频率低于该工艺下MOS管的特征频率f_t的1/3到1/4时CMOS TSPC通常还有优化的空间超过这个比例设计会变得拧巴CML更合适。这里的f_t不是数字库标称最高时钟频率而是工艺模型里的截止频率。5.2 再算摆幅、噪声和回踢的账硬边界之后看系统指标里有没有特别强调参考杂散和带内相位噪声。如果参考杂散要求低于-60dBc我基本会默认在VCO输出后加隔离缓冲器分频器第一级优先CML。如果参考杂散要求在-40dBc左右CMOS TSPC配合良好的版图隔离也够用。这只是一个经验起点最终要靠电源注入仿真和回路级瞬态仿真验证。还需要关注分频器输入信号摆幅。CMOS分频器通常需要接近满摆幅或者至少几百毫伏的输入摆幅才能可靠触发CML只需要100~200mV以上的差分摆幅就能工作。前级buffer能提供的摆幅越大选CMOS越安全摆幅受限时CML更容易满足灵敏度要求。5.3 一个可套用的文字决策流程我实际选型时脑子里大概是这样一条路线列出VCO最高频率、参考频率、分频比N、带内相噪目标、杂散目标、总功耗预算。看VCO频率是否显著低于该工艺CMOS分频器的能力上限是进入第3步否直接选CML。看功耗预算是否紧张紧张继续评估CMOS宽裕也进入CMOS评估同时保留CML备选。看杂散和噪声要求是否苛刻苛刻优先CML或者CMOS加隔离缓冲器再对比。对候选方案做PVT仿真尤其是SS角、低温高温、电源电压上下限重点看灵敏度曲线和回踢。最后用系统级瞬态仿真验证整条链路VCO buffer到PFD输入的抖动贡献。5.4 示例一个2.4GHz整数分频PLL的分频器方案用一个具体数字帮你走一遍流程。假设做一个2.4GHz整数分频PLLVCO频率2.4GHz参考频率50MHz分频比N48带内相噪目标是-100dBc/Hz100kHz参考杂散目标是-55dBc总功耗预算3mW。老规矩先看硬边界0.18μm工艺下TSPC分频器吃力但有优化到2.4GHz的希望40nm工艺下CMOS TSPC完全能跑。假设用40nmVDD 1.1V。再算功耗TSPC分频器加两级缓冲器预计0.4mWCML除2加电平转换器预计0.9mW考虑到总功耗只有3mW且电荷泵、VCO、PFD都要花钱CMOS方案明显更省。再看杂散目标-55dBc不算极度苛刻但需要认真对待回踢。我会在VCO和TSPC分频器之间加一个源跟随器缓冲同时把分频器放在单独的保护环里电源去耦电容贴着分频器的输入级放。最终方案是CMOS TSPC主分频器加隔离缓冲。如果功耗预算放宽到5mW、同时相噪目标收紧到-105dBc/Hz我大概率会换成CML第一级再在后面接CMOS分频器做后续分频这样噪声和功耗达到更好的平衡。6. 实测避坑偏置、版图与PVT仿真里的三个翻车现场6.1 坑一CML输入级在工艺角下灵敏度崩溃第一次用CML做除2分频器时常温TT角下仿真一切正常输入摆幅只要100mV就能锁存。结果我发现SS角、低温、电源电压下限时分频器直接罢工。排查下来是尾电流源进入线性区输出共模点漂了200mV差分对增益掉了导致灵敏度急剧恶化。从那以后我每次设计CML分频器都固定做三类检查第一扫描输入摆幅和共模电压的灵敏度曲线在FF和SS两个角下都要留出足够余量第二检查尾电流源在不同PVT下的饱和电压确保电压裕度至少有50~80mV第三在输入灵敏度曲线上标出实际前级buffer能提供的摆幅确认双方有至少3dB的余量。6.2 坑二TSPC动态节点低频漏电占空比莫名其妙劣化TSPC分频器在正常VCO频率下跑得很好但我在做芯片量产测试时想用一个1MHz的慢时钟去检查分频链路结果发现后半级分频器输出占空比变成了20%80%有的芯片甚至直接原地振荡。原因就是动态节点在低频时得不到及时的预充电刷新亚阈值泄漏逐渐改变节点状态。TSPC不是静态逻辑它对最低时钟频率有要求。我的解决办法是在分频器后面加一个静态CMOS输出级或者测试模式用单独的慢速测试通道不让慢时钟直接灌进动态分频器主链路。设计评估时也要确认系统里有没有低频测试模式会走到TSPC分频器这条路径上。6.3 坑三输出驱动不够PFD死区扩大还有一个很隐蔽的问题。分频器输出直接接到PFD的D端我在一个低功耗项目里为了省功耗把输出反相器尺寸做得偏小导致输出上升沿很缓慢。PFD在输入边沿较缓时内部节点的切换时间出现较大散布等效死区变宽电荷泵的上下充电流不再匹配最终参考杂散劣化了十几dB。这个问题在功能仿真里完全看不出来因为数字模型不会关心真实边沿速率。后来我在PFD入口处加了一级施密特触发缓冲同时把分频器最后一级反相器的尺寸加大一倍问题才消失。这里教训是分频器设计不能只算分频核心输出级的驱动能力和后级触发阈值必须一起仿真。6.4 版图与电源隔离的几条实操经验最后给几条版图和电源域隔离的经验都是真金白银换来的分频器模块四周加双环保护环衬底重掺杂接地环外加深N阱隔离环能显著降低分频器开关噪声往VCO衬底耦合的路径。CML负载电阻和差分对要严格对称走线等长等寄生否则分频器输出占空比会失衡并产生偶数次谐波杂散。分频器电源单独走线回卷到电源引脚之前加RC去耦去耦电容尽量贴近输入级和输出级不要隔着一层高阻金属布局。做电源注入仿真时在VCO电源和分频器电源上分别注入等效开关电流噪声观察VCO控制电压和输出相噪的变化。这个仿真能提前暴露很多版图阶段才会发现的问题。TSPC的动态节点在关键路径上不要走长线每经过一级缓冲都必须确认节点电荷保存时间是否满足最低工作频率。我个人的体会是CMOS和CML没有绝对的高下只有放对位置的方案。低速低功耗链路里强行上CML是在浪费电流和面积高速噪声敏感链路里硬用CMOS又很容易陷入缓冲器越加越多、功耗不降反升的泥潭。真正靠谱的办法是把自己系统里的频率、功耗、噪声、面积预算列清楚然后按前面那套流程走一遍。如果看完这篇文章你还拿不准我建议从PVT灵敏度扫描开始做数据会告诉你答案。