折叠式共源共栅放大器(Folded Cascode Amplifier)大概是模拟IC设计里被用得最多的单级运放结构了。做ADC采样保持、LDO误差放大器、基准源缓冲、开关电容滤波器,只要需要OTA(跨导放大器),它往往都是第一个被拉出来评估的候选拓扑。这篇文章是我自己完整做了一轮折叠式共源共栅放大器后整理出来的备忘,从结构选型逻辑、指标反推、偏置设计,到仿真调参和版图避坑都有,适合正在做课程设计、准备流片或者想系统复盘这个结构的同学。我尽量把每一步为什么这么做讲透,而不是丢一堆公式让你自己猜。
1. 从套筒式到折叠式:为什么要把共源共栅"折"一下
1.1 套筒式的一个死穴,逼出了"折叠"这种折中方案
在做折叠式之前,先得搞明白它到底在解决什么问题。共源共栅放大器的老祖宗是套筒式(Telescopic Cascode),增益能做得很高,一个单级就能到60dB以上,功耗还低,噪声表现也好。但它有两个非常难受的缺点:一是输入共模范围极窄,输出摆幅也小,在现代低电压工艺下简直寸步难行;二是它没法把输出直接短接到反相输入端做单位增益缓冲器,因为一旦短接,输出端的直流电平就会把输入管的偏置点彻底破坏,自偏置这条最常用的反馈路径直接被堵死。
折叠式共源共栅的核心思路,是把输入对管的电流路径和共源共栅负载的直流电流路径分开。输入对产生的信号电流在一个"折叠节点"转个弯,流入上方的共源共栅负载(以PMOS输入为例),直流电流则由额外的电流源提供。这样一来,输入共模电压可以做到接近地电位,输出端也能有接近电源轨的摆动范围,还允许输出和输入直接短接做单位增益跟随。代价是多了几条电流支路,功耗上去了,折叠节点上的寄生电容还会影响次主极点的位置。但综合下来,折叠式在通用性上的优势远远盖过这些代价,这也是为什么它在实际项目中几乎成了默认选择。
1.2 折叠式共源共栅的拓扑骨架:每个管子都不是白放的
我们来拆一下这个结构的骨架。以一个典型的PMOS输入折叠式共源共栅OTA为例,整个电路可以分成四个功能块:输入跨导级、折叠节点、共源共栅输出级、尾电流源和偏置网络。输入对管M1/M2(PMOS)负责把差分输入电压转换成差分电流,它们的源极接尾电流源,漏极接到折叠节点。折叠节点上还有来自上方的电流源(PMOS电流镜)注入直流电流,以及共栅管(NMOS)的源极。信号电流在折叠节点处"折"进共栅管,再经过共源共栅管的进一步增益提升,最后在输出节点以高阻抗形式呈现。
每个管子存在的意义都很明确:共栅管负责提供增益的第二级cascode作用,把输出阻抗抬高;上面的PMOS电流源既提供折叠支路的直流电流,又是输出端的高阻抗负载;尾电流源决定了整个差分对的跨导和摆率;偏置网络则确保所有这些管子都工作在饱和区。少了任何一个,这个结构要么增益不够,要么共模范围不对。理解了每个管子的角色,后面算尺寸、调偏置的时候就不会像无头苍蝇一样乱试。
2. 设计指标与电路搭建:先算清楚再动手
2.1 从指标反推电路参数:一个0.18µm工艺的完整算例
纸上谈兵没有意义,我直接用一个实际设计来演示指标怎么反推参数。假设工艺是0.18µm CMOS,电源电压1.8V,负载电容CL=1pF,目标指标是:直流增益≥60dB,单位增益带宽GBW≥50MHz,相位裕度≥60°,摆率SR≥50V/µs,总功耗≤1mW。
第一步算尾电流。摆率公式在校准电流源限制的情形下是SR = ITAIL / CL,代入50V/µs和1pF,得到ITAIL≥50µA。考虑到实际电流源在摆率极限时会有压降导致电流缩水,我把尾电流取到80µA,留足裕量。
第二步算输入对跨导。对于单级OTA,GBW近似等于gm_in / (2π·CL),这里CL用负载电容1pF,反推gm_in≥2π×50M×1pF≈314µS。有两点值得注意:第一,如果后面接了更大的有效负载(比如采样开关的栅电容并联),这个数字还要上调;第二,如果要考虑输入管的噪声贡献,gm_in还得再大一些才能把输入参考噪声压下去,这里先按最小值算,后面调参再兼顾。
第三步算增益需要的输出阻抗。DC增益Av = gm_in × Rout,增益60dB对应1000倍,所以Rout至少得是1000/314µS≈3.2MΩ。共源共栅结构天然能提供几十到几百兆欧的输出阻抗,所以这个值在实际工艺下并不难达成,但如果你发现仿真增益差了一截,优先怀疑输出阻抗是不是被寄生漏电或者管子进入了线性区拖低了。
功耗方面,尾电流80µA加上两条折叠支路,每条我取了尾电流的一半左右即40µA,总静态电流约160µA,乘以1.8V得到288µW,远小于1mW的预算。这个电流分配比例不是随便定的,折叠支路电流越大,折叠点的寄生极点频率越低,带宽越受影响;取得太小,共栅管的跨导又不够,会损失增益和输出摆幅。经典做法是让每条折叠支路电流为尾电流的0.5倍到1倍之间,我习惯从0.5倍起步。
2.2 偏置电压设计:让每个管子都待在该待的地方
偏置是整个设计里最容易被新手忽略、却最能决定成败的部分。折叠式共源共栅需要的偏置电压至少有四个:尾电流源栅压、折叠支路电流源栅压、共栅管栅压、以及可能需要的共源共栅负载栅压。这些偏置一般由一个偏置网络统一产生,常见做法是用一个二极管连接的MOS管配合电流镜复制电流。
具体到cascode偏置,光一个栅压不够,还得保证被偏置的管子有足够的VDS余量。以NMOS共栅管为例,它的栅压必须使得源端(折叠节点)的电压既能保证输入对管漏端有足够的VDS不进入线性区,又能保证下方电流源有足够的VDS。通常做法是叠两个二极管连接管生成一个"栅压+一个过驱动电压"的偏置,让共栅管源极电位自动稳定在合适的范围内。我这里用了一个最经典的cascode偏置结构:两个二极管连接管串联,从中间节点取偏置给共栅管栅极,从顶端取偏置给电流源栅极,旁边的电阻只是为了ESD和启动考虑,设计时可以留成可选项。
偏置网络本身也是一条电流支路,会贡献功耗和噪声。我习惯把偏置电流设计为主电路总电流的5%~10%,既不至于浪费功耗,又能保证电流镜的匹配精度。在这次的算例里,偏置电流取10µA,功耗增加18µW,完全可接受。仿真中一个重要检查项就是:在所有corner和温度下,偏置网络都应该让主电路的偏置点保持良好的裕量,如果某个corner下共栅管VDS只有50mV了,说明偏置电压过低,需要提高Vbias或者减小电流镜比例。
2.3 管子尺寸估算:一个可以反复套用的计算流程
管子尺寸估算不是一蹴而就的,需要多轮迭代,但有一个清晰的先后顺序。先把电流分配确定下来:尾电流80µA,每条折叠支路40µA,输出级的共源共栅电流也是40µA。然后按电流密度需求算宽长比。
输入对管M1/M2的W/L由跨导决定。饱和区公式gm = µCox(W/L)(VGS - VTH),其中过驱动电压Vov = VGS – VTH。我设目标Vov为150mV到200mV,取µCox = 200µA/V²(0.18µm工艺PMOS典型值),gm需要314µS,那么W/L = gm / (µCox·Vov) = 314 / (200×0.2) ≈ 7.85,取整到10。注意这里有个工程细节:过驱动电压越低,gm效率越高、噪声越小,但匹配性越差、管子越大。我见过很多人在这一步贪心把Vov压到100mV以下,结果流片回来失调大得离谱。常用经验是Vov做到150mV到250mV之间,匹配和性能折中。
共栅管和电流源管子的尺寸按电流密度和需要的输出阻抗来定。共栅管的W/L取与电流密度匹配的较大长沟道,比如L取0.5µm到0.8µm能显著提高输出阻抗,W则按电流密度推算。电流源管同样用长沟道来保证高阻抗。具体来说,输出阻抗Rout约等于共栅管跨导乘以其输出阻抗再乘以下方管的输出阻抗(gm_cg·rds_cg·rds_cs),这会形成一个非常高的等效电阻。我在设计里把L设成0.6µm,和最小尺寸0.18µm相比,输出阻抗大约提升了3倍多,换来的是面积增加和寄生电容变大,对于1pF负载这个折中非常划算。
尺寸定好后别忘了做一轮快速DC扫描,确认所有管子的VDS都大于Vov,并且至少有100mV以上的饱和裕量。这一步看似琐碎,却能在进入繁琐的AC仿真前就筛掉一半的偏置问题。
3. 仿真调试与参数权衡
3.1 DC工作点检查:30秒定位管子状态
开仿真的第一步永远是DC工作点,不是AC。一个折叠式共源共栅放大器少说也有十来个管子,任何一只离开饱和区都会让增益和线性度急剧恶化。我习惯用Cadence ADE L里的DC Operating Point表单,挨个检查VDS、VGS和Vov的关系:VDS > Vov + 50mV才认为是饱和态。重点盯几个位置:输入对管的漏端电压(也就是折叠节点电压)、共栅管的漏端电压、电流源的VDS、以及输出节点的直流电平。
折叠节点的电压特别关键。它不应该太低,否则下方电流源的VDS不够;也不应该太高,否则输入对管的VDS太小。理想情况下,折叠节点电压应该被偏置网络稳稳地控制在供电轨中段偏下一点的位置,让上下两边的管子都有余量。如果你发现折叠节点电压偏离了预想值,不要急着改管子尺寸,先检查偏置电压是不是被offset或者电流镜失配拉偏了。很多时候是偏置网络里的参考电流源没选对,导致偏置电压整体平移,把所有工作点都带跑了。
还有一个容易翻车的点:电源上电时的启动。偏置网络如果缺少启动电路,仿真时会出现两个稳态,一个正常工作,一个所有电流都为零。遇到DC工作点全零的情况,先别怀疑电路接错,找找有没有启动通路让偏置电流从零跳出来。很多初学者在这里卡一整天,其实加一个简单的二极管连接的弱上拉管就能解决。
3.2 AC仿真看什么:增益、带宽、相位裕度一页看全
AC仿真是检验设计是否达标的主战场。设置AC激励为差分小信号1V,从1Hz扫到100MHz或1GHz,观察幅频和相频曲线。低频段的平坦增益应该是设计目标值,在你的模型下,增益可能和手算得差20%~30%,这很正常,因为手算用的是简化公式,实际管子有沟道长度调制、衬底偏置效应等影响。
GBW在曲线上看-3dB之后以-20dB/dec斜率穿过0dB的点,或者直接看增益降到1倍时的频率。如果GBW低于目标50MHz,有两个主要方向:一是增大输入对gm,也就是加大尾电流或者加大W/L;二是减负载电容。但要注意,加大gm的同时会拉低输出极点或者抬高折叠点寄生效应,相位裕度可能会往下走,所以改了之后一定要重新测PM。
相位裕度看的是GBW处的相位。60°是工程上比较稳妥的值,如果PM低于45°,再加一个电容负载或者加大共栅管尺寸基本会让运放接近振荡边缘。实际调PM最快的方法不是加补偿电容,而是先看是不是输出端大负载和输出阻抗形成的极点主导了次极点位置。如果次极点频率不够高,考虑减小共栅管的L以降低其寄生电容,或者减小折叠支路电流源管子的尺寸来降低输出节点的寄生电容。加一个米勒补偿电容往往是最后的手段,因为会吃掉GBW。
仿真一遍下来只改一个参数,这是个铁律。我见过太多人一口气改三个尺寸然后发现结果变好了,却完全不知道是哪个改动起了作用。每改一次,就把DC工作点、增益、GBW、PM记录到表格里,和上一次对比,这样调试过程才是可追溯的。
3.3 增益不够、相位不够、功耗超标:调参的三个实战场景
场景一:增益只有40dB,远低于60dB目标。先看所有管子是不是都在饱和区,这是最快的筛法;如果都在饱和区,那就是输出阻抗不够。加大共栅管和电流源管的L是最直接的手段,因为Rout和L近似成正比;也可以降低折叠支路电流,因为电流减小后rds增大。我实际调的时候会先扫一遍共栅管L从0.3µm到1µm,看增益变化趋势,再结合带宽的需求确定折中值。
场景二:GBW达标但PM只有35°,相位裕度不足。这种情况通常意味着在GBW以内还有一个尚未被完全推离的次极点。折叠点是最容易出问题的地方,因为它上面挂了输入对管的漏端电容、共栅管源端电容、上方电流源的漏端电容,三个电容汇聚在一起。为了提升这个极点的频率,可以减少输入对管的宽度(减小Cgd和Cds)、减小上方电流源管子的宽度,或者减小共栅管的尺寸。代价是增益或噪声会有所恶化,需要按指标优先级做取舍。
场景三:总功耗超过1mW。先看电流镜比例是不是按设计执行的,有时候一个偏置电压给偏高了,所有支路电流都跟着放大。如果是性能指标需要的大电流,那只能重新分配电流预算,比如把尾电流从80µA降到60µA,同时接受GBW目标的下降。在这里要尤其提醒一句:在电路设计里追求"全指标同时最优"是不现实的,你在流片前必须排序哪些指标是硬指标、哪些可以妥协,否则会在仿真里消耗大量时间做无谓的挣扎。
4. 常见问题排查与版图经验
4.1 常见问题速查表:症状、原因、解决一图看懂
在设计过程中我积累了不少调试经验,这里整理成一个速查表,遇到问题可以按图索骥。
| 症状 | 可能原因 | 解决方向 |
|---|---|---|
| DC工作点全为0 | 偏置网络没有启动电路 | 增加弱启动通路,让偏置电流从0跳变到正常值 |
| 某只管子VDS只有几十mV | 偏置电压选错或电流分配失衡 | 重新核算偏置网络,调整Vbias实现对VDS的重新分配 |
| 增益远低于手算值 | 有管子进入线性区 | 检查输出端和折叠点的直流电平,恢复饱和状态 |
| GBW不足 | 输入对gm偏小 | 加大尾电流或输入对W/L;确认补偿电容没有过大 |
| 相位裕度低于45° | 次极点距离GBW太近 | 排查折叠点寄生电容,减小相关管子的尺寸 |
| 输出摆幅上不去 | 电流源管VDS余量不足 | 降低偏置电压或减少cascode级数,给输出留摆幅 |
| 失调电压偏大 | 输入对匹配不良 | 版图上做交叉耦合,加大输入对L和W |
| 噪声偏大 | 输入对gm不够大 | 增大输入对尺寸或电流,优化后续级跨导 |
还有一个经常被忽略的坑:共模反馈。很多人设计全差分折叠式放大器时会漏掉共模反馈环路。单端输出不需要,但全差分结构如果不加CMFB,输出共模电压会漂到电源或地,整个电路直接罢工。所以如果你做的是全差分版本,务必把CMFB设计纳入计划,而不是等仿真出问题再补。
4.2 版图布局中的匹配与寄生控制
设计完成进入版图阶段后,前面电路上的所有努力都可能因为布局不合理前功尽弃。折叠式共源共栅放大器最敏感的是输入对管和电流镜的匹配,以及折叠节点的寄生电容。
输入对管的匹配决定失调电压和共模抑制比。标准做法是交叉耦合布局,即M1和M2的管子采用ABBA方式排列,周围加dummy管,保证两边看到的工艺梯度一致。输入对管还要尽量远离功率管和噪声源,用保护环隔离衬底噪声。如果面积允许,把输入对管的L比电路设计值稍微加大一点,能明显减少随机失配。
电流镜的匹配同样重要。所有电流镜管用同方向的版图排列,共用质心布局,避免梯度效应。偏置网络的电流镜和主电路的电流镜要靠得足够近,温度梯度不同会导致镜像电流产生几个百分点甚至更大的偏差,这个偏差会直接变成放大器的失调和增益误差。
折叠节点是最需要控制寄生电容的位置。因为这个节点上的寄生电容直接决定次主极点频率,所以在版图里要尽量缩小金属走线面积,少放过孔,减少不必要的金属层跨越。我当年第一次流片时就是没在意这个节点,结果寄生效电容比预估大了三倍,PM直接从60°掉到30°,被迫回去重新调整电路尺寸。这个教训换成一句话就是:电路设计阶段就要给版图寄生留余量,特别是折叠节点这种关键位置。
关于电源和地线的布线也要多说一句:折叠式结构有多个电流源支路,电源线上的IR drop会影响各支路电流的一致性。尽量加宽电源和地线,或者用多层金属并联走线,减小寄生电阻。如果你用的是全差分结构,还要注意两条信号路径的对称性,不对称会让共模抑制比和电源抑制比都出现明显恶化。
4.3 最后再分享一个调参经验:每轮只改一个变量
整个设计做完,我最想说的一点其实是调试习惯。模拟IC设计是个迭代过程,没有哪一版电路是一步到位的。我在调试折叠式共源共栅放大器的时候养成了一个习惯:每次仿真只改变一个参数,然后把DC工作点、增益、GBW、PM、功耗五个指标全部记录在同一张表格里。这样迭代十几轮之后,你手里就有一张清晰的"参数-性能"地图,哪颗管子对哪个指标影响最大、哪个参数已经走到了性价比拐点,全都一目了然。这在做后续的工艺角仿真和温度扫描时尤其有用,因为你已经知道关键的敏感点在哪儿,可以有针对性地加余量,而不是盲目地把所有管子都放大一圈去硬扛PVT。
另外,复杂一点的折叠式共源共栅设计做完之后,强烈建议补一遍蒙特卡洛仿真,专门看输入对管的失配对失调电压的影响。很多设计在典型条件下表现完美,一跑失配就彻底翻车。提前看到这个风险,你可以在版图阶段就有意识地优化匹配,而不是等流片回来才发现问题。
折叠式共源共栅放大器这个结构之所以经典,是因为它在增益、带宽、摆幅、功耗之间找到了一个非常适合单级运放的平衡点。真正把它吃透,不只是会套公式算尺寸,而是要理解每一个管子在电路里的角色,知道什么时候该动哪颗管子的什么参数。希望这份备忘能让你少走一些我当年走过的弯路。