资讯动态

从零手搓经典二级运放:CMOS模拟IC设计的核心实践与调试心法

发布时间:2026/8/5 22:14:16 来源:尧图企业网站定制
1. 项目概述为什么我们还在折腾这个“老古董”聊起模拟集成电路设计二级运算放大器绝对是一个绕不开的“经典款”。很多刚入行的朋友可能会觉得这玩意儿教科书上都有仿真库里的现成模块拖出来就能用有什么好“设计”的我刚开始也是这么想的直到自己亲手在项目里栽了几个跟头。这个所谓的“经典”恰恰是模拟设计基本功的试金石。它麻雀虽小五脏俱全偏置、增益、带宽、摆率、功耗、噪声、匹配、稳定性……几乎所有模拟电路的核心矛盾都在这几十个晶体管构成的电路里集中体现。所谓“模集经典二级运放设计”指的就是基于CMOS工艺采用两级放大结构第一级为差分输入级第二级为共源放大级并包含米勒补偿的运算放大器设计。它的目标不是追求某个指标的极致而是在功耗、面积、速度、精度等多个维度之间找到一个精妙的平衡点以满足一个特定应用场景的需求。这个过程就像一位经验丰富的厨师用有限的几种基础食材晶体管、电阻、电容通过调整火候和配比尺寸、偏置做出一道色香味俱佳的菜肴。你照着菜谱教科书做能吃但想做出自己的风味并适应不同客人的口味应用需求就得靠真功夫了。这篇文章我就结合自己这些年踩过的坑和积累的经验带你从头到尾“手搓”一个经典二级运放。我们不止步于仿真通过更要深挖每一个设计决策背后的“为什么”并分享那些仿真报告里不会告诉你的实操细节和调试技巧。无论你是正在学习模拟IC设计的学生还是需要快速回顾核心要点的工程师希望这篇“老兵笔记”能给你带来一些实实在在的启发。2. 核心架构与设计指标拆解在动笔画第一个晶体管之前我们必须先想清楚这个运放要用在什么地方这直接决定了所有设计指标的优先级。2.1 明确设计规格从应用场景倒推需求设计从来不是凭空开始的。假设我们现在要为一个高精度、中等速度的传感器信号调理链路设计核心运放。基于这个场景我们可以推导出初步的设计规格直流增益 (DC Gain) 80 dB。这是精度的保证高增益能有效抑制系统误差确保放大线性度。增益带宽积 (GBW) 10 MHz 左右。传感器信号带宽通常在几百KHz以内10MHz的GBW提供了足够的余量同时兼顾了功耗。相位裕度 (Phase Margin) 60°。这是稳定性的生命线确保在各种工艺角和负载条件下都不会振荡。我个人习惯瞄准65°以上留足安全边际。摆率 (Slew Rate) 10 V/μs。应对可能的瞬态大信号避免信号失真。共模输入范围 (ICMR)和输出摆幅 (Output Swing) 需要根据系统的电源电压假设是3.3V单电源和信号地来确定尽可能宽。功耗 (Power Dissipation) 1 mW。便携式或高密度集成场景下的常见约束。输入参考噪声 (Input-referred Noise) 在目标频带内足够低不影响传感器信号的信噪比。面积 (Area) 在满足性能的前提下尽可能小。有了这些目标我们的设计就有了方向。接下来我们看看用什么架构来实现。2.2 经典二级运放架构详解我们选择的经典架构如下图所示此处为文字描述实际设计需在EDA工具中绘制 第一级一个PMOS输入对的差分放大器M1, M2作为输入级采用PMOS是因为在标准CMOS工艺中PMOS的闪烁噪声1/f噪声通常比NMOS小有利于噪声性能。其负载是一个电流镜M3, M4。尾电流源M5提供偏置。 第二级一个共源放大器M6采用NMOS作为放大管以提供大的跨导和增益。其负载是一个PMOS电流源M7。 补偿网络连接在第二级输出即M6的漏极也是整个运放的输出端Vo和第一级输出即M3/M4的漏极节点A之间的米勒补偿电容Cc。通常还会在节点A到地之间并联一个小电阻Rc与Cc形成调零电阻用于调整右半平面零点改善相位裕度。 偏置电路为M5、M7以及可能为输入对提供偏置的电流源生成稳定的参考电流和电压。这个架构的优势在于结构清晰、设计方法成熟、性能均衡。第一级提供高增益和良好的共模抑制比第二级提供大的输出摆幅和驱动能力米勒补偿则用一颗相对较小的电容相比在输出端直接并联电容到地实现了主极点的分离和频率补偿。2.3 晶体管工作状态选择强反型还是弱反型这是设计初期一个关键的选择它决定了后续所有晶体管尺寸的计算方法。强反型 (Strong Inversion)晶体管栅源电压Vgs远大于阈值电压Vth。跨导gm与电流的平方根成正比gm ∝ sqrt(Id)。优点是跨导相对较低对偏置变化的敏感度稍弱线性度好模型成熟。缺点是对于给定的gm需要更大的电流或更大的器件尺寸因为gm/Id值低。弱反型/亚阈值区 (Weak Inversion/Subthreshold)Vgs略低于或接近Vth。跨导gm与电流成正比gm ∝ Id。优点是在极低的电流下就能获得很高的gm/Id值能效比极高。缺点是速度慢因为电流小对工艺偏差和温度极其敏感匹配性要求高。对于我们的传感器信号调理应用信号频率不高但对精度和功耗有要求。一个折中且常见的策略是让输入对管M1, M2工作在弱反型或适中反型区边缘这样可以用较小的电流获得较高的跨导有利于提高第一级增益和降低噪声。而第二级的放大管M6和电流源负载M7通常工作在强反型区以提供足够的输出驱动能力和速度摆率。偏置管和电流镜则根据匹配和电压余度要求来选择。在实际操作中我会先用工艺库提供的gm/Id随Vov过驱动电压或Id/(W/L)变化的查找表或曲线图根据目标gm和电流初步确定晶体管的工作区和尺寸范围。这是一种比单纯用平方律公式更精确、更现代的设计方法。3. 手算与初步尺寸确定虽然现代设计高度依赖仿真优化但手算仍然是理解电路、确定初始值、避免仿真在错误方向上浪费时间的关键步骤。我们基于长沟道模型进行估算短沟道效应会在仿真中修正。3.1 关键方程与设计流程确定补偿电容Cc和GBW 增益带宽积 GBW ≈ gm1 / (2π * Cc)。其中gm1是输入对管M1/M2的跨导。 我们的目标是GBW10MHz。为了获得良好的相位裕度通常将次极点主要是第二级输出极点推到2.2倍GBW以上。由此可以初步确定Cc。设GBW10MHz则 gm1 2π * GBW * Cc。我们先假设Cc1pF一个合理的初始值则gm1 ≈ 62.8 μS。确定第一级电流Id1 假设M1/M2工作在弱反型边缘取一个典型的gm/Id值例如 15 V⁻¹对于弱反型这个值可以高达20-30。那么单边电流 Id1 (gm1/2) / (gm/Id) (31.4 μS) / 15 V⁻¹ ≈ 2.1 μA。因此第一级尾电流源M5的电流 I5 2 * Id1 ≈ 4.2 μA。确定输入对管尺寸 (M1, M2) 根据电流 Id1 和选定的gm/Id以及工艺的电流密度参数可以估算宽长比 (W/L)。例如若工艺特征尺寸较小我们可能选择较长的沟道长度L以提高匹配和增益例如L0.5μm或更长。通过Id/(W/L)与gm/Id的关系曲线找到对应gm/Id15和Id2.1μA的Id/(W/L)值从而算出W。假设查得Id/(W/L) ≈ 1 μA/μm则W/L ≈ 2.1。若L取0.5μm则W≈1.05μm。实际中会取整并留有余量。确定第二级参数摆率SR 主要由第二级电流限制SR I6 / Cc。目标SR10V/μsCc1pF则 I6 10 μA。我们取 I6 20 μA 以留有余量。次极点位置 p2 ≈ gm6 / (2π * CL)。其中CL是负载电容假设5pF。为了满足相位裕度60°需要p2 2.2 * GBW 22 MHz。因此gm6 2π * p2 * CL ≈ 2π * 22MHz * 5pF ≈ 691 μS。确定M6尺寸 M6需要提供gm6。让M6工作在强反型gm/Id较低例如 5 V⁻¹。则 gm6 (gm/Id) * I6 5 * 20μA 100 μS。这远小于我们需要的691 μS这说明我们的初始假设I620μA可能不足以满足速度要求。我们需要增加I6或提高M6的gm/Id即让其更偏向中反型区。重新计算若需要gm6700μS且希望gm/Id在10左右中反型则 I6 gm6 / (gm/Id) 700μS / 10 70 μA。这个电流更合理。此时SR I6/Cc 70μA / 1pF 70 V/μs远超要求。确定M7尺寸 M7作为第二级的负载电流源其电流需要等于I670μA。同时要保证在输出摆幅范围内不进入线性区。需要根据输出电压范围计算M7所需的Vdsat。假设输出高电平需达到VDD-0.2V3.1V那么M7的Vdsat至少需要小于0.2V。根据强反区公式W/L ≈ (2I7) / (μpCox*Vdsat²)。代入工艺参数计算即可。确定调零电阻Rc 米勒补偿会引入一个右半平面零点 z gm6 / (2π * Cc)。这个零点会恶化相位裕度。串联电阻Rc后零点变为 z 1 / [2π * Cc * (1/gm6 - Rc)]。通过设置 Rc 1/gm6可以将零点推向无穷远设置 Rc 1/gm6可以将零点推到左半平面成为有益的相位超前。通常取 Rc 1.2 / gm6 ~ 1.5 / gm6。我们计算gm6700μS则1/gm6≈1.43kΩ。取Rc2kΩ作为初始值。注意以上手算结果是基于简化模型和一系列假设的粗略估算。它的价值在于为我们提供了一个物理意义明确的起点并揭示了设计参数之间的权衡关系例如GBW与功耗、摆率与电流。实际尺寸必须在仿真中迭代优化。3.2 偏置电路设计一个稳定的偏置电路是运放正常工作的基石。通常采用与核心电路成比例的电流镜结构。基准电流生成可以使用带启动电路的Bandgap基准源提供μA级别的精准参考电流Iref也可以简单使用电阻从电源分压精度和温漂较差但面积小。偏置网络用电流镜将Iref复制到M5和M7的支路。关键是要确保所有被偏置的晶体管都处于饱和区。需要计算偏置电压并检查在所有工艺角和温度下输入对管、电流镜负载管等都有足够的电压余度Vdsat。启动电路必须添加防止电路卡在零电流的简并工作点。一个简单的启动电路是在偏置节点和电源或地之间连接一个弱反型的大尺寸晶体管在初始时刻提供一个微小的扰动电流。4. 仿真验证与迭代优化手算给了我们一套初始器件参数W, L, Cc, Rc。现在进入Cadence Virtuoso或其他EDA工具进行仿真验证和优化。这是设计中最耗时但也最见功力的部分。4.1 直流工作点检查首先进行直流DC仿真。检查所有晶体管是否工作在饱和区这是最重要的第一步。查看每个MOS管的Vds、Vgs、Vth确保Vds Vgs - Vth对于NMOS或 Vds Vgs - Vth对于PMOS。特别关注输出管M6和负载管M7在输出端为共模电压时的状态。检查各节点电压输入共模电平、第一级输出节点A点、输出节点直流电平是否在预期范围内。确保没有节点电压接近电源或地导致余度不足。检查电流各支路电流是否与设计值吻合。偏差过大可能意味着工作区不对或尺寸计算有误。实操心得我习惯在原理图中用“Annotation”功能直接显示所有管子的工作区region和gm/Id、Vdsat等参数。一眼扫过去如果有管子显示“lin”线性区或“subth”亚阈值区与设计不符就能快速定位问题。4.2 交流小信号仿真AC Analysis这是性能评估的核心。增益与带宽在输出端加AC1的激励进行开环仿真。查看低频增益DC Gain、增益带宽积GBW即增益下降到0dB时的频率和相位裕度Phase Margin。相位裕度优化如果相位裕度不足如45°说明次极点p2离GBW太近。提升相位裕度最有效的方法是增加第二级跨导gm6。可以通过增加M6的电流I6或优化其尺寸提高gm/Id来实现。但这会增加功耗。另一个方法是调整补偿电容Cc。增大Cc会降低GBWgbwgm1/Cc使主极点频率降低从而让相位曲线在0dB点之前更“平缓”可能提升相位裕度。但这是一种“牺牲带宽换稳定”的做法需权衡。调零电阻Rc的妙用微调Rc的值观察相位裕度的变化。将右半平面零点推向无穷远或左半平面可以显著增加相位裕度。通常需要扫描Rc值例如从500Ω到3kΩ找到最佳点。建立扫描分析对负载电容CL、电源电压、温度等进行参数扫描确保在最坏情况WC慢工艺角、高低温、大负载下相位裕度仍然满足要求通常45°-50°。这是产品可靠性的关键。4.3 瞬态仿真Tran Analysis验证大信号特性。摆率测试接成单位增益缓冲器电压跟随器输入端加一个大幅度的阶跃信号例如从地到电源电压的方波。测量输出电压的上升/下降斜率即为摆率。检查是否满足规格并与理论值SRI/Cc对比。建立时间与过冲输入一个小幅度阶跃信号观察输出达到稳定值如最终值的99%所需的时间以及是否有过冲。过冲过大通常与相位裕度不足有关。大信号瞬态响应输入一个大幅度的正弦波观察输出是否失真检查输出摆幅是否达到预期。4.4 噪声仿真Noise Analysis对于精密应用至关重要。运行输入参考噪声仿真得到噪声谱密度曲线。重点关注低频段的闪烁噪声1/f噪声和中高频段的热噪声平台。降低噪声的技巧闪烁噪声增大输入对管M1, M2的面积W*L。面积越大闪烁噪声越小。这也是为什么输入管通常采用较大尺寸的原因。热噪声增加输入管的跨导gm1。在电流固定的情况下让管子工作在更高的gm/Id区弱反型可以提高gm。第二级和电流镜的噪声会被第一级增益衰减影响相对较小。4.5 共模抑制比与电源抑制比进行AC仿真时可以分别测试共模输入信号和电源扰动信号到输出的传递函数其倒数即为CMRR和PSRR。高增益的第一级对提升CMRR和PSRR至关重要。5. 版图设计与后仿真考量前仿通过只成功了不到一半。版图设计中的寄生效应会显著影响电路性能尤其是高频特性。5.1 匹配与对称性输入对管 (M1, M2)必须采用共质心Common Centroid结构例如ABBA或交叉耦合并用dummy器件包围以最大程度抵消工艺梯度效应降低输入失调电压。电流镜 (M3, M4, M5, M7等)同样需要良好的匹配。通常将它们放在一起采用相同的走向并使用相同的栅极连接图形。差分走线从输入焊盘到输入对管栅极的两条走线必须等长、等宽、并行走线且周围环境对称以减少引入的失配和噪声。5.2 寄生参数控制补偿电容Cc使用高密度、底极板接低阻抗节点的MIM电容或MOS电容。仔细规划其布线避免引入大的串联电阻或对敏感节点的耦合。调零电阻Rc通常用高阻多晶硅实现。注意其寄生电容。关键节点第一级输出节点A点即米勒电容连接点是高阻抗节点对寄生电容极其敏感。连接到该节点的布线应尽可能短避免与任何快速变化的信号线平行走线防止耦合。电源与地线使用足够宽的金属线提供低阻抗通路。采用星型连接或网格连接减少公共路径阻抗带来的耦合。5.3 后仿真流程与性能回归完成版图后提取寄生参数进行RC提取或更精确的PEX生成带寄生效应的网表进行后仿真。对比前仿与后仿结果增益、带宽、相位裕度、摆率等指标通常会恶化。重点关注相位裕度的下降因为寄生电容会引入额外的极点。迭代优化如果后仿性能不达标可能需要返回修改版图如优化关键节点布线甚至微调电路参数如略微增大Cc或调整Rc。进行蒙特卡洛分析在考虑工艺偏差和失配的情况下仿真数百甚至上千次统计失调电压、增益、带宽等参数的分布确保良率满足要求。6. 常见问题、调试技巧与实战心得这里分享一些仿真和调试中经常遇到的“坑”和解决方法。6.1 问题排查速查表现象可能原因排查思路与解决方法直流工作点异常电流为0或极大偏置电路失效未正常启动电路存在简并点电源/地连接错误。1. 检查启动电路是否工作。2. 手动给偏置节点一个初始电压瞬态激励看能否进入正常状态。3. 逐一检查每个节点的直流电压。增益远低于预期有晶体管工作在线性区负载电阻电流源输出阻抗太小。1. 检查所有MOS管的region确保都在饱和区region2for NMOS,region3for PMOS in some models。2. 检查电流源负载的ro输出电阻是否足够大。增加其沟道长度L可以提高ro。相位裕度不足电路振荡次极点频率太低米勒零点在GBW附近恶化相位寄生极点影响。1.首选增加第二级跨导gm6增加I6或优化M6尺寸。2. 调整调零电阻Rc将零点移至左半平面高频处。3. 检查版图中高阻抗节点的寄生电容特别是第一级输出节点。摆率不达标第二级电流I6太小补偿电容Cc太大。1. 根据SR I6 / Cc公式增加I6或减小Cc。2. 注意减小Cc会提高GBW可能影响稳定性需重新优化。输出摆幅不够电流源负载M7或输出管M6的Vdsat太大过早进入线性区。1. 减小M7和M6的过驱动电压Vdsat增大它们的宽长比W/L。2. 但这会降低其输出阻抗可能影响增益需要折中。输入失调电压过大输入对管M1/M2失配严重版图匹配性差。1. 前仿进行蒙特卡洛失配分析。2. 优化版图采用共质心结构增加输入管面积。瞬态响应过冲大相位裕度处于临界状态如50°-55°。增加相位裕度至60°以上。微调Rc或gm6往往有奇效。6.2 个人调试心得仿真顺序很重要一定要先调好直流工作点再谈AC性能。一个连静态工作都不对的电路动态性能无从谈起。善用参数扫描和优化工具Cadence的ADE L或ADE XL中的参数扫描和优化器是强大助手。例如可以设置GBW、相位裕度、功耗为目标让工具自动优化晶体管尺寸和补偿元件值。但不能完全依赖工具要理解其优化方向否则可能得到物理上不合理或对工艺波动敏感的结果。关注工艺角仿真TT典型角仿真通过只是开始。务必在SS慢速、FF快速、SF、FS以及高低温下验证性能。最坏情况往往出现在SS角、高温、大负载时。噪声与面积的权衡为了降低输入噪声而一味增大输入管面积会显著增加输入寄生电容影响带宽和建立时间。需要在噪声、带宽和面积之间找到最佳点。米勒补偿的“副作用”米勒补偿在稳定系统的同时会引入“右半平面零点”这是一个麻烦制造者。务必用好调零电阻Rc来管理它。有时采用“Ahuja补偿”或“多路径米勒补偿”等高级结构能获得更好的性能但设计复杂度也增加了。保持耐心记录迭代模拟设计是一个反复迭代的过程。每次修改参数最好记录下前后的性能对比和修改原因。这不仅能帮你理清思路在项目复盘或遇到类似问题时这份记录就是宝贵的经验库。设计一个性能优良、鲁棒性强的经典二级运放就像完成一件精密的微雕。它考验的是你对器件物理、电路原理的深刻理解以及将理论转化为实际性能的工程化能力。每一次成功的仿真曲线背后都是无数次参数调整和原理审视。希望这篇长文能帮你建立起从指标到电路从前仿到后仿的完整设计框架。剩下的就是在具体的工艺和项目中去实践、去体会、去积累了。记住没有“最好”的运放只有“最合适”的运放。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价