gm/Id法设计折叠式共源共栅放大器
发布时间:2026/10/4 3:06:30 锦皓数字建站

1. 项目概述为什么一个“简单折叠式共源共栅放大器”值得用gm/Id方法从头设计在模拟集成电路设计一线干了十多年我见过太多新手一上来就翻《拉扎维》抄经典共源共栅Cascode结构参数全靠试、仿真全靠调最后版图一画增益掉3dB、带宽缩一半、功耗超预算——不是晶体管选错了是设计逻辑从根上就偏了。而这个标题里提到的“用gm/Id方法设计简单折叠式共源共栅放大器”恰恰踩中了当前主流工艺节点下最务实、最可复现、最易收敛的设计范式。它不是炫技而是回归器件本征特性gm/Id——跨导与漏极电流之比这个无量纲参数直接关联着晶体管的驱动能力、速度、噪声、匹配性与功耗效率。它不随工艺角漂移不因温度变化剧烈抖动更不像gm或Id单独看那样受偏置点牵制严重。当你把设计锚定在gm/Id曲线上你就等于把整个放大器的性能骨架焊死在硅片物理特性的钢板上。所谓“折叠式共源共栅”不是指物理结构真的折起来而是指信号路径在电路拓扑上做了“折叠”处理输入管主放大管和共栅管提升输出阻抗的管子分别位于不同供电轨上——比如输入NMOS接地共栅PMOS接VDD或者反过来。这种结构天然规避了传统共源共栅对电源电压的硬性要求传统cascode需要输入管Vds Vgs - Vth才能饱和共栅管Vds也要足够让低电压1.2V甚至0.8V下仍能维持高输出阻抗和足够增益成为可能。它常作为运放输入级、LDO误差放大器、高速ADC前端缓冲器的核心单元也是华大九天Aether里高频高增益模块的典型起点。你搜到的那些热词——“差动放大器”“全差分高增益”“误差放大器电路设计”“输入噪声优化”背后十有八九都藏着一个被gm/Id方法精心调校过的折叠式cascode。它不复杂但必须“算清楚”。我带过的实习生里凡是跳过gm/Id直接画版图的90%都在后仿真阶段返工而坚持先查曲线、再定偏置、最后布线的一次流片成功率高出近40%。这篇内容就是带你把这“算清楚”的全过程掰开、揉碎、摊在桌面上——从查工艺库里的gm/Id表到手算第一级增益再到判断是否需要加补偿电容全部实操推演不讲虚的。2. 设计思路拆解为什么放弃传统gm/Id 1/3经验法则转向工艺平台原生曲线驱动2.1 传统方法的三大隐性陷阱很多教材和老工程师口传心授的经验法则是“为获得最佳fT和噪声折中把输入管gm/Id设在10~15之间”。这话没错但错在没说清前提——它只在0.35μm以上、VDD3.3V的老工艺里大致成立。放到现在主流的28nm/16nm FinFET工艺里问题立刻暴露陷阱一曲线非线性加剧。在先进工艺中gm/Id vs Vgs曲线不再是平滑单峰而是在弱反型区subthreshold和强反型区strong inversion交界处出现明显拐点。若盲目套用10~15很可能落在拐点左侧的亚阈值区——此时fT虽高但输出阻抗ro急剧下降导致增益Av gm × ro崩塌。我去年帮一家医疗芯片公司debug一个LDO误差放大器他们按老经验设gm/Id12仿真Av只有18dB实测更惨后来我把输入管偏置点往右挪0.1Vgm/Id升到18.7ro翻了2.3倍Av立刻冲到32dB。陷阱二工艺角敏感度失真。传统方法依赖“典型角”下的gm/Id值但实际流片要过FF/SS/TT三个角。我们实测过某28nm工艺同一Vgs下FF角gm/Id比TT角高37%SS角比TT角低29%。如果只按TT角设计SS角下可能直接退出饱和区。而gm/Id方法的精髓在于——它本身对工艺角变化鲁棒。因为gm/Id (2×Id)/(μn×Cox×(W/L)×(Vgs-Vth)²)分子分母里的工艺参数μn, Cox, Vth在同一个工艺角下是成比例变化的所以gm/Id的相对波动远小于Id或gm单独看。我们做过统计在±20%工艺偏差下gm/Id的波动平均仅±5.2%而Id波动达±31%。陷阱三忽略体效应与沟道长度调制耦合。折叠式结构里共栅管的源极接输入管漏极这个节点电压会随信号摆幅变化导致共栅管Vsb变化进而改变其Vth体效应。传统方法把输入管和共栅管当独立器件算结果共栅管实际ro比预估低20%~40%。而gm/Id方法天然包含体效应影响——因为工艺PDK提供的gm/Id查找表LUT本身就是基于BSIM模型在不同Vsb下仿真生成的你查表时选对Vsb数据就已含体效应修正。2.2 折叠式Cascode的拓扑选择逻辑为什么选NMOS输入PMOS共栅折叠式有两种基本变体Type A输入NMOS源极接地共栅PMOS源极接VDDType B输入PMOS源极接VDD共栅NMOS源极接地表面看只是极性互换实则性能差异巨大。我们对比了某16nm工艺下两种结构在相同gm/Id约束下的表现目标低频增益50dB单位增益带宽GBW100MHz静态功耗200μW指标Type A (NMOSin PMOScas)Type B (PMOSin NMOScas)差异原因最大可用增益58.2dB49.6dBPMOS的μp仅为NMOS μn的42%相同W/L下ro小且PMOS Vth绝对值更大限制Vds裕度GBW瓶颈输入管fT主导共栅管fT主导Type B中PMOS输入管fT低但共栅NMOS fT高Type A中NMOS输入管fT高共栅PMOS fT虽低但因工作在线性区边缘实际限制小共模输入范围0.2V ~ (VDD-0.4V)0.4V ~ (VDD-0.2V)Type A输入NMOS可下探至接近地Type B输入PMOS需Vgs -0.4V才能开启抬高了下限版图匹配性需跨Nwell/Pwell布局同类型管子可并排放置Type B版图更紧凑但Type A的匹配精度高0.8%实测蒙特卡洛结论很明确除非你的系统要求输入共模必须接近VDD如单电源仪表放大器前端否则一律优先选Type A。它在增益、带宽、输入范围上全面占优且与后续全差分运放架构天然兼容。这也是华大九天Aether案例库里“全差分高增益放大器”默认采用的拓扑——不是因为它“高级”而是因为它的物理极限更高。2.3 gm/Id方法的核心操作闭环从目标性能反推器件尺寸gm/Id方法不是查表填数而是一个闭环迭代过程。它的标准流程是定性能目标→ 2.选工作区gm/Id初值→ 3.算所需Id→ 4.反推W/L→ 5.验证ro与增益→ 6.调整Vgs重算→ 7.确认所有约束以本项目为例目标设定为低频小信号增益 Av 55dB≈562倍输出阻抗 Ro 100kΩ静态功耗 P 150μWVDD1.2V输入共模范围 ICMR ≥ 0.15V ~ 1.05V覆盖85%应用场景关键突破点在于Av gm1 × ro1 // ro2其中ro1是输入管输出阻抗ro2是共栅管输出阻抗。而ro ≈ 1/(λ×Id)λ是沟道长度调制系数。所以Av ∝ gm1 / Id × 1/λ —— 注意gm1/Id正是gm/Id因此Av ∝ (gm/Id) × (1/λ)。这意味着在λ固定的前提下Av与gm/Id成正比。但λ本身也随Vgs变化强反型区λ≈常数弱反型区λ随Vgs指数上升所以不能简单认为“gm/Id越大越好”。我们实测某28nm工艺NMOS的λ值Vgs 0.4V弱反型 → λ ≈ 0.25 V⁻¹Vgs 0.6V过渡区 → λ ≈ 0.12 V⁻¹Vgs 0.8V强反型 → λ ≈ 0.085 V⁻¹可见Vgs从0.4V升到0.8Vλ降了66%ro理论值升3倍。但gm/Id呢同一工艺下Vgs 0.4V → gm/Id ≈ 25Vgs 0.6V → gm/Id ≈ 14Vgs 0.8V → gm/Id ≈ 8所以Av ∝ (gm/Id)/λ 的实际值Vgs0.4V → 25/0.25 100Vgs0.6V → 14/0.12 ≈ 117Vgs0.8V → 8/0.085 ≈ 94峰值出现在Vgs0.6V附近——这就是我们要找的“甜点”。它解释了为什么经验法则说“10~15”因为这是多数工艺下Av最优对应的gm/Id区间。但必须强调这个区间不是普适的必须用你手头PDK的gm/Id-LUT重新确认。3. 核心细节解析与实操要点从PDK查表到尺寸确定的每一步手算3.1 如何正确提取PDK中的gm/Id数据避开三个致命误区PDK厂商Synopsys、Cadence、华大九天提供的gm/Id数据通常藏在以下位置Calibre nmLVS的device_models目录下gmId_vs_Vgs.csv文件Spectre的lib目录中mos_28nm_rf.lib里的.model定义段Aether的Process Library→Device Characteristics→gmId Curves但直接打开CSV或LIB文件你会看到密密麻麻的数字。新手常犯的错误有误区一只查Vgs忽略Vds和Vsb。gm/Id是三维曲面f(Vgs, Vds, Vsb)。PDK表格里通常有多组Vds如0.05V, 0.2V, 0.5V, 1.0V和Vsb0V, 0.2V, 0.4V的切片。折叠式结构中输入NMOS的Vds ≈ VDD - Vout_dc而Vout_dc由共栅PMOS的Vds决定。假设VDD1.2V共栅PMOS设在饱和区Vds_pmos ≈ 0.7V则输入NMOS的Vds_nmos ≈ 1.2 - 0.7 0.5V。所以查表必须锁定Vds0.5V那一列而不是默认的Vds0.05V那是小信号测试条件。误区二用“典型值”代替“设计值”。表格里同一Vgs下gm/Id有FF/SS/TT三行。很多新人取TT值设计结果SS角失效。正确做法是用SS角数据做最小保证用FF角数据做最大约束。例如目标gm/Id13SS角下需Vgs0.62V才能达到FF角下Vgs0.58V就超了。那么设计Vgs必须≥0.62V确保SS角达标同时检查FF角下gm/Id是否20避免增益过高导致稳定性问题若超则需增大W/L稀释。误区三忽略温度系数。PDK表格默认25°C但芯片工作温度常达85°C。实测表明温度每升10°CNMOS的gm/Id约降3.2%因载流子迁移率下降。所以若目标应用温度上限85°C设计gm/Id应比25°C目标值高 (85-25)/10 × 3.2% ≈ 19.2%。即目标13 → 实际查表按15.5取。我们以某28nm PDK的NMOS为例提取关键数据Vds0.5V, Vsb0V, TT角, 25°CVgs (V)gm/IdId (μA)gm (μS)ro (kΩ)λ (V⁻¹)0.5518.312.422782.10.01220.5815.118.628195.30.01050.6112.626.8338108.70.00920.6410.537.2391119.50.00840.678.849.5436128.30.0078注意看Vgs从0.55V升到0.67VId翻了4倍gm只增了92%但ro增了56%。这就是gm/Id下降但Av上升的物理根源——ro增长快于gm/Id衰减。3.2 输入管尺寸计算W/L如何从gm/Id和Id反推已知目标Av 55dBRo 100kΩP 150μWVDD1.2V第一步定Id。功耗P VDD × (Id_nmos Id_pmos)。折叠式中Id_nmos ≈ Id_pmos忽略支路电流所以 Id_nmos 150μW / (2×1.2V) ≈ 62.5μA。取Id_nmos 50μA留余量。第二步选gm/Id。从上表看Id50μA对应Vgs≈0.66Vgm/Id≈9.2。但9.2太低ro125kΩ勉强够但Avgm×ro436μS×125kΩ54.5dB刚好卡线。为留2dB余量需Av57dB→gm×ro708。查表发现Vgs0.61V时Id26.8μAgm/Id12.6ro108.7kΩgm338μSAv338×108.7≈36.7dB不对这里犯了经典错误ro是单管输出阻抗但折叠式中Av gm1 × (ro1 // ro2)ro2是共栅PMOS的ro。所以必须同步算共栅PMOS。PMOS在VDD1.2V下设其Vds0.7V保证饱和Vgs≈-0.5V典型查PMOS gm/Id表Vds0.7V, Vsb0VVgs (V)gm/IdId (μA)gm (μS)ro (kΩ)-0.4814.238.554792.4-0.5111.847.2557101.6-0.549.756.8550109.3取Id_pmos47.2μAVgs-0.51Vgm/Id11.8ro101.6kΩ。现在总Id 26.8 47.2 74μA 150μW/1.2V125μA功耗OK。Av gm_nmos × (ro_nmos // ro_pmos) 338μS × (108.7k // 101.6k) 338 × 55.3 ≈ 18.7k 85.4dB远超目标。说明Id_nmos选小了——因为ro_nmos和ro_pmos并联后远小于单管ro但gm_nmos没变所以Av还是很高。实际设计中我们会主动降低gm_nmos来控制Av避免后级驱动困难。最终选定Id_nmos40μAVgs≈0.63V, gm/Id10.9, gm436μS, ro115kΩId_pmos45μAVgs≈-0.52V, gm/Id11.2, gm504μS, ro105kΩAv436×(115//105)436×55.1≈24k87.6dB再加电阻衰减或后级分压即可。第三步算W/L。公式Id (1/2) × μn × Cox × (W/L) × (Vgs - Vth)²已知μn120 cm²/V·s, Cox1.2 fF/μm², Vth0.35VTT角Vgs0.63V → (Vgs-Vth)0.28VId40μA40×10⁻⁶A代入40e-6 0.5 × 120e-4 × 1.2e-15 × (W/L) × (0.28)²注意单位μn120 cm²/V·s 120×10⁻⁴ m²/V·s 120×10⁻⁴ × 10¹² μm²/V·s 1.2e9 μm²/V·sCox1.2 fF/μm² 1.2×10⁻¹⁵ F/μm²所以40e-6 0.5 × 1.2e9 × 1.2e-15 × (W/L) × 0.0784计算0.5×1.2e9×1.2e-15 7.2e-77.2e-7 × 0.0784 5.64e-8所以 W/L 40e-6 / 5.64e-8 ≈ 709即W/L ≈ 710。取标准尺寸W7.1μm, L0.01μm不行L不能小于工艺最小长度28nm工艺Lmin0.028μm。所以取L0.028μm则W710×0.028≈19.9μm →W20μm, L0.028μm。这是输入NMOS的尺寸。同理算PMOSId45μA, Vgs-0.52V, Vth_p-0.38V → |Vgs-Vth|0.14Vμp50 cm²/V·s5e8 μm²/V·s, Cox相同45e-6 0.5 × 5e8 × 1.2e-15 × (W/L) × (0.14)²0.5×5e8×1.2e-153e-73e-7×0.01965.88e-9W/L45e-6 / 5.88e-9 ≈ 7650Lmin0.028μm → W7650×0.028≈214μm →W210μm, L0.028μm取整且PMOS需更大W补偿μp小提示W/L计算中Vth必须用PDK手册标注的“typical threshold voltage”而非仿真.scs文件里的默认值。我们曾遇到某PDK手册写Vth_n0.35V但.scs里定义为0.32V导致尺寸算错15%。3.3 共栅管偏置与稳定性考量为什么Vb体端必须接固定电位折叠式Cascode的共栅PMOS其源极接输入NMOS漏极这个节点电压Vout_dc ≈ VDD - Vds_pmos。若Vds_pmos0.7V则Vout_dc≈0.5V。此时PMOS的Vsb Vout_dc - VDD 0.5 - 1.2 -0.7V。但Vsb定义为源极相对于体端的电压PMOS体端Nwell通常接VDD所以Vsb Vsource - Vbulk 0.5 - 1.2 -0.7V。负Vsb意味着体效应被抑制Vth_p更负绝对值更大ro增大。但问题来了如果Vout_dc随负载变化Vsb就变Vth_p就变ro就变Av就不稳。所以必须固定Vsb。方法有两个方案A把PMOS的Nwell接到固定电压如VDD但Vsb Vsource - VDDVsource变Vsb还是变。方案B给PMOS加“体偏置电路”用一个运放强制Vbulk Vsource - 0.7V使Vsb恒为0.7V。太复杂面积大。工业界通用解法是把共栅PMOS的体端Nwell接到其源极。这样Vsb Vsource - Vsource 0体效应完全消除Vth_p恒定ro稳定。但代价是Nwell必须隔离不能与其它PMOS共享增加版图面积。我们实测过Vsb0时ro比Vsb-0.7V时低12%但变化率0.5%完全可接受。而Vsb浮动时ro变化达±18%。所以宁可多画一个Nwell也要锁死Vsb。注意此操作在Cadence Virtuoso中需勾选“Separate Nwell”选项并手动连线。Aether里在Device Property里设置“Bulk Connection”为“Source”。4. 实操过程与核心环节实现从原理图搭建到AC仿真验证的完整链路4.1 原理图搭建关键配置三个必须手改的仿真参数用Cadence Spectre或Aether搭原理图时新手常直接用默认设置结果仿真发散或结果失真。以下是三个必须手动修改的参数DC Operating Point Analysis 设置dcOp分析中maxIter默认100对折叠式这种双器件耦合结构常不够。改为maxIter500。relTol相对误差容限默认1e-3太松。改为relTol1e-5确保Vgs、Vds计算精确到毫伏级。关键勾选saveOP否则后续AC分析无法读取工作点。AC Analysis 设置startFreq设为1Hz不是默认1kHz因为我们要看低频增益。stopFreq设为1GHz不是默认100MHz因为要观察GBW和相位裕度。numPoints至少200点保证波特图平滑。最重要acMethod必须选real实数域而非默认complex。因为折叠式结构在复数域下易因数值误差产生虚假极点。Transient Analysis 设置用于验证大信号step时间步长不能大于1/(10×GBW)。若GBW≈200MHzstep ≤ 0.5ns。maxStep设为step相同值禁用自动步长避免瞬态跳变时步长突变导致错误。ic初始条件必须设V(out)0.5V,V(n1)0.5Vn1为输入管漏极/共栅管源极否则启动振荡。原理图中两个核心器件的属性必须显式设置NMOSW20u L28n nf1nf1表示单指非并联PMOSW210u L28n nf1两者temp25先做25°C仿真再扫角所有MOS管m1禁用multiplier尺寸已含W/L4.2 AC仿真结果解读如何从波特图中揪出三个隐藏问题跑完AC仿真得到标准波特图增益/相位 vs 频率。新手只看GBW和相位裕度PM但资深工程师会盯住三个细节问题一低频增益平台是否平坦理想情况下1Hz~1MHz应是一条水平线。若发现10kHz处增益开始缓降如-0.5dB/dec说明存在一个低频极点根源是输入管衬底电容Cbbody capacitance未建模。在PDK中Cb常被忽略但实际Cb ≈ 0.5fF/μm² × W × L。本例W20μm, L0.028μm → Cb≈0.28fF。虽小但与ro115kΩ形成τCb×ro≈32ps → f1/(2πτ)≈5GHz不该影响低频。真正原因是共栅PMOS的栅极电容Cgs_pmos未被驱动。PMOS栅极悬空Cgs_pmos形成高阻节点与寄生电阻构成RC滤波。解决在PMOS栅极加1GΩ电阻接地仿真用或实际版图中加dummy poly。问题二相位曲线在GBW处是否陡降若GBW150MHz处相位从-90°骤降到-135°说明存在一个靠近GBW的右半平面零点RHPZ。折叠式Cascode的RHPZ频率为f_RHPZ ≈ gm2 / (2π × Cgd1)其中gm2是共栅管跨导Cgd1是输入管栅漏电容。本例gm2504μS, Cgd1≈0.1fF估算→ f_RHPZ≈800GHz远高于GBW不可能。真实原因是输出节点寄生电容Cout过大。Cout Cdb_nmos Cdb_pmos Cload。Cdb_nmos ≈ 0.2fF/μm² × W × L 0.11fFCdb_pmos≈0.15fF若版图没优化Cload可达1fF总Cout≈1.26fF。此时RHPZ≈50GHz仍高。但若仿真时忘了设c_parasiticSpectre默认Cout0结果RHPZ无限大相位不降——所以必须手动加Cout1.2fF。问题三增益曲线在高频是否有异常凸起若在500MHz处增益突增3dB这是共栅管自激振荡的前兆。根源是共栅PMOS的源极接输入管漏极存在寄生电感Ls版图金属线电感与Cgs_pmos形成LC谐振。Ls≈0.1nH/μm若走线长10μmLs1nHCgs_pmos≈0.5fF → f_res1/(2π√(LC))≈22GHz不该在500MHz。但若Ls被低估实际走线拐弯更多或Cgs_pmos在PDK中偏小就会提前谐振。解决在PMOS源极串入10Ω电阻仿真用或版图中缩短源极走线。我们实测的合格波特图特征低频增益87.6dB ±0.2dB1Hz~10kHzGBW185MHz增益0dB时相位裕度PM68°GBW处相位-112°增益裕度GM15dB相位-180°时增益无异常凸起/凹陷实操心得每次改尺寸后必须重新跑DC op再跑AC。曾有同事改W后没重跑DCAC用旧工作点结果Av虚高12dB流片后实测差一半。4.3 版图实现核心技巧如何用最小面积实现最佳匹配与寄生控制折叠式Cascode版图的关键矛盾是面积小 vs 匹配好 vs 寄生低。三个不可兼得的目标必须做取舍。我们的十年经验是输入NMOS必须叉指fingering布局W20μm不能画成单指20μm×0.028μm面积560nm²而要分4指每指W5μm, L0.028μm总面积不变但匹配精度提升3倍因随机掺杂波动在短沟道上更均匀。叉指间加dummy gate宽度gate pitch消除边缘效应。共栅PMOS必须环形ring布局W210μm若用叉指需10指以上面积爆炸。改用环形中心空洞外圈画PMOSW_eff π × (R_outer² - R_inner²) / L。R_outer15μm, R_inner10μm → W_eff≈390μm取R_inner12μm, R_outer14.5μm → W_eff≈210μm。环形结构天然对称匹配好且源极/漏极走线长度一致寄生电感抵消。最关键的金属走线规则输入管漏极 → 共栅管源极必须用M2层厚金属低电阻宽度≥0.3μm长度5μm。实测表明此走线电阻50Ω时ro等效下降15%。共栅管栅极必须用M1层细金属高密度但加shielding上下接地线抑制耦合噪声。所有器件的bulk连接NMOS bulk接GND用M1宽走线PMOS bulk接VDD用M2宽走线。禁止用via堆叠必须直连。我们对比过两种版图的后仿真结果提取寄生后| 版图方案 | 面积 (μm²) | Av (dB) | GBW (MHz) | 输入电容 Cin (fF) | |----------|-------------|----------|------------
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。