ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

模拟CMOS放大器设计:从指标到流片的工程实践与踩坑指南

模拟CMOS放大器设计:从指标到流片的工程实践与踩坑指南 1. 从“能放大就行”到“每一毫伏都算数”模拟CMOS放大器设计的认知转折很多刚接触模拟集成电路设计的人对放大器的第一印象往往停留在“把信号放大”这个层面。课本上画一个共源级算一下增益等于负的跨导乘以负载电阻好像就完事了。但真正上手做项目、跑仿真、流片测试之后才会发现从“能放大”到“放大得准、稳、省”中间隔着一整套设计哲学。模拟CMOS放大器是整个模拟信号链的基石无论是传感器接口、音频前端、射频接收链路还是电源管理环路都离不开它。这篇文章适合正在学模拟IC设计的学生、刚入行的模拟工程师以及想系统梳理放大器知识体系的从业者。我会从最核心的指标出发把常见结构、设计取舍、仿真验证和踩坑经验串起来尽量说人话把“为什么这样设计”讲透。模拟电路设计和数字电路设计最大的区别在于数字电路可以靠工具自动综合、时序收敛而模拟电路每一个晶体管的长宽比、每一处偏置电流的分配都需要设计者根据指标反复权衡。一个两级运放可能因为第二级偏置点选错导致输出摆幅少了三百毫伏整个系统的动态范围就掉了一截。这种“差之毫厘、谬以千里”的特性决定了模拟设计必须从指标定义阶段就想清楚每一个细节。2. 放大器核心指标哪些参数真正决定成败2.1 增益、带宽与增益带宽积的三角关系增益是放大器最直观的指标但在CMOS工艺下单级共源放大器的本征增益大约只有二十到三十倍也就是二十六到三十分贝。这个数值由工艺参数决定具体来说是本征增益等于跨导除以输出电导而跨导和输出电导都与偏置电流和晶体管尺寸相关。很多新手会问为什么不能通过无限增大晶体管宽度来提升增益答案是增大宽度确实能提高跨导但同时会增大输出电容降低带宽而且输出电导并不会等比例下降。这就是模拟设计中最经典的折中。增益带宽积是衡量放大器“效率”的关键指标。对于一个单极点系统增益带宽积近似等于跨导除以补偿电容。这个公式告诉我们在给定电容条件下想要更大的增益带宽积就必须增大跨导也就是增大偏置电流。但电流增大会带来功耗上升和输出摆幅下降的问题。我在实际项目中常用的做法是先根据系统需求确定增益带宽积再反推所需的跨导和电流最后根据输出摆幅要求确定晶体管的过驱动电压。注意增益带宽积只在单极点系统中是一个常数。如果放大器存在次极点增益带宽积会随频率变化这时候需要看单位增益频率处的相位裕度。2.2 相位裕度与稳定性看不见但致命相位裕度是放大器稳定性的核心指标。一个相位裕度只有三十度的放大器在阶跃响应下会出现严重的振铃甚至振荡。我见过不少初学者在仿真时只看交流增益曲线发现增益很平坦就以为没问题结果一跑瞬态仿真输出直接振荡起来。相位裕度的本质是环路增益在单位增益频率处的相位与负一百八十度的差值。对于两级运放主极点和次极点的间距决定了相位裕度。实际设计中我通常把相位裕度控制在六十度以上这样阶跃响应的过冲大约在百分之十以内。如果系统对建立时间要求特别严格比如开关电容电路中的运放我会把相位裕度推到七十度甚至七十五度。代价是带宽会有所下降因为需要更大的补偿电容来压低主极点。这里有一个经验公式补偿电容与负载电容的比值大约等于次极点频率与单位增益频率的比值。这个关系可以帮助快速估算补偿电容的初始值。2.3 输出摆幅、功耗与噪声的相互制约输出摆幅决定了放大器能处理多大的信号而不失真。在CMOS工艺中输出摆幅受限于晶体管的过驱动电压和电源电压。一个简单的共源放大器输出摆幅大约等于电源电压减去两个过驱动电压。如果电源电压是一点八伏过驱动电压是两百毫伏那么输出摆幅大约是一点四伏峰峰值。想要更大的摆幅就必须减小过驱动电压但减小过驱动电压会降低跨导进而降低增益和带宽。功耗是另一个硬约束。增大偏置电流可以提升跨导和带宽但功耗随之上升。在便携式设备中功耗往往是最紧的指标。我的做法是先确定系统允许的最大功耗然后在这个预算内分配各级电流。通常输入级分配百分之四十到五十的电流因为输入级的跨导直接决定噪声和增益第二级分配百分之三十到四十用于提供输出摆幅和驱动能力偏置电路分配百分之十左右。噪声指标在传感器接口和射频前端中尤为关键。CMOS放大器的噪声主要来自热噪声和闪烁噪声。热噪声与跨导成反比所以增大电流或增大晶体管宽度可以降低热噪声。闪烁噪声与晶体管面积成反比所以增大面积可以降低闪烁噪声。但增大面积会增大寄生电容降低带宽。这个矛盾在低频应用中特别突出比如生物电信号采集信号频率在几十赫兹到几千赫兹闪烁噪声是主要威胁。我通常会采用斩波稳定技术或者自动调零技术来抑制低频噪声代价是增加了电路复杂度和时钟馈通问题。3. 五种常见单级与多级结构什么时候用哪个3.1 共源级最基础但最考验功力的结构共源级是所有CMOS放大器的基础。它的增益等于负的跨导乘以输出电阻。输出电阻由晶体管自身的输出电阻和负载电阻并联决定。在大多数工艺中晶体管本征增益大约在二十到四十之间。共源级的优点是结构简单、噪声低、输出摆幅大。缺点是增益有限且输入输出之间存在密勒效应导致高频性能下降。我在设计共源级时最关注的是偏置点的选择。晶体管必须工作在饱和区这意味着漏源电压必须大于过驱动电压。为了最大化输出摆幅我会把静态工作点设置在电源电压的一半左右。但这样会牺牲一部分增益因为输出电阻在漏源电压较小时会下降。实际仿真中我会扫描漏源电压找到增益和摆幅的平衡点。通常这个点在电源电压的百分之四十到六十之间。共源级的负载选择也很关键。电阻负载的增益线性度好但压降大摆幅受限。电流源负载的增益高但输出电阻大极点频率低。二极管连接负载的增益低但带宽好。我在低频高增益场景中优先选电流源负载在高频场景中优先选电阻负载或电感负载。电感负载在射频放大器中很常见因为电感可以在不消耗直流压降的情况下提供高阻抗但面积大、成本高。3.2 共栅级与共漏级被低估的配角共栅级的输入是源极输出是漏极栅极接固定偏置。它的优点是输入阻抗低适合做电流输入型放大器比如跨阻放大器。共栅级的增益与共源级类似但没有密勒效应所以高频性能更好。缺点是输入阻抗低对前级电路驱动能力要求高。我在设计跨阻放大器时第一级通常用共栅级因为光电二极管的输出是电流信号共栅级的低输入阻抗可以减小输入极点的影响。共漏级也叫源跟随器电压增益接近一但略小于一。它的主要作用是电平移位和缓冲。源跟随器的输出阻抗低可以驱动大电容负载。但源跟随器有一个致命问题体效应导致阈值电压随源极电压变化引入非线性。在精度要求高的场景中我会避免使用源跟随器改用互补跟随器或者直接用电容耦合。3.3 套筒式共源共栅高增益的代价套筒式共源共栅结构通过堆叠晶体管来提升输出电阻从而提升增益。理论上每增加一层共源共栅输出电阻提升约一个本征增益倍数。两级共源共栅可以提供六十到八十分贝的增益。但代价是输出摆幅大幅下降因为每一层共源共栅都需要至少一个过驱动电压的余量。在一点八伏电源下两级共源共栅的输出摆幅可能只剩六百到八百毫伏。我在设计套筒式结构时最头疼的是偏置电压的生成。每一层共源共栅的栅极偏置必须精确否则晶体管可能进入线性区。我通常用宽摆幅共源共栅偏置电路这种电路可以在不牺牲摆幅的情况下提供稳定的偏置。但宽摆幅偏置电路本身需要额外的晶体管和电流支路增加了功耗和面积。实测中我发现宽摆幅偏置电路对工艺角变化比较敏感需要在仿真中覆盖所有工艺角。3.4 折叠式共源共栅摆幅与增益的平衡折叠式共源共栅结构把输入晶体管和共源共栅晶体管分开输入晶体管可以是N型或P型共源共栅晶体管则用相反类型。这样做的优点是输出摆幅比套筒式大因为输入晶体管和共源共栅晶体管不在同一条直流路径上。折叠式结构的增益与套筒式相当但功耗更高因为需要额外的电流支路来偏置共源共栅晶体管。我在选择套筒式还是折叠式时主要看两个指标输出摆幅和功耗。如果系统对摆幅要求高比如音频放大器我会选折叠式。如果系统对功耗要求高比如植入式医疗设备我会选套筒式。折叠式结构的另一个优点是输入共模范围更宽因为输入晶体管可以是N型其栅极电压可以低到地电位附近。3.5 两级运放最常用的通用结构两级运放是模拟设计中最常用的结构。第一级通常是差分输入级提供高增益和高共模抑制比。第二级通常是共源级提供输出摆幅和驱动能力。两级之间需要频率补偿最常用的是密勒补偿。密勒补偿通过在第二级输入输出之间跨接电容利用密勒效应把主极点推向低频同时把次极点推向高频从而实现足够的相位裕度。我在设计两级运放时第一级的电流通常比第二级小因为第一级主要贡献增益第二级主要贡献摆幅。第一级的负载是电流源输出电阻高增益大。第二级的负载是输出负载可能是电容也可能是电阻。如果负载是电容第二级的输出电阻可以很大增益也很大。如果负载是电阻第二级的增益会下降需要增大第二级电流来提升跨导。密勒补偿电容的取值需要仔细权衡。电容太大会降低带宽电容太小会导致相位裕度不足。我通常先用公式估算一个初始值然后在仿真中扫描电容值找到相位裕度和带宽的平衡点。调零电阻是另一个常用技巧通过在密勒电容上串联一个电阻可以在环路增益中引入一个左半平面零点抵消右半平面零点的影响。右半平面零点来自密勒电容的前馈通路会导致相位滞后恶化稳定性。4. 从原理图到流片我的仿真验证清单4.1 直流工作点检查别让晶体管跑出饱和区直流工作点检查是所有仿真的第一步。我见过太多案例交流仿真结果很漂亮但直流工作点显示某个晶体管在线性区实际流片后增益只有仿真值的一半。检查直流工作点时我会重点关注每个晶体管的漏源电压和过驱动电压。漏源电压必须大于过驱动电压且留有一定余量通常至少五十毫伏。工艺角变化时阈值电压可能变化正负五十毫伏过驱动电压可能变化百分之十到二十所以余量必须足够。温度也是影响工作点的关键因素。CMOS晶体管的迁移率随温度升高而下降阈值电压随温度升高而下降。这两个效应部分抵消但不会完全抵消。我在仿真中会覆盖负四十度到一百二十五度的温度范围确保所有温度下晶体管都在饱和区。如果某个工艺角下晶体管进入线性区我会调整偏置电流或晶体管尺寸而不是简单忽略。4.2 交流仿真增益、相位与共模抑制比交流仿真用于验证增益、带宽、相位裕度和共模抑制比。增益仿真时我会在输入端加一个小信号交流源幅度通常是一毫伏然后扫描频率观察输出增益。增益曲线在低频段应该平坦然后以负二十分贝每十倍频程的斜率下降。如果增益曲线出现尖峰说明存在复极点对相位裕度可能不足。相位裕度的仿真需要断开环路在断点处注入交流信号测量环路增益的相位。断开环路时要注意不能改变电路的直流工作点否则仿真结果不准确。我通常用大电感和大电容组成交流断点电感在直流时短路电容在交流时短路这样既保持了直流工作点又实现了交流断开。共模抑制比是差分放大器的重要指标。仿真时我在两个输入端加相同的交流信号测量输出端的响应。理想的差分放大器对共模信号完全抑制但实际电路中由于晶体管失配和电流源输出电阻有限共模信号会部分传递到输出。共模抑制比通常在六十分贝到八十分贝之间。如果共模抑制比不达标我会检查电流源的输出电阻和输入对管的匹配度。4.3 瞬态仿真建立时间、压摆率与过冲瞬态仿真用于验证放大器的时域响应。建立时间是指输出从阶跃输入开始到进入最终值误差带内所需的时间。误差带通常是最终值的百分之零点一或百分之零点零五。建立时间由小信号带宽和大信号压摆率共同决定。小信号建立是指数型的大信号建立是线性的。如果压摆率不足输出会以恒定斜率上升建立时间会显著增加。压摆率等于输入级的尾电流除以补偿电容。这个公式告诉我们增大尾电流或减小补偿电容可以提升压摆率。但增大尾电流会增加功耗减小补偿电容会降低相位裕度。我在设计时会先根据建立时间要求确定压摆率再反推尾电流和补偿电容的比值。如果这个比值与相位裕度要求冲突我会考虑采用压摆率增强电路比如在瞬态时临时增大尾电流。过冲是瞬态仿真的另一个关注点。过冲与相位裕度直接相关。相位裕度六十度时过冲大约百分之十相位裕度四十五度时过冲大约百分之二十五。如果过冲超标我会增大补偿电容或调整调零电阻。但增大补偿电容会降低带宽所以需要在过冲和建立时间之间折中。4.4 噪声仿真输入参考噪声与积分噪声噪声仿真用于验证放大器的噪声性能。输入参考噪声是指折算到输入端的等效噪声包括热噪声和闪烁噪声。仿真时我会在输出端测量噪声功率谱密度然后除以增益的平方得到输入参考噪声。热噪声在低频段平坦闪烁噪声在低频段随频率下降而上升转折频率通常在几千赫兹到几十千赫兹之间。积分噪声是指在一定带宽内对噪声功率谱密度积分得到的均方根噪声。积分噪声决定了系统的最小可检测信号。我在设计传感器接口时会先根据传感器输出信号幅度和信噪比要求确定最大允许积分噪声然后反推输入参考噪声指标。如果闪烁噪声是主要贡献我会增大输入对管的面积如果热噪声是主要贡献我会增大输入对管的跨导。提示噪声仿真时要注意仿真器的噪声分析设置。有些仿真器默认只计算热噪声不计算闪烁噪声需要手动开启闪烁噪声模型。5. 那些仿真器不会告诉你的踩坑实录5.1 偏置电路振荡最容易被忽视的稳定性问题偏置电路本身也可能振荡这是很多初学者想不到的。我遇到过一个案例两级运放的主电路相位裕度很好但偏置电路中的电流镜出现了振荡导致整个运放的输出上叠加了高频纹波。排查过程很曲折一开始以为是主电路的问题反复调整补偿电容都没有效果。后来用频谱分析仪观察输出频谱发现振荡频率远高于主电路的带宽才怀疑到偏置电路。偏置电路振荡的根源通常是电流镜的寄生电容和输出电阻形成了额外的极点。解决方法是在电流镜的栅极加去耦电容或者采用共源共栅电流镜来提升输出电阻。我在后续项目中会在偏置电路的每个关键节点都加去耦电容虽然增加了面积但避免了振荡风险。这个经验告诉我仿真时不能只看主电路的稳定性偏置电路、共模反馈电路、偏置启动电路都需要单独检查稳定性。5.2 工艺角仿真通过但流片失败失配才是真凶工艺角仿真覆盖了慢、快、典型等全局工艺变化但不覆盖局部失配。局部失配是指同一芯片上相邻晶体管的阈值电压和迁移率不完全相同。失配会导致差分对的失调电压、电流镜的电流误差、电容的容值偏差。我见过一个案例工艺角仿真全部通过但流片后测试发现失调电压高达二十毫伏远超仿真预测的五毫伏。原因是输入对管的面积太小失配标准差与面积成反比。蒙特卡洛仿真是评估失配的标准方法。仿真时我会设置失配模型运行至少两百次蒙特卡洛仿真观察失调电压的分布。如果失调电压的标准差超标我会增大输入对管的面积或者采用失调消除技术比如自动调零或斩波稳定。增大面积会增大寄生电容降低带宽所以需要在失调和带宽之间折中。我的经验是输入对管的面积至少是最小尺寸的十倍以上才能把失调电压控制在可接受范围内。5.3 输出摆幅不够可能是偏置点选错了输出摆幅不够是常见问题但原因可能出乎意料。我遇到过一个案例套筒式共源共栅放大器的输出摆幅只有四百毫伏远低于设计目标的一点二伏。检查直流工作点发现共源共栅晶体管的漏源电压只有一百毫伏接近线性区边缘。原因是共源共栅的栅极偏置电压选得太低导致共源共栅晶体管占用过多电压余量。解决方法有两种一是调整共源共栅的栅极偏置电压让共源共栅晶体管工作在更深的饱和区二是采用折叠式结构把输入晶体管和共源共栅晶体管分开释放电压余量。我通常先尝试调整偏置电压如果调整后增益下降太多再考虑换结构。调整偏置电压时要注意共源共栅晶体管的栅极电压不能太高否则输入晶体管可能进入线性区。这个平衡点需要仔细扫描仿真。5.4 相位裕度仿真与瞬态仿真不一致断点方法有问题相位裕度仿真和瞬态仿真结果不一致是另一个常见坑。我遇到过一个案例交流仿真显示相位裕度六十五度但瞬态仿真显示过冲百分之三十对应相位裕度只有四十五度左右。排查后发现交流仿真时断开环路的方法有问题断点处的直流工作点被改变了导致仿真结果偏乐观。正确的断点方法应该保持直流工作点不变。我通常用大电感连接断点电感在直流时短路保持直流工作点在交流时开路实现环路断开。同时用大电容把交流信号注入断点电容在直流时开路不影响直流工作点在交流时短路注入交流信号。这种方法可以同时保证直流工作点和交流断开的正确性。如果仿真器支持也可以用专门的环路稳定性分析工具比如STB分析直接测量环路增益和相位不需要手动断点。6. 从指标到版图设计之外的隐形战场6.1 匹配布局差分对的对称性决定失调版图匹配是模拟设计中不可忽视的环节。差分对的失调电压不仅取决于晶体管面积还取决于版图对称性。如果两个晶体管的版图不对称即使面积相同也会因为应力、温度梯度、工艺梯度导致失配。我通常采用共中心布局把两个晶体管分成多个指状交叉排列使它们的几何中心重合。这样可以抵消大部分线性梯度的影响。电流镜的匹配同样重要。电流镜的电流误差直接影响放大器的偏置点和增益。我通常把电流镜的晶体管做成相同尺寸、相同方向、相同环境并且尽量靠近。如果电流镜的比值不是一我会用多个单位晶体管并联而不是改变单个晶体管的宽度。单位晶体管并联可以减小失配因为失配标准差与晶体管数量的平方根成反比。6.2 寄生电容与电阻仿真模型之外的现实寄生电容和电阻是仿真模型无法完全覆盖的。金属连线的寄生电容会降低带宽通孔和接触孔的寄生电阻会降低增益。我在版图设计时会尽量缩短关键节点的连线特别是输入节点和输出节点。输入节点的寄生电容会与输入电阻形成极点降低带宽。输出节点的寄生电容会与输出电阻形成极点影响稳定性。电源线和地线的寄生电阻会导致电压降影响偏置点。我通常用宽金属线做电源线和地线降低寄生电阻。如果电流较大我会用多层金属并联进一步降低电阻。衬底噪声也是不可忽视的问题。数字电路开关时会在衬底注入噪声通过衬底耦合到模拟电路。我通常把模拟电路放在独立的阱中并用保护环包围减少衬底噪声耦合。6.3 测试与调试流片之后的真实考验流片之后的测试是真正的考验。我通常会在芯片上预留测试焊盘方便探针测量关键节点电压。测试时我会先测直流工作点确认偏置电路正常。然后测交流增益和带宽确认小信号性能。最后测瞬态响应和噪声确认时域和噪声性能。如果测试结果与仿真不符我会先检查测试设置比如电源电压、偏置电流、负载条件是否与仿真一致。调试时我会从偏置电路开始排查。偏置电路不正常整个放大器都不正常。然后检查输入对管的失调电压如果失调电压过大可能是版图匹配问题。最后检查输出摆幅和稳定性如果输出摆幅不够可能是偏置点问题如果稳定性不够可能是补偿电容问题。调试过程需要耐心和系统性的排查思路不能东一榔头西一棒子。7. 写在最后一些个人体会模拟CMOS放大器设计是一门需要长期积累的手艺。课本上的公式和仿真器的结果只是起点真正的功夫在于理解每个参数背后的物理意义以及它们之间的相互制约。我刚开始做设计时总想找一个“最优解”后来发现模拟设计里没有最优解只有折中解。增益和带宽折中功耗和噪声折中摆幅和稳定性折中。每个折中点都取决于系统需求没有放之四海而皆准的答案。另一个体会是仿真很重要但不能迷信仿真。仿真器是基于模型的模型有精度限制版图有寄生效应工艺有失配和漂移。我现在的习惯是仿真通过后还要留至少百分之三十的余量以应对模型不准确和工艺波动。流片前我会把关键指标在工艺角和温度范围内都扫一遍确保没有遗漏。最后分享一个小技巧建立自己的设计检查清单。每次设计新放大器时按照清单逐项检查从直流工作点到交流响应从瞬态建立到噪声性能从版图匹配到测试方案。清单可以避免遗漏也可以积累经验。我的清单已经更新了十几版每次踩坑后都会加一条。这个习惯让我在后续项目中少走了很多弯路。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进