两级全差分高增益放大器设计:从指标分解到流片实战

发布时间:2026/9/6 20:22:09
两级全差分高增益放大器设计:从指标分解到流片实战 简介面向模拟集成电路学习者的设计参考文档以两级全差分高增益放大器为设计对象完整覆盖从性能指标设定、电路结构选型、参数计算到前仿真、版图绘制与物理验证的模拟IC全流程。文档基于华大九天Aether平台与0.18um PDK针对DC增益≥90dB、0dB带宽≥500MHz、相位裕度≥50°、PSRR等指标对比折叠式与套筒式共源共栅结构详细给出各级电流分配、过驱动电压分配、MOS宽长比计算及偏置电压设定并延伸至原理图绘制、测试电路搭建、AC/OP/瞬态仿真以及DRC/LVS验证等环节适合微电子专业学生、IC设计工程师及赛前备考人员使用。资源为1个PDF文件大小1.65MB内容精炼紧凑便携易读。目前已有96人学习收藏是理解全差分OTA设计流程与国产EDA工具使用的实用参考资料可据此建立从指标到版图的系统性认知。 模拟集成电路设计这个圈子两级全差分高增益放大器是绕不开的基本功。不管你做的是ADC前端的采样保持放大器、传感器接口里的仪表放大器还是DAC输出缓冲最终都会落到同一个问题上怎么在有限的功耗和面积预算下把增益、带宽、摆率、噪声这些互相撕扯的指标揉到一起还得保证流片回来能稳定工作不出幺蛾子。这篇文章我就拿“两级全差分高增益放大器”这条主线把架构选择、指标反推、电路搭建、仿真验证的完整流程拆开讲一遍里面穿插我个人流片和调试踩过的坑适合正在学模拟IC设计的研究生也适合刚入行被全差分电路折磨的工程师。我见过不少同学拿到指标后直接打开Cadence开始画管子画完一仿真发现某个指标怎么都调不上去然后开始盲调运气好调两天调通运气不好直接换架构重来。其实全差分两级运放的设计路径非常固定完全可以先在手算阶段把90%的矛盾暴露出来再进EDA工具事半功倍。下面按我习惯的设计顺序来讲。1. 为什么是两级全差分架构决策与设计逻辑1.1 全差分结构收益与代价全差分的意思是运放有两个输出端输出信号用Vout减去Vout-来表示。相比单端结构全差分最直观的好处是输出摆幅直接翻倍。你想象一下一个1.8V电源的系统单端输出能摆到0.2V到1.6V已经不错了摆幅1.4V而全差分每端摆0.2V到1.6V差分信号就是正负1.4V等效动态范围大了整整6dB。这还没算它在共模噪声抑制上的天然优势——电源扰动和衬底噪声会同时作用在两个输出端做差以后被抵消掉这在混合信号芯片里简直太关键了。另一个容易被忽略的好处是偶次谐波抵消因为差分输出的泰勒展开里偶次项是同相的相减就没了线性度会比单端干净不少。代价也很明确多了一个共模反馈环路。差模信号靠输入差分对放大但是输出共模电平往哪飘没有人管必须专门设计一个CMFB电路去检测输出共模电压反馈到偏置端把输出共模拉回目标值。这个环路单独有增益、有带宽、有稳定性问题设计不好轻则共模漂移导致工作点跑飞重则整个环路振荡。全差分电路调不出性能十有八九是CMFB在作怪这一点后面详细讲。1.2 两级架构把增益和摆幅分开解决先看单级方案。套筒式共源共栅结构在长沟道工艺下做到60到70dB增益不算难但你要做到80dB以上的高增益单级就非常吃力了。因为单级增益本质上等于输入跨导乘输出阻抗输出阻抗靠堆共源共栅管来提升堆到三层甚至四层以后输出摆幅被压缩得没法看头尾电压余量都不够。反过来如果你想保住摆幅输出阻抗就得妥协增益又上不去。这就是单级天生的矛盾增益和摆幅绑定在一起只能互相迁就。两级架构把这个问题解耦了。第一级不负责输出摆幅可以放心用共源共栅堆增益第二级用简单的共源级专门提供摆幅。级联总增益等于两级增益相乘90dB甚至100dB都可行输出摆幅依然可以接近轨到轨。当然天下没有免费的午餐代价是多了一个低频极点频率补偿变复杂了得靠密勒电容做极点分裂。下面这个表是我的选型习惯方案开环增益输出摆幅稳定性设计功耗效率适用场景单级套筒60~70dB小简单高高速中等增益单级折叠50~60dB中简单中输入共模范围要求高两级密勒80~100dB大中等中高增益高精度增益增强单级80~100dB小复杂高追求极致速度我个人的看法是如果不是对速度和功耗有特别极端的追求第一版设计优先用两级密勒结构。它的行为模型最成熟仿真工具里能用的辅助手段最多出问题的概率相对可控。增益增强虽然纸面上性能漂亮但环路嵌套带来的稳定性和偏置复杂度对新手非常不友好。2. 先算清楚再动手指标分解与参数预设计2.1 五个关键公式撑起预设计做两级全差分运放我不建议直接上手画原理图。先花半个小时做一次手算预设计把大致电流、管子宽长比、电容值定下来再进工具微调。整个预设计核心就五个关系第一个是单位增益带宽GBW等于第一级跨导gm1除以2π乘以密勒电容CcGBW gm1 / (2π·Cc)。这个公式告诉你带宽和密勒电容成反比想带宽大就把Cc做小但Cc直接关系稳定性和噪声不能无限小。第二个是摆率SR第一级摆率约等于尾电流Itail除以Cc。大白话就是你给电容充电的速度充得快摆率就高。所以摆率不够的时候不要只盯着管子尺寸先看看尾电流够不够。第三个是次主极点p2约等于第二级跨导gm2除以2π乘以负载电容CL。这个极点位置直接决定相位裕度。相位裕度要想有60度次主极点必须离GBW足够远工程上习惯要求gm2/CL ≥ 2.2 × gm1/Cc。第四个是调零电阻Rz密勒补偿Cc上串联的那个电阻取值约等于1/gm2。它能把右半平面零点推掉否则零点落在GBW附近相位裕度会很难看。第五个是增益分配总增益约等于gm1·Rout1·gm2·Rout2两级各自承担多少增益要在手算时留好余量。实战中我一般让第一级贡献60dB左右的增益第二级贡献30到40dB这样总增益90dB以上轻松达到还不用把每个单级都推到极限。2.2 用一组实际指标反推参数我拿一个实际项目里的指标来走一遍流程直流增益≥90dBGBW≥100MHz负载电容2pF摆率≥80V/μs相位裕度≥60度电源1.8V0.18μm工艺。第一步定密勒电容Cc。按经验Cc取1pF左右和负载电容同量级。第二步由摆率公式反推尾电流Itail SR × Cc 80V/μs × 1pF 80μA第一级输入对管每边分40μA。第三步由GBW反推第一级跨导gm1 2π × 100MHz × 1pF ≈ 628μA/V。再用gm 2Id/Vov反推输入对管过驱动电压Vov 2 × 40μA / 628μA/V ≈ 127mV这个值落在100到200mV的经验区间里合理。第四步看第二级。相位裕度60度要求gm2 ≥ 2.2 × 2π × CL × GBW 2.2 × 2π × 2pF × 100MHz ≈ 2.76mA/V。第二级电流取150μA的话Vov 2 × 150μA / 2.76mA/V ≈ 109mV勉强可以接受。你注意这里有个权衡如果第二级电流给太小gm2不够相位裕度就保不住电流给太大功耗又上去。第五步验增益。90dB对应电压增益31623倍第二级用共源结构Rout2大概可以做到250kΩ到500kΩ取300kΩ计算gm2 2.76mA/V第二级增益约828倍。那第一级需要提供约38倍增益这个量级对共源共栅结构来说非常轻松。到这里所有管子的大致偏置电流和关键电容都有了可以开图纸了。2.3 手算的定位不求精确但求方向正确我强调一下这个阶段的数字全是量级级别的估算不需要也没必要精确到小数点后三位。原因很简单二级效应、寄生电容、沟道长度调制、温度变化都会让实际值和手算差出20%甚至更多。手算的意义是让你在仿真之前就知道哪些指标是瓶颈哪些器件是杠杆点。举上面的例子最关键的信息是第二级跨导gm2决定了你能否保住60度相位裕度。所以后面调电路时如果PM上不去我的第一反应不是去动密勒电容而是检查第二级电流是否够大、负载电容是否被寄生电容抬高。手算提前告诉你这个方向你就不会像无头苍蝇一样乱调一通了。3. 电路模块拆解输入级、第二级与共模反馈3.1 输入级选型套筒还是折叠第一级选型第一件事是定输入管极性。PMOS输入管适合输入共模电平接近地的场景噪声性能通常更好NMOS输入管适合输入共模接近电源的场景。实际怎么选往往不是自己定的而是看前一级电路给你的共模电平是多少跟着应用走。第二件事是定结构。套筒式共源共栅电流效率高、增益高但输出摆幅小。折叠共源共栅多一路电流功耗大一点但输入共模范围和输出摆幅都更灵活。如果这次设计是第一级后面直接接第二级没有中间节点需要对外输出我偏向用套筒式如果输入共模范围要求从轨到轨都能工作那必须折叠没有商量余地。输入差分对的尺寸设计有个细节容易被忽略在固定漏电流下gm和W/L的平方根成正比和过驱动电压的一次方成正比。也就是提高Vov比加大管子面积能更有效地提升gm功耗代价还更小。但Vov不能太大100到200mV是甜点区间——太小管子失配影响大太大跨导效率和摆幅都被压制。3.2 第二级与密勒补偿的实现细节第二级是个共源放大级输出端负载电容大、摆幅要求高所以结构尽量简单。输出管沟道长度不要用最小尺寸我一般取最小沟长的2到4倍换来更高的ro增益和输出精度都有改善。代价是速度变慢通过合理设置电流来平衡。密勒补偿电容Cc跨接在第一级输出节点和第二级输出节点之间。它的作用是极点分裂把第一级输出节点的主极点往低频推把第二级输出节点的次主极点往高频推两者拉开距离环路稳定性就有了保障。但Cc会引入一个右半平面零点频率约等于gm2除以2πCc。这个零点在相位上的贡献是负的严重时会吃掉一二十度相位裕度。解决办法就是调零电阻Rz。Rz取值约为1/gm2可以把零点推到无穷远甚至翻到左半平面。实现上Rz可以用多晶硅电阻也可以用工作在线性区的MOS管后者可以跟随PVT变化自动调整阻值实际流片时鲁棒性更好。设计初期先用一个理想电阻仿真相位裕度随Rz变化的曲线找出最优值再决定具体实现方式。这个扫描习惯我保持了多年屡试不爽。3.3 CMFB全差分电路最容易翻车的环节全差分运放必须有个共模反馈环路否则输出共模电压会随着电源电压、温度、失配漂移严重影响后级。CMFB的基本原理是检测输出共模电平(Vout Vout-) / 2和参考电压Vcm比较误差信号反馈到偏置端把共模拉回目标值。工程上CMFB有两种主流实现。连续时间CMFB用电阻分压检测共模再用一个跨导级比较直接调整输出级电流源优点是带宽高适合连续时间信号处理但分压电阻会引入热噪声还可能在输出节点增加一个低频极点。开关电容CMFB用电容分时采样输出共模再通过电荷分享调节偏置优点是不消耗静态电流、不增加输出噪声但需要非交叠时钟和额外的动态功耗主要用在开关电容链路里。CMFB环路设计最核心的一条它也要满足增益和相位裕度要求。我见过太多人只盯着差模环路的稳定性忘了CMFB环路单独跑一个STB仿真结果瞬态一跑发现输出共模以几百MHz的频率振荡输出波形一片模糊。CMFB检测网络引入的寄生节点要尽量远离CMFB的单位增益带宽必要时用小电容做一个主极点补偿。另外CMFB环路增益要适中——太小共模抑制不够太大容易与差模环路耦合振荡。调CMFB的时候建议把差模输入固定单独看共模环路的STB响应和瞬态共模阶跃响应收敛趋势清楚了再合到一起看整体。4. 仿真验证、问题排查与实操心得4.1 仿真清单与推荐执行顺序一个可靠的全差分运放设计仿真不能只跑一个AC就完事。我自己的固定流程是这样的DC工作点仿真先确认所有管子都工作在饱和区电流和手算值的偏差在合理范围内。这一步如果不过后面全是空中楼阁。开环AC仿真把CMFB环路闭合差模环路用大电感和电容配置成开环测试结构看差模增益、GBW、相位裕度。STB稳定性仿真分别测差模环路和CMFB环路的增益、带宽、相位裕度。Cadence里的stb分析默认能测两个环路关键是接法要正确。瞬态仿真先接单位增益缓冲结构输入加阶跃看建立时间和过冲再加大阶跃信号看摆率。噪声仿真看输入参考电压噪声谱和积分噪声确认噪声指标是否落在规格内。PVT加蒙特卡洛跑工艺角、温度、电源电压扫描再跑失配蒙特卡洛看失调电压分布和良率。注意SS corner下管子跨导最小相位裕度通常是最差的要重点盯。4.2 高频踩坑问题和排查手段我把自己和身边同事遇到过的问题整理成一个速查表虽然简单但非常实用现象直接原因排查手段输出共模高频振荡CMFB环路不稳定降低CMFB环路增益检查检测网络极点单位增益缓冲接法时严重过冲差模相位裕度不足看p2位置查第二级gm和调零电阻大阶跃信号边沿太慢摆率不足检查第一级尾电流和第二级电流能力DC输出共模对不上设计值CMFB闭环没建立或参考接错检查CMFB反馈极性确认参考电压PVT仿真下PM跌破45度SS角下gm下降、寄生增大增加第二级电流调整Rz跟随特性处理器上我建议一个症状对应一个怀疑对象不要同时动多个参数。比如顺手把尾电流调大又把Cc改小最后PM是好了但你根本不知道是哪个动作起的作用换个corner可能又出问题。4.3 几条真正好用的调参经验做这个电路好几年我总结出几条普通教科书上不会写的实操经验。第一调零电阻Rz一定要扫描。在原理图里把Rz设成一个变量跑一遍Rz从0.5倍1/gm2到2倍1/gm2的扫描输出PM和GBW两条曲线。你会很直观地看到最佳点在哪里而且能用容差范围判断这个电阻的敏感度。我见过一个设计Rz从最佳点偏15%PM就从68度掉到58度这种对失配太敏感的设计必须改结构。第二相位裕度不够时先检查负载电容是不是被寄生电容抬高了。有时候你画的时候以为CL是2pF实际在版图里输出节点上一堆走线电容和下一级输入电容加起来可能变成2.8pF次主极点直接被拉低PM就掉下来了。先用后仿真提取结果确认真实负载再决定要不要加大第二级电流而不是一味去调Cc。第三CMFB环路在瞬态里表现为共模的低频漂移和高频振荡两种症状。低频漂移通常是增益不够高频振荡通常是相位余量不足。上了示波器看瞬态波形先区分是哪种再决定往哪个方向下手。我见过有人把CMFB环路增益提到很高想把共模抑制做好结果把环路调振荡了纯属方向错误。最后再分享一个小技巧。每次设计文件里我会单独建一个测CMFB的testbench只测共模环路不做任何差模激励。这样每次改动电路后跑一遍这个benchCMFB的稳定性变化趋势一目了然。全差分运放做多了你会发现差模环路不太容易出问题CMFB才是真正消耗时间的地方把这个环节管好了整个设计速度能快三分之一。本文还有配套的精品资源点击获取