做模拟IC的人应该都有这种感觉:五管OTA太基础,套筒式共源共栅对输入共模范围又太娇气,真正到了工程里用得顺手、出了问题还值得认真排查的,折叠式共源共栅放大器绝对算一个。这篇备忘,不打算翻译教科书章节,而是把我这几年做折叠式共源共栅从架构选型、DC工作点计算、小信号分析、版图落地到仿真调试的几个关键环节里踩过的坑和沉淀下来的方法,整理成一份能直接照着干的设计参考。
不管你现在是在啃拉扎维第十章,还是手头正拿着一个高增益、输出摆幅要大、输入共模范围还得灵活的spec,折叠式都是最先出现的候选之一。它比套筒式多花了偏置电流,但换来了设计自由度。下面我按实际设计流程往下走,顺手把最容易出问题的地方提前标出来,省得你流片回来对着测试结果挠头。
1. 选型先想清楚:折叠式的优势到底赢在哪
很多人一上来就画电路,等到调共模范围时才发现结构选错了,这是新手最容易犯的错。折叠式和套筒式看着都是共源共栅,骨子里的设计哲学完全不同。
1.1 三种主流单级高增益结构的特点对照
在单级运放里,能达到高增益且输出摆幅尚可的结构,基本就是套筒式、折叠式和轨到轨输入型。轨到轨输入一般是互补差分对拼出来的,设计复杂度高,先排除。剩下套筒式和折叠式,核心差别体现在四个维度:
| 维度 | 套筒式共源共栅 | 折叠式共源共栅 |
|---|---|---|
| 输入共模范围 | 窄,通常只能覆盖中间偏某一侧 | 宽,可接近地或接近电源 |
| 功耗 | 低,所有电流都用在信号路径上 | 高,折叠支路额外耗电 |
| 噪声/失调 | 更好,信号路径管子少 | 稍差,多出的管子贡献噪声 |
| 非主极点 | 少,频率特性通常更好 | 多一个折叠节点,但常可做到高频 |
套筒式最难受的地方在于:输入对管和共源共栅负载在垂直方向上叠了太多管子,导致输入共模范围被上下夹得很死。比如PMOS输入的套筒式,输入管栅极电压不能太接近VDD,否则输入对管直接截止;也不能太低,否则尾电流源的Vds不够。整个可用范围可能就几百毫伏。这在LDO误差放大器、ADC采样保持放大这类需要输入跟随电源轨变化的场景里,几乎是不可用的。
折叠式则把输入对管和增益负载从“垂直堆叠”改成了“水平错开”,输入管可以直接接在接近电源或接近地的电压上,剩下的事情交给折叠支路去处理。代价就是多了一条一直通电的折叠支路,静态电流往上走。
1.2 输入管到底选PMOS还是NMOS
折叠式的第二个选择是输入对管用PMOS还是NMOS。同一个折叠式Cascode拓扑,把输入对管换成PMOS或NMOS,整体行为差异很大。
PMOS输入在低压应用里最常见,原因有三。一是PMOS的1/f噪声通常比NMOS小一个量级,在需要低噪声的精密放大里占便宜;二是PMOS输入对管的源端可以接近VDD,也就是说输入共模可以摆到电源附近,这对很多传感器前端很友好;三是PMOS的体效应往往可以被利用——如果工艺允许把P管放在独立的N阱里,把源和衬底短接,还能省掉一部分阈值电压带来的摆幅损失。
NMOS输入的优势是同等电流下有更高的跨导,因为电子迁移率大概是空穴的2到3倍。所以如果spec要求GBW特别高、功耗又卡得死,而输入共模逼近地也能接受,那就应该选NMOS输入。关于这个问题,我的经验法则是:1.8V以上电源、追求低噪声或输入靠近电源,用PMOS;电源电压低于1.2V且对GBW极度敏感,优先评估NMOS。
1.3 折叠式最适合落到哪些应用
折叠式共源共栅最经典的应用是流水线ADC里的MDAC运放。因为MDAC的输入共模经常选择在1/2 VDD附近,输出摆幅需要覆盖接近满量程的范围,折叠式的宽共模特性正好匹配。另一个典型是开关电容滤波器里的OTA,这些电路对运放的直流增益要求能到60dB-80dB,同时输入端的开关电荷注入又要求共模范围有一定余量。
如果你在设计一个1.8V/0.18um工艺下的单位增益缓冲器,折叠式同样能胜任,但要注意此时的环路稳定性主要靠外部再补偿,运放本身的次极点最好推到GBW的3倍以上。这句话我后面讲仿真时会具体展开。
2. DC工作点:整个设计的生命线
折叠式共源共栅的DC工作点,比五管OTA复杂一个量级。因为电流多分了几路,管子的饱和余量相互牵制,一个偏置给错了,可能所有管子都在饱和边缘挣扎,增益却只有30dB。
2.1 电流分配:从尾电流到负载支路的比例艺术
先给一个最常用的折叠式拓扑做参照:PMOS输入差分对(M1、M2),尾电流源M5提供总电流Iss;M3、M4是折叠管,把输入管的信号电流翻到下面的NMOS共源共栅负载(M6、M7)上;M8、M9是PMOS共源共栅电流源,作为有源负载;输出从M7漏极和M9漏极的公共点取出。
这里有一个必须记牢的电流不等式:折叠管的静态电流Ifold必须大于输入差分对单边电流Iss/2,否则输出支路的电流方向就反了,所有管子都会退出饱和区。工程上通常取Ifold等于1.5到2倍的Iss/2。这个比例直接决定三件事:输出支路净电流、功耗、以及输出电压摆幅。
以Iss=100uA为例,每条差分支路50uA,折叠管取80uA,那么输出支路的净电流就是80-50=30uA。这个30uA流经M7和M9,决定了输出管的过驱动电压。如果你发现输出摆幅不够,不要急着调输出管尺寸,先检查电流分配:是不是Ifold取得太大,导致输出支路电流把输出端的直流电位拉偏了。
2.2 偏置与共模反馈:PVT条件下如何保证管子不“翻车”
折叠式共源共栅的偏置网络一般包含三组偏置:尾电流源偏置、折叠管偏置、共源共栅管偏置。每一组单独看都简单,放在一起就要考虑PVT(工艺角、电源电压、温度)运行时是否还有足够裕量。
最容易被忽视的是共源共栅管M7的Vds余量。假设输出电压摆幅要求是0.2V到1.6V,输出管M9的Vds和M7的Vds要共同承担这个摆幅。在FF工艺角、低温、电源电压走低的情况下,阈值电压偏移会让M6/M7的Vds压缩到200mV以内,这时候M7很容易从饱和区滑到线性区。
我的习惯是:设计完每一版偏置后,把所有管子在不同工艺角和温度下的Vds/Vov比值打出来,至少保证在所有仿真组合下比值都大于1.5,否则就调尺寸或偏置。Vds略高于Vov确实够用,但当你叠加了版图寄生和蒙卡失配之后,这个余量会被吃掉一大截。
另外,如果做全差分结构,必须加共模反馈。折叠式全差分电路的输出共模点很敏感,因为负载是共源共栅电流源,本身不含任何共模约束。共模反馈的采样网络要注意不能加载输出节点的高阻——我见过有人用两个电阻分压做共模检测,结果电阻直接吃掉了输出阻抗,增益一夜回到解放前。建议用开关电容共模检测,或者用源跟随器做缓冲后再分压。
2.3 设计实例:1.8V/0.18um工艺下的手算全流程
用一个具体的例子把所有约束串起来。假设工艺是0.18um标准CMOS,电源1.8V,负载电容1pF,要求DC增益大于65dB,GBW大于150MHz,功耗预算1.2mW以内(偏置电路不计),输出电压摆幅0.25V到1.55V。
第一步先分电流。功耗1.2mW对应总电流约660uA。给尾电流源Iss分配100uA,折叠管的静态电流Ifold每边分配80uA,则增益负载这条支路的净电流是30uA,还有裕量给偏置电路留40uA。
第二步确定输入管的跨导。GBW≈gm1/(2πCL),目标150MHz,反推gm1≈2π×150MHz×1pF≈0.94mS。PMOS输入对管单边电流50uA,0.18um工艺下PMOS的跨导效率gm/Ids在弱反型区约10-12,在中等反型区约6-8。0.94mS/50uA≈18.8,这已经明显偏高了,说明如果固定Iss=100uA,这个GBW目标对0.18um工艺有点紧。要么把Iss调到150uA,要么接受GBW做低一些,要么换工艺。
这正是手算的意义所在——在仿真启动前先把可行性边界摸清楚。如果把Iss提到150uA,单边75uA,需要的gm效率约12.5,刚好落在PMOS中等反型区的上限附近,可以接受了。代价是功耗从1.2mW附近涨到约1.5mW,需要跟spec博弈。
第三步算输出阻抗。增益65dB约等于1800倍,如果输入gm=1.1mS,输出阻抗Rout至少1.64MΩ。NMOS共源共栅输出阻抗约为gm6×ro6×ro7,PMOS电流源侧约为gm8×ro8×ro9,两路并联后再和输出支路自身的ro并联。0.18um工艺短沟道下ro大约20k-50kΩ,取ro=30k,gm=1.5mS,单侧cascode阻抗就是1.35MΩ,两侧并联约0.67MΩ,不够。需要把输出支路电流减小或加大管子长度,让ro涨到50k以上。
第四步检查折叠管和输出管的饱和电压。1.55V最高输出时,PMOS侧M8/M9要承担大约1.2V的压降,分给两级cascode,每级Vds约0.6V,余量充足。最低输出0.25V时,NMOS侧M6/M7总共只有约0.6V可用,分给每级0.3V左右,这个偏紧,需要保证Vov在150mV以内。所以输出NMOS管的W/L不能取太大,过驱动电压必须控制住。
这两个结论在仿真前就可以指导你初设宽长比,而不是盲目扫参数。等所有手算都落在合理区间,再进Cadence细调。
3. 小信号性能:手算、仿真与经验三线对照
DC工作点稳了之后,小信号设计才有意义。折叠式共源共栅的增益公式谁都会背,但真正把公式变成对仿真曲线的预判能力,需要把每个参数的变化方向都了然于胸。
3.1 增益、带宽、摆率的估算链路
增益那条链路是:A = gm_in × Rout。gm_in由输入对管决定,Rout由输出共源共栅阻抗决定。刚才那个例子里,如果gm_in=1.2mS,Rout=1.8MΩ,增益就约66.5dB。这组参数下GBW=gm_in/(2πCL)=1.2mS/(2π×1pF)≈191MHz。摆率SR=Iss/CL=150uA/1pF=150V/us。如果spec要300V/us,就把Iss翻倍,这时候所有管子的电流重新分配一遍。
我经常看到新人只调W/L不调电流,结果gm上去了,ro掉下来了,增益没动,功耗却涨了。这里有个关键认知:在长沟道近似下,gm/ro的乘积主要由沟道长度和工艺决定,单纯加大W对增益的帮助很有限。想要高增益,核心是让管子工作在合理的反型区,并且把输出端上下两条cascode支路的阻抗都推到接近极限。
3.2 噪声:输入管与负载管的“分贝争夺战”
噪声设计往往是模拟工程师最容易忽视、后期又最难补的一项。折叠式共源共栅的输入等效噪声主要由三部分构成:输入差分对、折叠管、以及共源共栅负载管。
输入对管的热噪声贡献是4kTγ/gm_in,注意是两只管子算在一起后折算到输入端的等效结果,所以实际上要乘一个系数。折叠管和负载管的沟道热噪声是通过它们的噪声电流注入到输出节点,再除以输入跨导折算回输入端。这些管子的噪声电流增益跟它们的gm值直接相关,所以想要低噪声,光是加大输入管gm还不够,还得压低折叠管和共源共栅管的gm/Ids工作点。
0.18um工艺下,一个单边50uA的PMOS输入对,输入等效热噪声谱密度通常在5nV/√Hz到10nV/√Hz之间。如果你仿真出来是30nV/√Hz,那大概率是折叠管的gm取得太高,或者输入管工作点偏到了弱反型区过深的位置。这时候我会把输入管的电流密度调高一点,让它回到中等反型区,同时把折叠管的宽长比减小,压低gm。
闪烁噪声的问题更麻烦。PMOS输入对的1/f噪声会比NMOS低,但折叠管如果是NMOS且面积不够,它的1/f噪声也会通过耦合路径折算到输入端。我的建议是:噪声是典型的“留给后仿发现就晚了”的指标,前仿阶段就一定要把1Hz到100kHz的积分噪声看完。
低频积分噪声和高频段热噪声是两种优化路径,低频看面积,高频看gm,别搞混。
3.3 稳定性:折叠节点和镜像极点到底有没有威胁
折叠式和套筒式在频率特性上一个显著的差异是折叠节点。这个节点上挂着输入管的漏端寄生、折叠管的源端寄生、以及M3/M4的栅漏电容等,从该节点看进去的阻抗约等于输入管输出电阻ro1与折叠管源端视入阻抗(1/gm3)的并联。因为1/gm3远小于ro1,所以折叠节点阻抗被压得很低,对应的极点频率往往非常高,基本不会威胁到GBW。
更需要注意的是镜像极点,也就是偏置网络和输出cascode栅极上的极点。比如PMOS共源共栅管M8、M9的偏置电压如果由一个高阻节点的二极管连接管产生,那么从该节点到VDD之间会有较大的寄生电容,这会形成一个低频极点,直接落进环路带宽里,让相位裕度惨不忍睹。解决手段很直接:在cascode偏置节点对地加一个米勒补偿电容,或者降低偏置节点的等效阻抗。
还有一招很多人不知道:可以用一个小电容直接跨接在折叠级输出到某个高阻节点的回路上,利用极点分裂原理把主极点压低、次极点推远。但这属于工程微调,加入之前一定要想清楚反馈方向,不然增益还能做上去,稳定性反而更差。
4. 版图落地:寄生是后仿性能劣化的第一嫌疑人
前仿性能很好,后仿掉链子,这种故事在每个模拟团队都反复上演。折叠式共源共栅对版图对称性和寄生敏感度都很高,版图做不好,前仿谈的所有余量都会变成流片后的眼泪。
4.1 差分对与电流镜的匹配设计
输入差分对是整个运放最核心的匹配单元。PMOS输入对一定要做共质心布局,上下左右完全对称,金属走线长度尽量一致。交叉耦合布局的时候,要保证每只输入管由完全相同的多finger并联组成,不能一个管子用4 finger另一个用5 finger,这种低级错误虽然听起来离谱,但我在评审里真实见过。
尾电流源M5和折叠的M3/M4在版图上也要认真对待。尾电流源管不需要跟输入对严格匹配,但它本身的沟道长度调制会直接影响共模抑制比,所以L取大一些是合理的。折叠管和负载管之间的电流比例关系,会决定输出支路的直流平衡,这些管子之间要用同样的几何方向、同样的dummy管密度。
dummy管不是摆设。在光刻和刻蚀过程中,边缘管的尺寸和内部管会有偏差,不加dummy,电流镜的比例可以偏出5%。这在前仿里完全看不出来,在蒙特卡洛和实测里会暴露得很干净。
4.2 折叠节点与关键走线的寄生控制
整个版图里,折叠节点的寄生电容是最值得抠的细节。虽然前面说折叠节点阻抗低,极点频率高,但那是理想状态。如果版图里把折叠节点上的金属画得又宽又长,或者让M1管漏端到M3管源端的走线跨过整个有源区,这个节点电容可以轻松涨到0.5pF以上,极点频率一落千丈,GBW直接折半。
所以折叠节点的走线要遵循“短而紧凑”的原则。输入管和折叠管在版图上应该靠得尽量近,中间不需要穿大功率走线。如果允许,可以把M1/M2的漏端在金属二层直接连到M3/M4的源端,一地一层的简洁拓扑,比绕来绕去的金属一、二、三互连要可控得多。
输出节点也一样。输出节点的电容直接参与主极点形成,任何多余的交叠都可能偷走单位增益带宽。在做输出级走线时,我一般会看一眼寄生提取报告,如果输出节点对地电容超过负载电容的20%,就要考虑改走线方案。输出走线如果必须跨过其他信号线,宁可绕远一点,也别为了走线短硬塞进高密度区。
4.3 电源地网络与隔离
折叠式共源共栅的电源抑制能力理论上不错,因为输出阻抗很高,电源线上的扰动被cascode管抑制了一部分。但这依赖一个前提:地线网络足够干净。
折叠支路的电流和输入对管的尾电流如果共享同一条地金属,会因为寄生电阻产生共模噪声耦合。我会把模拟地分成多个子网络:尾电流源地、折叠支路地、输出负载地,然后在芯片外部单点汇合。这样做虽然会多占用一些金属资源,但换来的PSRR改善非常明显。
另外,如果同一颗芯片上还有数字电路,一定要在模拟区域周围打上双层保护环,并且让保护环连接到干净的地。衬底噪声是后仿提取很难建模的东西,但它真实存在。我的经验是,运放版图越靠近芯片边缘,受数字开关噪声影响越小,因为衬底耦合经过的距离更长,衰减更多。如果布局允许,把模拟核心区尽量放在远离I/O开关电路的一侧。
5. 仿真调试实战:从spec到后仿的完整路径
设计做完不等于仿真过了,仿真过了也不等于流片回来一定对。折叠式共源共栅的调试需要一套系统的验证流程,以及快速定位问题的能力。
5.1 各阶段仿真做什么
前仿阶段,先跑DC看所有管子的工作状态。这个步骤可以写成一个小检查脚本,把所有管子名称、工作区、Vds和Vov全部列出来。只有全部管子都在饱和区,才进入AC、noise、stb、瞬态仿真。
AC仿真看增益曲线和相位曲线,重点看单位增益频率处的相位裕度。STB仿真要用来核实真正的环路特性,因为AC仿真是基于固定工作点的开环交流分析,对于闭环应用,STB更有参考价值。
PVT仿真别偷懒。工艺角至少跑tt、ff、ss三个,电源电压按±10%,温度按-40到125度(如果是消费级,-20到85度)。把前面说的Vds/Vov检查脚本放到PVT组合里跑一遍,任何一个组合里出现管子进入线性区,都要追根究底。
后仿阶段必须做一次完整的寄生提取。提取之后重新跑DC和AC,重点对比GBW和相位裕度的变化量。如果GBW下降了20%以上,果断回头查折叠节点和输出节点的寄生电容;如果相位裕度恶化严重,查偏置网络节点的RC参数是不是引入了额外极点。
5.2 常见问题定位与修复:一个GM退化案例
我拿一个真实案例讲排查思路。某次设计,前仿增益做到了68dB,版图完成后仿一跑,增益掉到42dB,当时整个人都愣了。
排查过程是这样的:第一步先看DC工作点,后仿提取后管子的阈值电压不会有那么大变化,但Vds会变。果然,M7的Vds从0.35V降到了0.12V,管子已经从饱和区掉到了线性区的边缘。第二步查为什么,发现寄生提取后的地网络电阻很关键——折叠支路的回流地电流在寄生地电阻上产生了一个0.23V的压降,相当于M7源端电位被抬高了,Vds自然被压缩。第三步解决,把折叠支路的地网络单独出来走宽金属到总地,寄生电阻从几十欧降到个位数,Vds恢复正常,后仿增益回到64dB。
这个案例说明一件事:很多性能下降不是管子本身的问题,而是版图寄生改变了DC工作点。遇到后仿性能崩溃,第一反应不应该是去调前仿电路,而是用后仿的DC工作点表和前仿的做逐管对比,哪里偏差大,哪里就是问题源头。
5.3 设计备忘:如何记录迭代过程
标题里的“备忘”两个字,我理解为设计者对自己的提醒。模拟设计是一个强经验依赖的领域,同一个拓扑换一个工艺、换一组spec,工作点全部重来。如果不记录,三个月后再回来看这个设计,你根本想不起当初为什么在M7栅极串了颗电阻,为什么M3取了5um,为什么折叠节点专门走了金属二。
我建议每个运放设计都维护一份迭代记录表,每调整一次记一次。一个比较实用的格式是:
| 版本 | 核心改动 | DC状态检查 | 增益变化 | GBW变化 | 相位裕度 | 结论 |
|---|---|---|---|---|---|---|
| v1.0 | 初始设计 | 全饱和 | 66dB | 190MHz | 58度 | 基准 |
| v1.1 | 折叠管尺寸L从1u加到2u | 全饱和 | 68dB | 180MHz | 55度 | 增益改善,带宽略降 |
| v1.2 | 输出级电流从30uA降到20uA | M6进入线性区 | 40dB | — | — | 失败,回退 |
| v1.3 | 电流恢复30uA,加大输出管W | 全饱和 | 68.5dB | 175MHz | 61度 | 可投版 |
这张表是我的项目复盘工具,也是转交任务时的交接文档。别等到流片前的最后一刻才记,每完成一轮仿真就顺手更新,后面能省很多自我怀疑的时间。
另外,有一个小技巧我一直用到现在:把每次仿真的关键测试点和结果曲线截图存到跟项目同步的文件夹里,按日期命名。版本管理工具可以记录代码,但记录不了设计思路,这个文件夹就是你的“设计日志”。遇到PDK更新需要重新跑仿真时,这些记录能帮你快速判断新结果是否只是pdk版本差异导致的工作点漂移。
做折叠式共源共栅这几年,我最深刻的一点体会是:这个拓扑和“一次做对”这件事天生有仇,但这恰恰是它的价值所在。每个管子、每条偏置支路、版图上的每一段走线,都会在某一个你不注意的角度偷偷影响最终性能。真正把设计流程跑顺之后,你会发现自己对模拟电路的理解会上一个台阶,因为折叠式逼着你想清楚每一毫安的电流流向了哪里,每一毫伏的电压余量撑起了什么性能。下次再看到这个结构,别急着套模板,从spec反推,把工作点算清楚,再把版图当成电路的一部分来设计,它会给你非常扎实的回报。