☰
Cascode共源共栅放大器设计:从原理到仿真实战
2026/9/27 2:53:45 网站建设 项目流程

模拟IC设计这行有个挺有意思的现象:很多人学完拉扎维那本书,小信号模型算得飞起,手推增益公式能写满两页纸,但一到真正画电路、跑仿真,面对一个简单的共源放大器,增益死活上不去,带宽也窄得可怜。这时候老工程师通常会丢过来一句——“加个cascode试试”。问题来了,cascode到底是什么?它凭什么能提升放大器性能?加了它之后又付出了什么代价?

这篇内容就是围绕Cascode共源共栅结构展开的,从它为什么能提升增益、提升输出阻抗的底层原理,到实际设计中的偏置策略、输出摆幅损失、噪声表现,再到折叠式共源共栅和cascode电流镜这些常见变体,我会把能想到的实操细节都摊开讲。适合正在学模拟IC设计、准备做放大器电路、或者仿真结果和理论对不上号的朋友参考。不堆公式,但关键的推导逻辑会讲清楚;不搞纯理论,每一步都尽量落到实际电路和仿真验证上。

1. 从共源放大器的增益瓶颈说起

1.1 一个共源放大器到底能放大多少倍

先看最基础的共源放大器。一个NMOS,栅极接输入,源极接地,漏极通过一个电阻RD接到电源。它的低频小信号增益是:

Av = -gm × (RD || ro)

其中gm是晶体管的跨导,ro是输出电阻。这个公式看起来简单,但实际设计时会发现两个尴尬的事。

第一,RD不能无限大。RD越大,增益越高,但RD上的直流压降也越大,输出节点的静态工作点会被拉低,最终晶体管可能进入线性区。假设电源电压1.8V,你想让输出静态点落在0.9V,那RD上的压降就是0.9V,RD的取值就被电流决定了。

第二,ro本身也不大。在典型的0.18μm工艺里,一个中等尺寸的NMOS,沟道长度取最小尺寸时,ro可能只有几十kΩ。即使RD取很大,增益也就几十倍,换算成dB大概30dB出头。对于很多应用来说,这个增益远远不够。

我刚开始做设计的时候,总觉得是自己管子尺寸没调好,反复改W/L,结果增益就是上不去。后来才明白,本征增益gm×ro才是这个结构的理论上限,跟你怎么调尺寸关系不大。在长沟道工艺里,gm×ro大概在20到50之间;到了先进工艺节点,这个值还会更低。所以单管共源放大器的增益天花板,其实在选工艺的时候就基本定死了。

1.2 输出电阻为什么是增益的关键

把增益公式拆开看:Av = -gm × Rout,其中Rout = RD || ro。gm由偏置电流和管子尺寸决定,在给定功耗下可调范围有限。真正能做大文章的是Rout。

这里有个直觉:放大器本质上是一个压控电流源,它把输入电压转换成电流,这个电流流过输出端的等效电阻,产生输出电压。输出电阻越大,同样的电流变化就能产生更大的电压摆幅,增益自然越高。

所以提升增益的核心思路就一条:在不牺牲太多其他指标的前提下,尽可能提高输出节点的等效电阻。RD受限于电压余量,ro受限于工艺和管子尺寸,那有没有办法在输出端“制造”出一个更大的等效电阻?

Cascode就是干这个的。

1.3 从“电阻”到“有源负载”的思路转换

在讨论cascode之前,先提一个常见的替代方案:用电流源做负载。把RD换成一个PMOS电流源,它的输出电阻是ro_pmos,通常比同等面积的电阻大得多。这样Rout = ro_nmos || ro_pmos,增益能提升不少。

但电流源负载也有问题。PMOS的ro虽然比电阻大,但也就是几百kΩ量级,而且两个ro并联之后还会打折。更重要的是,电流源负载的输出摆幅受限于电流源的过驱动电压,输出高电平最多到VDD减去PMOS的Vdsat。

所以不管是电阻负载还是电流源负载,单管共源结构的增益提升都有天花板。要突破这个天花板,就得从结构上想办法——让输出电阻不再只是“一个管子的ro”,而是“两个管子叠加后的等效电阻”。这就是cascode的核心思想。

2. Cascode结构提升输出阻抗的底层逻辑

2.1 共源共栅的电路形态与直觉理解

Cascode的结构很直观:在共源放大管的漏极上,再串一个共栅管。底下那个管子(M1)是输入管,栅极接输入信号,源极接地;上面那个管子(M2)是cascode管,栅极接一个固定的偏置电压,源极接M1的漏极,漏极接负载。

从直流通路看,M1和M2串联,流过相同的电流。从交流通路看,M1还是把输入电压转换成电流,但这个电流不再直接流向负载,而是先经过M2的源极,再从M2的漏极流出。

关键变化在于:从输出节点往下看,看到的等效电阻不再是M1的ro,而是被M2“放大”过的阻抗。

2.2 输出阻抗的推导:为什么能提升gm×ro倍

这个推导值得认真走一遍,因为它解释了cascode的全部价值。

从M2的漏极往下看,M2本身是一个共栅级。共栅级的输入阻抗(从源极看进去)大约是1/gm2,但这是在考虑它源极接的阻抗之前的粗略值。更准确地说,如果M2源极接了一个电阻Rsource,那么从M2漏极看进去的阻抗是:

Rout2 ≈ ro2 × (1 + gm2 × Rsource) + Rsource

现在Rsource就是M1从漏极看进去的阻抗,也就是ro1。代入:

Rout ≈ ro2 × (1 + gm2 × ro1) + ro1 ≈ gm2 × ro2 × ro1

这个结果非常漂亮。原本只有ro1,现在变成了gm2 × ro2 × ro1,放大了gm2 × ro2倍。而gm2 × ro2正是M2的本征增益,通常在20到50之间。也就是说,cascode把输出阻抗提升了一到两个数量级。

用生活化的类比:M1就像一个水管,水流(电流)由输入电压控制。原本水流直接冲到出口,出口的“阻力”就是ro1。现在在出口前面加了一个阀门M2,这个阀门会感应水流的变化并自动调节开度,使得从外面看进去,水流的“等效阻力”变得非常大。M2的gm越大,这种自动调节越灵敏,等效阻力就越大。

2.3 增益提升的量化:从理论到仿真

把cascode的输出阻抗代入增益公式:

Av = -gm1 × Rout ≈ -gm1 × gm2 × ro1 × ro2

如果M1和M2是同样的管子,gm1 = gm2 = gm,ro1 = ro2 = ro,那么:

Av ≈ -(gm × ro)²

本征增益的平方。原来单管只有gm×ro,现在变成了(gm×ro)²。如果gm×ro = 30,单管增益是30倍(约30dB),cascode增益就是900倍(约59dB)。这就是为什么cascode在需要高增益的场合几乎是标配。

但这里有个前提:负载阻抗必须足够大。如果负载是一个小电阻,那Rout = Rout_cascode || RL,RL会主导,cascode的提升效果就被吃掉了。所以cascode通常配合电流源负载或高阻抗负载使用,才能发挥全部威力。

我在实际仿真中验证过这个结论。用一个0.18μm工艺的NMOS,W/L设为10/1,偏置电流100μA,单管共源(电流源负载)的增益仿真出来大概38dB。加上cascode管之后,增益跳到了72dB左右。理论计算gm×ro大约35,平方后约60dB,仿真值偏低是因为负载电流源的ro有限,并联后拉低了总阻抗。但趋势完全对得上。

2.4 输出摆幅的代价:增益不是白来的

Cascode提升了增益,但代价也很明显:输出摆幅被压缩了。

在单管共源结构中,输出节点的最低电压大约是M1的Vdsat(过驱动电压),大概0.2V左右。加上cascode管M2之后,输出最低电压变成了M1的Vdsat加上M2的Vdsat,也就是两个过驱动电压之和,大概0.4V。如果负载是PMOS电流源,还要再加上PMOS的Vdsat,总共可能到0.6V甚至更高。

在低电源电压设计中,这个摆幅损失是致命的。比如电源电压1.2V,输出摆幅只剩0.6V,信号稍微大一点就削顶了。所以cascode不是无脑加就行的,得看你的电源电压和信号摆幅要求。

这里有个经验:如果电源电压低于1.5V,单层cascode就要慎重考虑了。可以考虑折叠式cascode,或者用其他增益提升技术(比如正反馈、增益自举等),但那些技术各有各的复杂度。

3. 偏置策略与管子尺寸的实操取舍

3.1 Cascode管的栅极偏置怎么定

Cascode管M2的栅极需要一个固定的直流偏置电压Vb。这个电压的取值直接决定了M2的工作状态和输出摆幅。

M2要工作在饱和区,条件是Vds2 > Vdsat2。而Vds2 = Vout - Vsource2,其中Vsource2是M1的漏极电压,也就是M1的Vds1。所以:

Vout > Vds1 + Vdsat2

为了让输出摆幅最大,我们希望Vds1尽量小,刚好让M1处于饱和区边缘,也就是Vds1 = Vdsat1。同时Vdsat2也尽量小。所以Vb的取值应该让M2的源极电压(即M1的漏极电压)大约等于Vdsat1。

具体来说,Vb = Vgs2 + Vsource2 = Vgs2 + Vdsat1。而Vgs2 = Vth2 + Vdsat2。所以:

Vb ≈ Vth2 + Vdsat2 + Vdsat1

这个电压通常通过一个二极管连接的管子或者电阻分压来产生。实际设计中,Vb往往由一个偏置电路提供,这个偏置电路需要跟踪工艺角和温度变化,否则M2可能进入线性区,cascode就失效了。

我踩过的一个坑:早期设计时用理想电压源给Vb,仿真结果很好。但换成实际偏置电路后,增益掉了十几dB。原因是偏置电路的输出阻抗不够低,或者偏置电压随工艺角偏移,导致M2的Vds不够。后来改用二极管连接的NMOS加电流源产生Vb,问题才解决。

3.2 M1和M2的尺寸怎么配

一个常见的误区是让M1和M2完全一样。实际上,两者的优化目标不同。

M1是输入管,它的gm决定了整个放大器的跨导。在给定偏置电流下,gm = sqrt(2 × μCox × W/L × Id)。要增大gm,可以增大W/L,但W/L太大会增加寄生电容,影响带宽。

M2是cascode管,它的gm2出现在输出阻抗公式里,所以gm2越大,输出阻抗越高。但gm2增大同样意味着W/L增大,寄生电容增加。而且M2的源极有一个寄生电容Cgs2,这个电容和M1的ro构成一个极点,可能影响高频响应。

实际经验是:M2的W/L可以比M1稍大一些,但不要大太多。通常取相同或1.5倍左右。如果M2太大,它的Cgs2会降低cascode节点的阻抗,反而削弱增益提升效果。

另外,M2的沟道长度可以取比最小尺寸稍大,以提高ro2。因为输出阻抗公式里ro2也是乘数因子,增大ro2直接提升增益。但沟道长度增大意味着面积增大、寄生电容增大,需要折中。

3.3 偏置电流的选择与功耗权衡

偏置电流Id决定了gm和ro。gm与sqrt(Id)成正比,ro与1/Id成反比。所以增益Av ≈ gm1 × gm2 × ro1 × ro2,代入关系:

gm ∝ sqrt(Id),ro ∝ 1/Id

Av ∝ sqrt(Id) × sqrt(Id) × (1/Id) × (1/Id) = 1/Id

也就是说,增益与偏置电流成反比。电流越小,增益越高。这符合直觉:电流小,ro大,增益高。

但电流不能无限小。第一,gm会下降,导致带宽降低;第二,电流太小,管子可能进入亚阈值区,模型不再准确;第三,噪声性能会变差。所以偏置电流的选择是一个多目标优化问题。

我的做法是:先根据带宽要求确定gm1(因为GBW = gm1 / CL),然后根据增益要求确定总电流。如果增益不够,优先增大管子沟道长度而不是减小电流,因为减小电流会影响带宽和噪声。

4. 折叠式共源共栅:低电压下的折中方案

4.1 套筒式与折叠式的结构差异

前面讲的是套筒式cascode(telescopic cascode),输入管和cascode管是同一类型,直接串联堆叠。这种结构增益高、噪声低、功耗小,但输出摆幅损失大,而且输入共模范围窄。

折叠式cascode(folded cascode)换了个思路:输入管M1仍然是NMOS,但cascode管M2换成PMOS,电流从M1的漏极“折叠”到PMOS支路。这样M1和M2不再是串联堆叠,而是并联在不同支路上,输出节点的电压余量要求降低了。

具体来说,折叠式cascode的输出最低电压大约是M1的Vdsat加上PMOS电流源的Vdsat,不再需要叠加两个NMOS的Vdsat。在低电源电压下,这个优势非常明显。

但折叠式的代价是:功耗更大。因为折叠支路需要额外的电流,通常总电流是套筒式的两倍左右。而且折叠节点(M1漏极和M2源极的连接点)有较大的寄生电容,高频性能稍差。

4.2 折叠式cascode的偏置细节

折叠式cascode的偏置比套筒式复杂一些。M1的漏极电压由PMOS cascode管的源极电压决定,而这个电压又由PMOS的栅极偏置决定。需要确保M1的Vds足够大,同时PMOS cascode管也处于饱和区。

一个实用的偏置方法是:用两个二极管连接的管子产生PMOS cascode的栅极电压,再用一个NMOS电流源给M1提供偏置电流。这样整个偏置网络可以跟踪工艺角和温度。

在实际仿真中,我习惯先扫描PMOS cascode管的栅极电压,观察输出摆幅和增益的变化曲线,找到最佳偏置点。通常这个点对应的输出摆幅比套筒式大0.2到0.3V,但增益会低几个dB。

4.3 折叠式cascode的噪声表现

折叠式cascode的噪声通常比套筒式差。原因是折叠支路上的PMOS电流源会贡献噪声,而且这个噪声直接出现在输出端。套筒式cascode的电流源噪声被cascode管隔离了一部分,影响较小。

如果噪声是首要指标,套筒式cascode是更好的选择。如果电源电压低、摆幅要求高,那就只能接受折叠式的噪声代价,或者通过增大输入管gm来降低输入参考噪声。

5. Cascode电流镜:偏置电路里的常客

5.1 普通电流镜的精度问题

Cascode不仅用在放大器里,在电流镜里也是常客。普通电流镜(两个管子栅极相连、源极接地)的输出电阻就是ro,镜像电流的精度受限于输出电阻。如果输出节点的电压变化,镜像电流也会跟着变,这在精密偏置电路里是不可接受的。

Cascode电流镜在普通电流镜的输出管上再串一个cascode管,把输出电阻从ro提升到gm×ro×ro。这样即使输出节点电压变化,镜像电流也能保持稳定。

5.2 Cascode电流镜的电压余量代价

Cascode电流镜的代价同样是电压余量。输出节点的最低电压从Vdsat变成了2×Vdsat。在低电压工艺里,这个代价有时候无法承受。

一个常见的折中方案是低压cascode电流镜(low-voltage cascode current mirror)。它通过一个电平移位电路,让cascode管的栅极电压刚好比输出管的漏极电压高一个Vgs,从而把输出最低电压降到Vdsat加上一个小余量。这个结构在拉扎维的书里有详细推导,实际用起来也很稳。

我在设计偏置电路时,如果电源电压允许,优先用cascode电流镜,因为它的精度和电源抑制比都更好。如果电源电压紧张,就用低压cascode或者普通电流镜加共源共栅补偿。

5.3 Cascode电流镜在误差放大器中的应用

误差放大器是电源管理芯片里的核心模块,它的增益直接影响环路精度。很多误差放大器采用cascode结构来提升增益,同时用cascode电流镜做负载和偏置。

这里有个设计要点:误差放大器的输出通常需要驱动一个较大的电容负载,所以输出级往往需要一定的驱动能力。纯cascode输出级的驱动能力有限,通常会在cascode后面再加一个源极跟随器或者推挽输出级。

另外,误差放大器的输入失调电压很重要。Cascode结构本身不会引入额外的失调,但如果M1和M2的匹配不好,失调会变大。所以在版图设计时,cascode管和输入管都要做匹配布局,比如共质心结构。

6. 仿真验证与常见问题排查

6.1 增益仿真:AC分析与实际值的差距

仿真cascode放大器的增益,最直接的方法是跑AC分析,看低频增益。但有几个坑需要注意。

第一,AC分析用的是小信号模型,不包含大信号效应。如果管子的静态工作点不对,比如M2进入了线性区,AC仿真可能仍然给出一个看起来不错的增益,但实际电路已经失效了。所以跑AC之前,一定要先跑DC分析,确认所有管子的Vds、Vgs、Vth和区域。

第二,负载效应。如果输出端接了电容负载,AC分析会显示一个主极点,增益在低频是平的,高频滚降。但如果负载是电感或者谐振网络,情况会更复杂。对于纯容性负载,GBW = gm1 / CL,这个公式可以用来快速估算带宽。

第三,仿真精度设置。AC分析的精度受reltol和abstol影响。如果增益很高(比如80dB以上),默认精度可能不够,需要收紧reltol。我通常把reltol设到1e-5,abstol设到1e-15,确保高增益下的仿真结果可信。

6.2 输出摆幅的仿真方法

输出摆幅不能直接从AC仿真看出来,需要跑DC扫描或者瞬态仿真。

DC扫描的方法:固定输入共模电压,扫描输出节点的电压(通过一个电压源强制),观察输出电流的变化。当输出电流偏离正常值超过一定比例时,对应的输出电压就是摆幅边界。

更直观的方法是跑瞬态仿真,给一个正弦输入,逐渐增大幅度,观察输出什么时候开始削顶。这个方法更接近实际使用场景,但比较耗时。

我通常先用DC扫描快速确定摆幅范围,再用瞬态仿真验证。如果摆幅不够,优先检查偏置电压是否合理,然后考虑换折叠式结构或者降低过驱动电压。

6.3 常见问题:增益不升反降

有时候加了cascode管,增益反而下降了。这种情况通常有几个原因。

原因一:M2的偏置电压不对,导致M2进入线性区。这时候M2不再是一个高阻抗的cascode管,而是一个小电阻,输出阻抗反而降低。检查方法是看M2的Vds是否大于Vdsat。

原因二:负载阻抗太小。如果负载是一个小电阻,cascode提升的输出阻抗被负载短路了,总阻抗还是由负载决定。这时候加cascode没有意义。

原因三:寄生电容的影响。在高频下,cascode节点的寄生电容可能形成一个低阻抗通路,降低增益。这时候需要检查cascode节点的极点频率是否低于工作频率。

原因四:仿真设置问题。比如AC分析的频率范围不对,或者精度不够,导致结果不可信。

排查顺序建议:先看DC工作点,再看负载阻抗,最后看频率响应。大部分问题都能在前两步找到原因。

6.4 版图阶段的注意事项

Cascode放大器的版图有几个关键点。

第一,M1和M2的匹配。虽然两者的尺寸可能不同,但它们的相对位置和方向应该一致,以减少工艺梯度的影响。通常采用共质心布局或者交叉指状布局。

第二,cascode节点的寄生电容。这个节点连接M1的漏极和M2的源极,寄生电容包括M1的Cdb、M2的Csb以及连线电容。这个电容会降低高频增益,所以版图上要尽量减小这个节点的面积,连线要短而宽。

第三,偏置线的屏蔽。偏置电压线容易受到噪声干扰,尤其是从电源或地弹跳耦合过来的噪声。在版图上,偏置线应该远离时钟线和开关信号线,必要时加屏蔽。

第四,电源和地的去耦。Cascode放大器对电源噪声比较敏感,尤其是cascode管的栅极偏置如果直接接电源,电源噪声会直接调制cascode管的工作点。所以偏置电路应该有良好的电源抑制比,或者在版图上加去耦电容。

7. 从单管到cascode:一个完整的增益提升路径

7.1 设计流程的梳理

如果让我从头设计一个高增益放大器,我会按这个顺序走:

第一步,确定指标。增益多少dB,带宽多少MHz,输出摆幅要求,功耗预算,噪声要求。这些指标决定了结构选型。

第二步,选结构。如果电源电压高(>1.8V)、增益要求高(>60dB)、噪声要求严,选套筒式cascode。如果电源电压低(<1.5V)、摆幅要求高,选折叠式cascode。如果增益要求不高(<40dB),单管共源加电流源负载就够了。

第三步,定偏置。根据带宽确定gm1,根据增益确定总电流和管子尺寸。偏置电路要能跟踪工艺角和温度。

第四步,仿真验证。先跑DC确认工作点,再跑AC看增益和带宽,再跑瞬态看摆幅和失真,最后跑噪声和电源抑制比。

第五步,版图设计。注意匹配、寄生、屏蔽和去耦。

7.2 一个实际的设计案例

假设要设计一个两级放大器,第一级用套筒式cascode,第二级用共源。电源电压1.8V,总电流1mA,负载电容2pF,目标增益80dB,带宽10MHz。

第一级套筒式cascode:偏置电流200μA,M1的W/L取20/1,M2的W/L取20/1。仿真增益约60dB,GBW约15MHz。第二级共源:偏置电流800μA,W/L取50/1,增益约20dB。两级级联后总增益80dB,带宽受第一级主极点限制,约10MHz。

这个设计的关键是第一级的增益要足够高,否则第二级的增益补不回来。另外,两级之间的极点要拉开,否则可能振荡。通常在第一级输出和第二级输入之间加一个米勒补偿电容,把主极点压低,保证相位裕度。

7.3 增益提升的其他技术路径

Cascode不是唯一的增益提升方法。其他常见技术包括:

增益自举(gain boosting):在cascode管的基础上再加一个辅助放大器,把cascode节点的电压稳定住,进一步提升输出阻抗。增益可以再提升一个gm×ro倍,但辅助放大器增加了复杂度和功耗。

正反馈:通过正反馈部分抵消输出电阻,提升增益。但正反馈容易导致不稳定,实际用得少。

多级级联:简单粗暴,但级数多了之后频率补偿变得困难,而且功耗和面积都上去了。

电流复用:让同一股电流流过多个增益级,提升增益而不增加功耗。但结构复杂,设计难度大。

在实际项目中,选择哪种技术取决于指标要求和设计复杂度预算。Cascode是最成熟、最可靠的选择,其他技术往往是在cascode不够用的时候才考虑。

7.4 我个人的经验总结

做了这些年模拟IC设计,关于cascode有几点体会。

第一,cascode不是万能的。它在高电源电压、高增益、低噪声的场合非常有效,但在低电源电压下会严重限制摆幅。选结构之前一定要先看电源电压和摆幅要求。

第二,偏置是cascode的灵魂。同样的电路结构,偏置设计得好,增益能到70dB;偏置设计得差,增益可能只有40dB。偏置电路要能跟踪工艺角和温度,否则仿真通过但流片失败。

第三,仿真和实测的差距往往在版图上。Cascode节点的寄生电容、偏置线的噪声耦合、电源地的去耦,这些在原理图阶段看不出来,但版图阶段会直接影响性能。所以版图设计要尽早介入,不要等原理图完全定稿了才开始画版图。

第四,不要迷信公式。gm×ro的平方是理论值,实际电路中负载效应、寄生电容、偏置电路的输出阻抗都会打折。仿真验证是必须的,而且要用实际偏置电路仿真,不要用理想电压源。

第五,多和工艺厂沟通。不同工艺的管子特性差异很大,有些工艺的ro特别小,cascode的提升效果有限。在选工艺之前,先看看工艺厂提供的管子特性曲线,估算一下gm×ro的大致范围,再决定用不用cascode。

最后分享一个小技巧:在仿真cascode放大器时,可以先把cascode管用一个理想电流源代替,仿真单管共源的增益,然后再换成实际cascode管,对比两者的差异。这样可以快速判断cascode是否真的起了作用,以及提升幅度是否符合预期。如果提升不明显,就要检查偏置和负载了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询