从单级到两级:5T-OTA+CS运放设计与补偿实战
1. 为什么两级结构会是模拟设计的成人礼1.1 从单级到两级一个必然的进化路径我至今记得第一次独立设计 5T-OTA 时的窘境。当时导师丢给我一个任务在 0.18um 工艺下做一个增益超过 60dB、单位增益带宽 50MHz、功耗低于 200uW 的放大器。我天真地想不就是教科书上的五管差分对嘛把尺寸调大一点不就行了。结果一跑仿真实在是天真得可爱——单级 5T-OTA 的低频增益由输入管跨导和输出阻抗的乘积决定在普通共源/共栅负载下增益撑死也就 40~50dB 的水平。想要超过 60dB唯一的出路就是大幅提高输出阻抗而输出阻抗提高意味着电流减小或沟道长度拉长带宽立刻崩给你看。这就是为什么单端两级运放设计5T-OTACS这个组合在业界如此常见。第一级 5T-OTA 负责把差分输入转成单端信号并给出一个中等水平的增益第二级共源极放大器CS再接再厉把电压增益推上去同时为后级负载提供足够强的驱动能力。两级分开看都很简单单级增益可能只有 30~40dB但乘起来就是 80dB 甚至更高。这个设计的精妙之处在于它把一个高增益放大器的设计难题拆成了两个相对独立的子问题第一级解决怎么把信号干净地放大还不够怎么稳住偏置第二级解决怎么在功耗预算内把摆幅和驱动能力做够。另外两级结构天然隔离了负载变化对第一级增益节点的影响这是单级结构做不到的。很多初学者绕不开这个结构是因为它几乎是所有高性能运放的基本骨架你搞懂它后面理解折叠共源共栅、推挽输出、Class AB 这些结构都会顺畅得多。1.2 这个标题到底在说什么5T-OTA、CS 级以及它们之间的关系先把术语拆干净。5T-OTA五管 OTA指的是由一个尾电流源、一对输入差分对管、一对负载管组成的放大器核心总共五个晶体管。负载管可以接成电流镜形式有源负载也可以接成电阻形式但最常见的五管结构是差分输入对 电流镜负载这样输出节点天然是单端的。OTA 的意思是跨导放大器它的核心指标是输入电压转输出电流的跨导 (G_m)而不是传统运放的电压增益这一点在小信号分析时特别要注意。CS 级则是最基本的共源极放大器单管输入、单管输出增益是 (-g_m \cdot R_{out})。把 5T-OTA 的输出接到 CS 管的栅极就构成了两级开环放大器。这里有一个很关键的概念拐点5T-OTA 的输出节点是高阻抗节点CS 级的输入栅极也是高阻抗节点两个高阻抗节点直接级联等于把两个极点硬生生串在一起。这在频率响应上就构成了一个两极点系统相位裕度天然紧张这是后面所有补偿故事的起点。很多人会问为什么不直接用一级多加几个 cascode 管来拉增益答案是cascode 确实能提高输出阻抗但代价是输出摆幅被压缩得很厉害在低电源电压下比如 1.8V、1.2V几乎没法用。两级结构则完全不同第一级完全可以牺牲一部分输出摆幅来换增益第二级再负责把摆幅做大。这种分工合作的思路其实也是模拟设计里很重要的顶层思维不是所有指标都要在一个节点上同时实现有时候把指标拆给不同级反而更轻松。1.3 适合谁读、解决什么问题这篇内容适合的读者大概有两类。第一类是刚跨入模拟 IC 设计门槛的研究生或初级工程师他们已经学过器件物理和基本电路理论但从原理图到可仿真、可版图、可测试的完整链路还没有走通。第二类是做过一些单级放大器、但总觉得增益和带宽卡在瓶颈里的人他们缺的不是公式而是两级级联时偏置怎么协调、补偿怎么加、仿真怎么设这类工程经验。我会把设计流程拆成五块来讲偏置与工作点设计、小信号增益与带宽的权衡、两级级联的偏置协调、频率补偿的仿真调参、以及版图与后仿真的坑。每一块我都会先讲清楚为什么要这么做再给具体怎么操作的步骤再附上我自己踩过的典型坑。这样哪怕你之前完全没碰过 Cadence也能按图索骥地搭出一个能跑通前仿、经得起后仿考验的两级运放。至于流片测试那些事我放在最后单独聊因为那部分才是真正区分仿真选手和懂设计的人的分水岭。2. 5T-OTA 的偏置与工作点设计先把 DC 搞稳2.1 偏置电流是整套设计的生命线很多新手学运放一上来就盯着小信号参数算增益带宽却忽略了一个最基本的事实所有的小信号参数都是从大信号工作点上长出来的。(g_m) 是 (I_D) 和 (V_{OV}) 的函数输出阻抗 (r_o) 是 (I_D) 和沟道长度的函数(GBW) 是 (g_m) 和负载电容的函数。偏置电流偏了整个放大器的所有性能都会系统性地偏移。在 5T-OTA 里偏置电流由尾电流源决定。假设工艺是 0.18um CMOS电源电压 1.8V典型偏置电流 (I_{tail}20\mu A)。那么每一边的输入对管电流就是 (10\mu A)。这个 (10\mu A) 看起来不大但它同时决定了输入管的 (g_m)、输入管的 (V_{OV})、负载管的 (V_{OV})进而限定了输出节点的摆幅上限和下限。20uA 的尾电流得到多大的 (g_m)在饱和区(g_m 2I_D/V_{OV})如果 (V_{OV}) 取 150mV那么单边 (g_m2 \times 10\mu A / 0.15V \approx 133\mu A/V)。这个量级配合 200kΩ 的输出阻抗一级增益大概 26.6 倍也就是约 28dB。两级相乘再算上 CS 级的增益整个放大器做到 70~80dB 并不夸张。偏置电流源的实现方式通常是基准电流镜。常见做法是外部给一个基准电流 (I_{REF})通过电流镜复制到尾电流管 (M_5) 上。如果尾电流管和基准管的比例是 1:1那么 (I_{tail}I_{REF})如果要省功耗可以做成 2:1 甚至 4:1。这里有个我踩过的坑电流镜的比例受沟道长度调制影响很大。如果基准管的 (V_{DS}) 和尾电流管的 (V_{DS}) 不相等复制出来的电流会明显偏离理想比例。所以我在画版图时特别注意让这两个管的 (V_{DS}) 尽可能接近或者在尾电流管下面加一个 cascode 管来强制 (V_{DS}) 一致。2.2 DC 工作点怎么设从摆幅预算反推每个管的 (V_{OV})模拟设计里有个非常实用的方法叫摆幅预算我几乎每次设计都会先做这一步。对于电源电压 1.8V 的 5T-OTA假设输出节点上的电压摆幅目标是 0.3V 到 1.5V那么输出节点的上下限分别由负载管的饱和电压和输入对的饱和电压决定。若负载管是 PMOS它的源端接 (V_{DD})那么输出最低电压受限于负载管的 (V_{OV}) 和尾电流管的 (V_{OV}) 之和。若每个管的 (V_{OV}) 取 150mV那么输出最低大约能到 (V_{OV,load} V_{OV,tail} 0.3V) 左右这还真跟目标吻合。输入管这一侧则决定了输出最高电压能到多高。对 PMOS 输入管输出最高电压可以接近 (V_{DD})因为负载管的源端就是 (V_{DD})。对 NMOS 输入管输出最高电压要留出输入管的 (V_{OV})所以通常低一些。这就引出了 5T-OTA 的一个常见变体选择输入管用 PMOS 还是 NMOS。如果系统要求输入共模电压接近地选 PMOS 输入对如果要求接近电源选 NMOS 输入对。这个选择不仅影响摆幅还影响噪声——PMOS 的 (1/f) 噪声通常比 NMOS 低但速度慢一些。传感器前端里我一般选 PMOS 输入ADC 里则看共模电平再定。工作点设计的具体顺序我一般这样做确定尾电流 (I_{tail})比如 20uA假设输入管工作在中等反型区取 (g_m/I_D 10)那么 (g_m100\mu A/V)由 (g_m2I_D/V_{OV}) 反推 (V_{OV}200mV)检查 (V_{OV}) 加上尾电流管的 (V_{OV}) 和负载管的 (V_{OV})是否有足够的摆幅空间——不够就降低电流够就继续用仿真 DC 扫描验证所有管子的工作区域确实是饱和区并记录下来。2.3 为什么输入对管的 (g_m/I_D) 是个万能旋钮在深亚微米工艺下MOS 管的 (g_m/I_D) 已经从教科书的强反型平方律公式进化成了一个更通用的设计指标。它本质上是跨导效率和电流效率的统一(g_m/I_D) 越高说明每单位电流能换来更大的跨导管子工作得越节能。这个指标在弱反型区可以逼近 (1/(2\phi_T) \approx 19.2)室温下在强反型区则降到 2~5 左右。选择工作点很多时候就是在选 (g_m/I_D) 的数值。对于 5T-OTA 的输入对管我的经验是把 (g_m/I_D) 取在 10~12 之间。这个区域对应的 (V_{OV}) 大约在 80~120mV属于中等反型而非深亚阈值。为什么不进一步推高 (g_m/I_D) 进入弱反型因为弱反型区的管子速度慢(f_T) 低而且对失配更敏感——(V_{TH}) 的小偏差会导致电流的大偏差。在高速应用里这几乎是致命的。反过来如果把 (g_m/I_D) 压到 4 以下(V_{OV}) 会很大摆幅预算立刻爆炸而且功耗也会上升。所以取中间值是一个经过实践检验的折衷尤其在 0.18um 这类工艺节点。2.4 一个很容易被忽略的约束输入共模范围对 (V_{OV}) 的挤压5T-OTA 的输入共模范围ICMR由尾电流管的 (V_{OV})、输入管的 (V_{OV}) 以及负载管的 (V_{OV}) 共同决定。对于 PMOS 输入管、NMOS 尾电流源的结构输入最低共模电压被限制在尾电流管 (V_{DS,sat}) 输入管 (V_{SG}) 以上。输入最高共模电压则可以很高接近 (V_{DD})。这里的陷阱在于系统给定的输入共模电压往往有固定的偏置点比如在传感器应用中输入偏置在 0.9V在射频包络检测中则可能接近 0V 或接近电源。如果输入共模电压太高PMOS 输入管的源漏电压 (V_{SD}) 会被压缩导致输入管进入线性区跨导崩塌。这一点在公式上特别好验证(V_{SD,input} V_{DD} - V_{in,cm} - V_{SG,input})。当 (V_{in,cm}) 接近 (V_{DD}) 时(V_{SD}) 自然变小。解决方式要么是换成 NMOS 输入对要么把输入共模电压钳位到一个中间值。这个看起来是小问题但它直接在流片后决定芯片能不能用。我有一次就是把输入共模电压设计得太高结果前仿正常但输入管的 (V_{OV}) 在工艺角变化下变得极其敏感后仿直接翻车。3. 增益与带宽的博弈别把 GBW 算没了3.1 5T-OTA 的增益表达式为什么高阻抗节点是核心前面提到5T-OTA 的单级增益为 (A_{v0} g_{m1} \cdot (r_{o2} \parallel r_{o4}))。这里的 (r_{o2}) 和 (r_{o4}) 分别是输入管和负载管在输出节点处呈现的小信号输出电阻。在 0.18um 工艺下一个 1um 沟道长度的 NMOS 输出电阻大约有 50kΩ~100kΩPMOS 类似。两个并联后大约 25kΩ~50kΩ。若 (g_{m1}133\mu A/V)增益不到 10 倍这对于很多应用是不够的。提升增益的第一反应是增大 (L)。把输入管和负载管的沟道长度从 0.5um 增加到 2um(r_o) 大致可以提高 3~5 倍增益能到 20~30dB。但问题来了输入管的栅极面积变大后(C_{gs})、(C_{gd}) 都会增加这会直接抬高输出节点的寄生电容把 GBW 往下压。所以拉长管子提增益这个操作必须在够用和别把带宽拖垮之间反复权衡。另一个思路是提高输出节点的阻抗比如在输出节点接一个 cascode 管。但对 5T-OTA 来说接了 cascode 就不再是纯五管结构了复杂度上升而且输出摆幅进一步压缩。所以在这个紧凑结构里增益的提升主要靠负载管和输入管的 (L) 选择而不是靠堆叠。理解了这一点你就能明白为什么 5T-OTA 的增益天花板大约在 45dB 上下——除非你采用增益增强技术否则单级的极限就在那里。3.2 单位增益带宽怎么算(g_m) 和负载电容的比值游戏单位增益带宽 (GBW) 在小信号模型下近似等于 (g_m / (2\pi C_L))。这个公式对于单级 OTA 非常直观带宽的核心是每单位电容能分到多少跨导电流。(C_L) 如果只有 200fF那么 100uA/V 的 (g_m) 对应约 80MHz 带宽。如果 (C_L) 是 2pF同样的 (g_m) 带宽就只有 8MHz轮胎就瘪了。所以当负载电容变大时正确做法不是仅仅加大 (W/L)而是要同时考虑功耗。因为 (g_m \propto \sqrt{I_D})强反型想要带宽翻倍电流需要翻三倍左右功耗代价非常大。此时你就会理解为什么很多高性能运放会在输入级投入大电流因为只有输入级的 (g_m) 直接影响 GBW后级电流只能影响摆率。我曾经在一个项目里碰到过这样的需求(C_L5pF)要求 GBW 40MHz那么 (g_m) 至少需要 (40MHz \times 2\pi \times 5pF \approx 1.26mA/V)。如果输入对管 (g_m/I_D10)输入级电流就需要 126uA 以上这在低功耗预算下直接爆炸。于是我只能下调指标或者把负载电容在版图上尽量减小。这个用公式反推预算的习惯我在每个项目一开始就会做避免后期返工。3.3 如何在 Cadence 里快速验证增益与带宽的预期在 Cadence 里做 AC 仿真时很多人直接用ac扫描却忘了检查 DC 工作点是否覆盖了目标偏置。我最常用的验证套路是设置输入共模电压为设计目标值比如 0.9V给输入管加一个 1V 的 AC 信号源用ac扫描从 1Hz 到 1GHz记录输出节点的幅度和相位低频段的幅度除以输入 AC 幅度就是开环增益找到增益降到 0dB 的频率就是 GBW。这里有个细节AC 扫描前必须先做 DC 工作点仿真否则 Cadence 默认从零偏置开始结果完全不能用。我一般用dc仿真先确认所有管子都在饱和区再上ac。另外如果两级级联后相位裕度太差ac扫描会在穿越 0dB 附近出现明显的相位陡降这时候就要开始考虑补偿了而不是继续调管子尺寸。3.4 摆率与建立时间一个经常被遗忘的大信号指标GBW 是小信号指标但它无法直接推导出大信号下的摆率Slew Rate。摆率 (SR I_{tail}/C_L)它决定了在电压阶跃时输出能多快地以恒定电流给负载电容充放电。如果你的第一级尾电流只有 20uA负载电容 2pF那么摆率只有 (20\mu A/2pF 10V/\mu s)。如果系统要求输出在 500ns 内建立到 0.1%而摆幅是 1V那么摆率必须大于 (1V/500ns 2V/\mu s)看起来够用但如果阶跃幅度是 2V 呢摆率就需要 4V/(\mu s) 左右直接翻了倍。这个指标在两级结构里更复杂因为第二级 CS 管的摆率同样受限于第二级电流。我在设计时会把第一级和第二级的摆率都算一遍确保输出级的大信号驱动能力不拖后腿。有一个典型的翻车场景第一级尾电流很大GBW 做很宽但第二级偏置电流很小结果大信号时第二级先进入压摆限制整个放大器的瞬态响应非常缓慢。这个现象在 AC 仿真里完全看不出来只能靠tran仿真和建立时间测量来暴露。4. CS 输出级的设计与两级级联的偏置协调4.1 CS 级的作用电压增益之外还要扛住负载单靠 5T-OTA 去驱动一个 2pF 的电容在大多数情况下都显得吃力因为输出节点的高阻抗本身就在扮演电流源驱动容性负载时带宽会迅速下降。所以第二级 CS 放大器的第一个作用就是缓冲与驱动。它的输入阻抗很高MOS 栅极不会给第一级输出节点加载太多电容它的输出阻抗相对低一些但仍然是高阻节点可以提供比 5T-OTA 输出更大的电流能力。CS 级的增益写成 (-g_{m5} \cdot (r_{o5} \parallel r_{o7}))其中 (M_5) 是 CS 放大管(M_7) 是它的有源负载PMOS。如果想提高这一级的增益理论基础和第一级一样要么增大 (g_{m5})加大电流要么增大输出电阻拉长沟道。但因为这一级通常还要兼顾输出摆幅所以我会给 (M_5) 的 (V_{OV}) 留一点余量不把它推到弱反型否则大信号下拉能力不足。CS 级的输出摆幅通常可以做得比第一级宽很多因为它的输出直接是电源轨之间的。以 1.8V 电源为例CS 输出最高约 (V_{DD} - V_{OV7})最低约 (V_{OV5} V_{OV, tail/偏置相关的压降})。如果 (V_{OV}) 都取 150mV那么输出摆幅可以达到约 1.5V 甚至更高。这个宽敞的摆幅正是两级结构在低电源电压下的优势所在。4.2 第一级输出共模点两级级联的命门两级直接级联时第一级输出节点的直流电压同时是第二级 CS 管的栅极电压。如果这个电压太高CS 管会进入线性区对 NMOS 而言栅压高不是坏事坏的是栅压超过漏极电压加上阈值才会让管子离开饱和如果太低CS 管的电流会很小第二级增益上不去。更麻烦的是第一级输出共模点是由 5T-OTA 内部的负载管与输入管的尺寸比值决定的并不精确容易受 PVT 影响。我处理这个问题时会先做一个 DC 扫描把第一级输出共模点扫一遍看第二级 CS 管的 (V_{DS}) 在哪个范围能保持饱和。然后回头调整第一级负载管的 (W/L)让自然工作点落在饱和区中间。这个方法很笨但很有效尤其适合模拟设计的老中医式调参。还有一个小技巧在第一级输出和第二级栅极之间串联一个电阻可以稍微隔离两个高阻节点的相互作用但要注意这会引入额外的极点。更稳妥的办法是根本不做任何隔离靠第一级输出阻抗本身就很高、第二级栅极电容很小这个事实来硬扛。不过如果做 Miller 补偿这个节点反而要用来接补偿电容所以它的寄生电容值一定要控制好。4.3 为什么两级开环放大器的输入失调会被放大在闭环应用中负反馈会修正输入失调电压让输出工作点不会漂移太远。但在开环应用中这个机制不存在。两级开环放大器的输出失调近似等于输入失调乘以总增益。比如第一级输入失调 5mV总增益 80dB约 10000 倍输出端就会出现高达 50V 的等效失调——当然实际会被电源轨钳位。也就是说开环两级放大器的输出不是顶到 (V_{DD}) 就是砸到地这几乎是必然的除非你有办法校准。所以很多系统里两级开环放大器后面都会接一个采样保持开关或一个比较器把输出电平锁存到某个值而不是让输出一直挂在电源轨上。如果你在设计一个简单的放大器比较器链路一定要意识到前级放大器在开环模式下输出会饱和比较器能不能在饱和输入下正常工作需要在系统层面验证。我在这里强烈建议在做两级开环放大器时仿真里一定要加入 DC 失调扫描。最简单的方式是在输入端加一个小直流源比如从 -5mV 扫到 5mV看输出是否还能在合理范围内变化、是否已经撞轨。这个测试能帮你判断系统允许的失调预算到底是多少。如果连这个测试都没做流片回来大概率要面对一堆无法解释的工作点异常。4.4 级间耦合方式直接 DC 耦合还是加电容两级之间通常有两种接法直接 DC 耦合或者通过耦合电容隔直。DC 耦合的优点是低频增益完整能放大 DC 信号缺点是两级的工作点必须严格配合。AC 耦合的优点是两级偏置可以独立设计缺点是不能放大 DC 信号而且耦合电容会引入高通极点影响最低工作频率。在5T-OTACS这种经典组合里我绝大多数情况采用 DC 耦合因为这种结构本来就追求宽频带和直流精度。用 AC 耦合虽然头疼少一点但低频应用基本用不了。除非你做的是纯粹的窄带中频放大器否则尽量别用隔直电容。如果采用 DC 耦合级间必须加一个偏置协调电路的思维第二级 CS 管的源极可以直接接地对 NMOS或者接一个很小的源极退化电阻来微调工作点。栅极就吃第一级输出。于是第一级的输出共模点设计就变成了那个牵一发动全身的地方。我会在原理图上画一个大大的箭头标注这里必须留给第二级足够的 (V_{GS}) 余量提醒自己千万别只盯着第一级的增益。5. 频率补偿与稳定性从两极点系统到相位裕度5.1 两级结构为什么天然欠稳定任何两级放大器只要有两个高阻节点就天然存在两个极点。第一级的输出节点高阻、较小寄生电容和第二级的输出节点高阻、通常有较大的负载电容构成一个双极点系统。若这两个极点靠得太近开环增益曲线在穿越 0dB 附近时每十倍频程下降 40dB对应的相位滞后接近 180°相位裕度极小甚至为负系统就很容易振荡或者在阶跃响应中出现严重振铃。这个问题在开环应用中不一定表现为振荡但如果你把这个放大器接成单位增益缓冲器来测试稳定性问题就立刻暴露。我在实践中见过不少AC 仿真看着增益带宽没毛病但一接成缓冲器就震荡的案例原因就是相位裕度不够。所以无论你的电路最终是否闭环我都建议至少用单位增益接法做一次稳定性验证。5T-OTACS 的补偿策略通常是在第一级输出节点和第二级输出节点之间接一个 Miller 电容 (C_c)配合一个调零电阻 (R_z)。Miller 电容的作用是利用第二级的电压增益把一个小电容等效放大成第一级输出节点上很大的对地电容从而把主极点压到很低。第一级节点看到的等效电容约为 (C_c \cdot (1 g_{m5} \cdot r_{o5}))这里 (g_{m5}r_{o5}) 是第二级增益。由于第二级增益可能高达 30~40dB一个小到 1pF 的电容就能等效成几十 pF补偿效果非常显著。5.2 Miller 电容值和调零电阻的工程选择Miller 电容的取值直接影响主极点位置进而决定 GBW。一个粗略的公式是GBW ≈ (g_{m1}/(2\pi C_c))。例如 (g_{m1}100\mu A/V)(C_c2pF)则 (GBW \approx 8MHz)。第一级电流不变GBW 完全被 (C_c) 卡住这是 Miller 补偿的经典代价。调零电阻 (R_z) 的作用是抵消 Miller 电容产生的右半平面零点。常规选择是让 (R_z) 略大于 (1/g_{m5})把零点推到左半平面或者高频处从而减少相位恶化。假设第二级 (g_{m5}200\mu A/V)那么 (1/g_{m5}5kΩ)。我通常会选 (R_z6kΩ) 至 8kΩ并跑一遍扫描找到最优值。如果 (R_z) 取太小比如小于 (1/g_{m5})零点留在右半平面稳定性更差如果太大零点虽然到了左半平面但会出现在低频位置同样会影响相位裕度。这个既要又要的平衡正是模拟设计的魅力所在。在实际项目中我不会只跑一组值而是做一次扫描(C_c) 从 1pF 到 5pF(R_z) 从 2kΩ 到 20kΩ每组都看 PM 和 GBW。这个方法虽然耗时但能帮你找到设计余量最大的那个甜点区。表格式地记录下结果能让你在评审会上有理有据地解释补偿策略。补偿电容 (C_c)调零电阻 (R_z)GBW (MHz)相位裕度 (deg)备注1pF4.7kΩ3038欠补偿有点险2pF4.7kΩ1852可用但余量偏小3pF6.8kΩ1166推荐余量充足5pF10kΩ674过补偿带宽吃亏5.3 稳定性仿真的三个层次AC 相位裕度、瞬态振铃、环路增益我判断稳定性有三个层次分别对应不同的仿真手段。第一层AC 扫描。把放大器接成开环在输入端加 AC 小信号源看波特图。关注开环增益穿越 0dB 时的相位是否大于 45°。这是最基础的检查但不能只看这一层。第二层瞬态仿真。把放大器接成单位增益缓冲器输入一个快速阶跃观察输出是否过冲过大或者持续振铃。这个方法能直观反映相位裕度不足时的现象。一个实用的判断标准如果过冲超过 30%且振铃次数超过两次基本可以断定相位裕度不足。第三层用stb仿真测环路增益。在 Cadence 里可以用反馈环路断开的方式跑环路稳定性分析得到环路增益曲线和相位曲线。这个方法比开环 AC 更贴近真实工作状态因为输入共模点和负载都是接好的。我一般会三种方法都跑一遍如果三层结论一致才对稳定性有信心。其中瞬态仿真最容易暴露问题Miller 补偿电容和调零电阻在 AC 仿真里表现良好但大信号阶跃时第二级电流受限输出建立过程被拉得很长甚至出现慢建立振铃的混合现象。这些都是模拟设计中典型的小信号合格、大信号翻车需要用专门的瞬态测试来兜底。5.4 我踩过的补偿翻车现场一个假稳定的案例有一回我做了一个 5T-OTACS 的放大器前仿 AC 显示 PM61°我以为稳了结果再接上单位增益缓冲器的瞬态仿真输出振铃了三四次才稳定。一开始我以为是仿真设置问题后来发现是 Miller 补偿电容的第一级节点寄生电容太大。我在版图里把补偿电容放在了一个高寄生节点附近导致前仿和后仿结果差异巨大。这个案例给我的教训是补偿电容的位置和走线是版图设计的一部分不能只盯原理图。Miller 电容本身不算大但它的上下极板寄生电容如果落在了高阻节点会直接改变极点位置。自那之后我的流程里多了一条硬性要求前后仿的稳定性结果必须放在同一张表里对比。如果后仿 PM 比前仿低 10° 以上优先检查补偿电容的摆位、输出节点走线长度、以及电源/地引脚的寄生。这些看似繁琐的细节往往才是决定芯片能不能稳定工作的真正因素。6. 实测经验与常见误区仿真能跑不代表芯片能跑6.1 从仿真到流片那些看起来没问题的事故仿真做得再漂亮流片回来也可能让人崩溃。我见过太多的仿真侠前仿后仿各种 corner 全过结果芯片一上电毫无反应。原因经常出在以下几个地方第一ESD 保护结构引入的寄生电容改变了高频节点的极点。尤其是在输出节点上加 ESD 二极管可能增加几个 pF 的寄生电容直接把 GBW 拉低。前仿里没画 ESD后仿里也只是粗略提了一下结果测试台上发现带宽差了很多。第二绑定线电感和焊盘电容一起改变了环路稳定性。这个问题在低速运放中不突出但在 GBW 超过 50MHz 的两级放大器中非常明显。电源引脚上的 (L) 和 (C) 串联很容易形成一个新的谐振极点影响环路稳定性。所以我在测试 PCB 设计时特别强调电源去耦电容要紧贴芯片并且使用多个不同容值并联。第三衬底噪声耦合。如果芯片上有数字电路数字开关噪声会通过衬底耦合进入模拟放大器的输入对管导致输出抖动。这个在原理图上完全看不到只有做混合信号仿真或者实际测试才能发现。6.2 输入失调电压和 (1/f) 噪声为什么实测总比设计值大5T-OTA 的输入失调电压主要来自输入对管的 (V_{TH}) 失配和负载管的电流镜失配。在 0.18um 工艺下一个最小面积管子的 (V_{TH}) 失配大致在 5~15mV 量级具体取决于面积和工艺质量。如果你不做任何匹配优化输入失调 3σ 很容易超过 10mV这在很多高精度应用里是不可接受的。版图上最有效的缓解手段是共质心匹配输入对管拆成多个 finger 交叉摆放让工艺梯度和热梯度在两边的效应尽可能抵消。同时在管子周围加 dummy 管保证边缘刻蚀效应对两个管子的影响一致。负载管同理因为是电流镜失配会直接贡献到输出失调电压上。另外一个常见误区是以为加长沟道长度就能降低失调。长沟道确实能减小 (V_{TH}) 失配里的随机项但会增大面积进而增大与面积相关的失配分量。所以并不是越长越好要根据面积预算和失配模型来平衡匹配管的总面积。如果预算允许一般让匹配管面积比最小面积大 4~10 倍效果比较理想。关于 (1/f) 噪声PMOS 输入对通常比 NMOS 好一些因为 PMOS 的载流子在栅氧化层界面附近的俘获概率较低但这也不是绝对的。在 0.18um 工艺里尺寸越大的输入管(1/f) 噪声越低因为噪声功率与栅面积成反比。我常用的噪声优化手段是在功耗和输入电容允许的前提下尽量加大输入管面积然后通过 chopper 稳定技术把低频噪声和失调调制到高频滤除这样能逼近极低噪声。6.3 测试板设计一些土办法反而最管用裸片测试前我会先做一个简单的 PCB 测试平台。在测试板上有几个细节特别重要每个电源引脚旁边至少要放一个 100nF 和一个 10uF 的电容并联覆盖高、中、低频段的去耦信号输入输出走线尽量短且避免和电源走线平行如果测试高频输入端要加 50Ω 匹配电阻减少反射用焊锡把裸露焊盘连接到地平面降低地回路电感。测试时最容易遇到的问题不是放大器本身而是示波器探头带来的负载。一个 10pF 的探头电容接在输出节点上轻则降低带宽重则直接引发振荡。所以我在测试高频放大器时会使用有源探头或用缓冲器隔离后再接示波器。虽然这个土办法看起来不高级但它能省下无数排查时间。6.4 开环放大器的实测为什么输出总是顶到轨前面提到过开环两级放大器的 DC 失调会被高增益放大到电源轨。这不是电路坏了而是工作方式决定的。如果系统要求放大器输出始终处于线性区那么就必须通过某种方式来校准 DC 失调常见手段是在后级加一个 DAC 控制的失调校准电路在输入级加一个可调电流镜微调负载电流来强制输出回到中间电位在测试时用万用表监测输出手动调整输入偏置电压让输出回中。我在测试 5T-OTA 时通常都会准备一个精密可调电压源连到辅助输入端一边看输出一边微调直到输出落在 (V_{DD}/2) 附近。这一步看似作弊但实际上它模拟的是系统层面的校准机制。在真正的应用里这个校准由芯片内部的数字逻辑自动完成所以说穿了芯片里那些高大上的校准电路本质上干的就是测试台上手动调偏置的那件事。7. 版图设计关键点与后仿真验证7.1 匹配的版图策略共质心、dummy、电流方向一致输入对管的版图是整个放大器匹配性能的基石。共质心交叉布局能让两个管子感受到的工艺梯度尽量相同但要注意走线电容和电阻的对称。如果交叉走线导致一边的信号线特别长反而会引入新的不对称。所以我建议先让版图工具自动生成对称预布局再手工微调走线确保输入对管的源漏走线长度几乎一致。负载电流镜管的匹配同样重要因为它们决定了第一级的输出共模点和第二级的偏置。负载管的版图可以和输入对管一样采用共质心但更关键的是它们各自到输出节点的走线寄生电阻要对称。这个寄生电阻虽然只有几十欧姆但它位于高阻节点的反馈路径里对输出阻抗和频率响应都可能产生肉眼可见的影响。Dummy 管的添加不是随便加的。规则是在匹配管阵列的周围加上同样尺寸且源漏接地的假管保证主管边缘的刻蚀环境一致。我在流片经验里发现dummy 管对 (V_{TH}) 失配的改善非常明显尤其是工艺厂对最小间距和刻蚀负载效应比较敏感的节点。宁多勿少一个完整 dummy 环的额外面积开销通常不到主匹配管面积的 10%但收益是实打实的。7.2 高阻节点上的寄生电容从 GBW 到稳定性都在看它在原理图阶段我们很少给输出节点画一个 500fF 的寄生电容因为仿真模型里默认它是 0。但真实版图里输出节点上的走线、接触孔、栅极交叠电容、ESD 结构七七八八加起来很容易就有 100fF ~ 500fF。如果负载本身是 2pF这个寄生占比不算大但如果是两个高阻节点级联第一级输出节点上的 200fF 寄生直接影响主极点位置。所以我在版图完成后会专门把每一个高阻节点的寄生电容估算一遍并反馈到原理图仿真里。如果后仿 GBW 比前仿低 20% 以上我都先怀疑输出节点的寄生电容。解决办法也很简单高阻信号线尽量走顶层金属减少到衬底的耦合电容线宽取工艺允许的最小值但又要兼顾电流密度和 EM 可靠性这中间有个平衡。另一个寄生重灾区是 Miller 补偿电容。Miller 电容本身连接高阻节点如果它的下极板寄生电容落在第一级输出节点那相当于给主极点增加了一个意外电容。解决方式是把 Miller 电容的极板朝向设计成大寄生极板接低阻节点也就是下极板接第二级输出或地上极板接高阻节点。这样寄生电容对高阻节点的影响最小。这个细节通常在工艺 PDK 的版图文档里有说明但很多工程师没有仔细读。7.3 后仿真不要只跑一个 corner尤其是补偿网络后仿真常见的任务是把提取出来的寄生参数和工艺角一起跑。很多团队只跑 tt 角会觉得后仿结果还行但一旦跑到 ss 角低温问题就冒出来了。补偿电容的值在 tt 角下的后仿真 PM60°但 ss 角下 (g_m) 掉落右半平面零点位置的估算就开始失效PM 可能直接掉到 40° 以下。我建议后仿真至少跑 tt/ff/ss 三个工艺角每个角配合 -40°C、27°C、85°C 三个温度再配合高/低两个电源电压。这个矩阵看起来工作量很大但可以先把关键指标自动化记录下来。如果某个组合下 PM 低于 45°就需要回头修改补偿参数或者调整某些管子的尺寸让设计在工艺波动下的表现更平坦。我自己的项目表格里会列出前仿 tt、后仿 tt、后仿 ss、后仿 ff四列每列分别记录增益、GBW、PM、静态功耗。最后做设计评审时就靠这张表说话。它比任何口头解释都有说服力因为它展示的是设计对工艺不确定性的鲁棒性而不仅仅是某一个工作点的漂亮数值。7.4 前后仿差异的排查顺序先寄生再失配最后系统如果你发现后仿和前仿差异很大不要慌按以下顺序排查检查高阻节点寄生电容是否异常大检查补偿电容的极板朝向和寄生提取结果检查电源/地走线的寄生电阻是否过大可能降低了低阻节点的稳定性检查匹配管是否因为走线不对称导致 DC 工作点偏移最后检查版图是否缺少衬底接触环导致衬底电位漂移。这个排查顺序是我多年摸索出来的。为什么先查寄生电容因为它对频率响应和高频稳定性的影响最直接、最容易定位。为什么最后查系统层面因为系统层面的问题往往最隐蔽而且有可能是前仿用了理想模型、后仿才暴露的真实电路行为。等你把前四步都排完再回头看第五步很多系统问题其实已经自己浮出水面了。8. 我的个人经验与最后的建议我做这个两级运放项目的最大收获不是某几个公式或者某个仿真技巧而是建立起了一套从系统指标反推电路实现的完整思路。如果你现在刚开始接触 5T-OTACS我建议你别急着打开 Cadence先拿一张纸把下面这些关系亲手写一遍尾电流 (I_{tail}) 如何同时决定输入 (g_m)、摆率、增益带宽、功耗第一级输出节点的阻抗如何被负载管和输入管的沟道长度影响第二级 (g_{m5}) 和输出阻抗如何共同决定第二级增益Miller 补偿电容 (C_c) 如何决定主极点和 GBW调零电阻 (R_z) 如何影响右半平面零点的位置。这些关系表面上是公式本质上是你做每个设计决策时的方向盘。我在评审别人的设计时最怕看到的就是这个尺寸是仿出来的这类回答因为它意味着设计者没有理解参数变化的动因下一次换工艺、换指标就得从头再来。最后给大家一个很实用的仿真建议当你调参数调得头昏脑涨时可以把所有关键节点的电压、电流、(g_m)、(V_{OV}) 打印出来列在一张表里和教科书上的手算结果对比。这个手算 vs. 仿真的差异分析比盲目调参高效十倍。很多我踩过的坑都是因为手算时忽略了一个 (V_{OV}) 或一个寄生电容看完表格就能立刻定位。如果你在做这个结构时遇到什么说不清道不明的怪异现象欢迎把你的仿真波形和参数设置整理好到社区里讨论。模拟设计这条路一个人走容易钻牛角尖多交流、多对比反而能更快找到那个看似不可能但确实存在的解法。