ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Class AB OPA STB相位异常:碰撞电离引发的环路稳定性陷阱

Class AB OPA STB相位异常:碰撞电离引发的环路稳定性陷阱 只要跑过Class AB OPA的环路稳定性仿真十有八九会遇到过一个让人头疼的现象增益曲线看着很正常从低频到高频老老实实往下走但相位曲线却在某个频点突然“脱缰”——要么早早掉到-180度以下要么在某一段频率出现不合理的非单调上升。最恼人的是这个现象往往只在特定corner下出现换个工艺角或者调一下温度就消失了根本没法稳定复现。我花了两周时间才把这个问题彻底搞清楚。现在回头看整个排查过程其实非常典型从corner case入手最后落到碰撞电离这个物理本质上。这篇文章把完整的排查思路、实验方法和规避方案写出来希望给正在被STB仿真相位异常折磨的同行省点时间。1. 问题初现一次不太正常的STB仿真结果1.1 现象描述增益正常相位却“脱缰”先说背景。项目是一个驱动片外大电容的Class AB运算放大器核心架构是折叠共源共栅输入级加推挽Class AB输出级电源电压3.3V负载电容大约2nF用来做LDO的输出驱动。反馈环路用STB仿真来看稳定性反馈系数大概1/2由两个等值电阻分压产生。最初在tt corner、27°C、3.3V供电下STB结果一切正常。增益曲线单极点滚降相位在单位增益频率处大概65度相位裕度合理瞬态阶跃响应没有过冲。心态很好觉得这个设计稳了。然而到了ss corner、125°C、3.63V供电的条件下STB结果出现了让我极其费解的现象。环路增益的幅频特性依然是一条漂亮的单极点曲线零交频率4.2MHz看着很干净。但相位曲线从10kHz开始就出现了一个额外的大幅度下降在1MHz附近已经跌到-180度以下零交频率处的相位裕度从名义上的65度直接变成了负值。理论上这个相位曲线意味着环路在任何条件下都应该震荡。但瞬态仿真跑下来输出稳定没有起振阶跃响应没有振铃性能完全正常。仿真结果和瞬态行为严重矛盾这一下就让人觉得问题不在电路本身而是仿真或者模型层面出了什么幺蛾子。1.2 为什么说相位异常是伪收敛的体现这种“STB说震荡但瞬态很稳”的矛盾在模拟电路设计里是相当危险的信号。很多新手看到相位裕度变为负值就急着加大米勒电容、调补偿电阻结果越改越糟甚至把原本稳定的环路改出真的稳定性问题。我当时的判断是STB仿真的小信号模型在某个局部工作点上出了问题导致小信号模型与电路的瞬态真实行为不再一致。换句话说小信号模型丢掉了某些重要的物理效应计算出了一条“虚构”的相位曲线。要理解这一点先得回到STB仿真的原理。STB本质上是在电路工作点处做线性化然后在环路里注入一个测试激励测量环路增益的幅频和相频响应。它默认电路在某一个可收敛的工作点上是稳定的并且小信号模型能够完整反映所有对环路增益有贡献的路径。一旦有小信号模型没建模进去的物理效应在工作点附近产生了额外的增益或相移结果就会跑偏。基于这个判断我开始把注意力放在一个方向上找到那个让小信号模型“失真”的工作点条件而不是急着改电路。2. 基础铺垫Class AB OPA与STB仿真的关键概念2.1 Class AB架构核心推挽输出与共模偏置Class AB输出级之所以被广泛使用是因为它兼顾了Class A的线性度和Class B的效率。两个输出管一个NMOS、一个PMOS组成推挽结构静态时都处于微导通状态交越失真很小动态时又能提供大的瞬态电流。驱动大容性负载时Class AB输出级的优势非常明显。它不需要像Class A那样在大静态电流下维持输出管的高跨导而是在输出摆幅变化时通过浮动电流源或自适应偏置网络动态调节输出管的偏置电流。这意味着静态功耗很低但大信号摆率可以做得非常高。在设计这个输出级时我遇到的第一个问题是输出管的偏置稳定性。Class AB的栅极偏置依赖内部的两个偏置管组成的浮动电流源这个电流源必须保证输出管栅极电压的差值在不同负载电流下都能维持一个恒定的死区电压。这个设计在最开始就花了不少功夫但稳定之后在常规corner下一直表现良好直到SS corner的STB异常出现。值得注意的是Class AB输出级的静态工作点覆盖范围非常宽从空载到几百mA负载输出管的漏源电压Vds变化范围极大。输出管在大摆幅、高电源电压条件下可能进入非正常工作区这是后续碰撞电离问题埋下的一个伏笔。2.2 STB仿真原理与稳定性判据STB仿真在Spectre中使用stb分析也可以在Cadence ADE中直接添加stb仿真。STB仿真的核心是Middlebrook方法在环路中插入了测试探针同时测量正向和反向传递特性通过特定公式计算环路增益。具体操作上在反馈环路断开点放置iprobe或者用stb的探针组件然后仿真AC响应。一个容易踩的坑是断环位置的选择。如果断开的点后面是高阻抗节点仿真器很容易在工作点迭代时收敛到错误的状态。我更习惯在下游驱动级的输入端断开环路因为这个节点的信号幅度较小对工作点影响没那么大。稳定性判据一般看两个指标相位裕度和增益裕度。相位裕度定义为环路增益幅值降为10dB时相位距离-180度的余量工程上要求大于45度。增益裕度定义为相位穿越-180度时增益低于0dB的余量一般要求大于10dB。在标准教科书里这两个指标足以判定环路稳定性。但实际设计时我还会额外关注一个东西相位曲线在整个带宽内是否存在“不该有的”非线性变化。如果相位在10kHz到1MHz之间突然掉了几十度然后又恢复正常这种“鼓包”或“凹陷”往往意味着环路里存在教科书极点分布解释不了的额外物理效应。2.3 为什么常规AC仿真替代不了STB很多初学者为了省事直接做开环AC仿真把运放模型照着一个特定反馈网络去跑增益曲线。这在简单两级运放里勉强能用但对Class AB OPA这种输出级工作状态随负载变化很大的电路来说极容易得出错误结论。原因在于AC仿真是固定工作点的线性仿真它需要你手动设置一个可行的工作点。Class AB输出级在工作点附近的增益路径取决于输出管的跨导、输出电阻、反馈网络对输出管的负载效应这些量在空载和重载之间差别巨大。手动设置的AC工作点很可能不是实际反馈环路里的工作点尤其当反馈网络中存在分压电阻时工作点偏移会直接改变输出管的Vgs和偏置电流。STB仿真则是在闭合环路中查找直流工作点环路的反馈作用会自动把工作点推到正确的偏置位置这意味着它对Class AB这种偏置状态敏感的电路显著更可靠。但同样由于它依赖工作点的精确线性化任何工作点附近的小信号建模错误都会被放大成相位异常这也是本篇要分析的相位问题的核心来源。3. 排查路径从corner case到可疑节点的层层递进3.1 复现条件工艺角、温度、电压的三角组合问题复现的第一要务是锁定条件。最初我在全工艺角、全温度、全电压范围跑STB时只有ss corner、125°C、3.63V供电这组条件出现了相位负裕度。为了排除随机性我又把这组条件下的不同seed跑了一遍确认不是仿真器的偶发不收敛。接下来我做了个实验矩阵。工艺角选tt、ss、ff温度选-40°C、27°C、125°C电压选3.0V、3.3V、3.63V。跑完9个工艺角组合乘3个温度乘3个电压的STB统计相位裕度分布。结果很有意思。相位异常集中在高温高压区125°C时3.63V供电下的ss和tt corner都会出现轻微相位下降但只有ss corner会掉到负值。ff corner在同等条件下相位特性反而相对正常。这个分布规律说明问题与某种“载流子在高电场和高温下的效应”相关因为ss corner的载流子迁移率最差同样偏置下为了维持输出电流输出管需要更大的Vds或Vgs器件内部电场更强高温又会加剧相关效应。3.2 节点电压扫描与工作点检查锁定复现条件后我开始逐节点检查有问题的corner下各核心管子的工作点。用的是spectre的dcOpInfo来打印所有管子的小信号参数重点关注输出级大管子也就是PMOS和NMOS输出管的Vds、Vgs、Vth以及体效应相关参数。在ss corner、125°C、3.63V供电、单位增益反馈接法下环路建立的工作点会把输出电压稳定在电源电压的一半左右也就是大约1.8V。此时输出NMOS的Vds为1.8V左右Vgs在1V上下Vth在高温ss corner下会明显上升。但问题在于瞬态大信号摆动时输出管会被驱动到极端状态片外大电容会让输出节点电压在摆动的某些区间维持在高位或者低位。更关键的一个节点是Class AB输出级的内部高阻节点。这个节点的电压决定了输出管栅极的偏置状态直接控制输出管的静态电流。在ss corner下模块内部的电流镜失配被放大高阻节点的电压偏离了原本设计值导致输出PMOS和NMOS的静态电流出现较大差异其中输出NMOS的电流明显偏大进一步增大了输出管的Vds余量需求。把这些工作点信息和小信号参数一对比我找到了一条线索输出NMOS管在3.63V供电、大信号跃迁瞬间会经历一个Vds和Vgs同时很大的状态这个状态下器件的输出电导出现异常下降并伴随明显增大的体电流。这个体电流与小信号模型中的预期值严重不符极有可能就是相位异常的物理来源。3.3 排除标准先把常规嫌疑犯排查干净在把锅甩给碰撞电离之前必须先排除几个更常规的嫌疑对象否则后面容易被人挑刺。我按以下顺序逐一排查。一是反馈网络本身的寄生电容。由于反馈分压电阻用得比较大电阻上的寄生电容以及电阻到地的寄生电容会与反馈电阻形成一个额外的极点在几十kHz到几百kHz范围内引起相位衰减。我单独对反馈网络的s参数做了仿真确认在没有运放的情况下反馈网络本身不存在可观测的低频极点这个路径被排除了。二是ESD保护结构与输出电阻的相互作用。大尺寸输出管通常需要接ESD保护二极管二极管的寄生电容在特定偏置下会变化与输出节点的等效电阻形成额外极点。我把ESD结构的寄生参数提取出来单独放到STB仿真中对比结果差异很小不足以解释几十度的相位异常。三是片外负载模型是否正确。如果片外负载的电容等效串联电阻ESR设得过大或过小也会显著改变相位曲线。我反复检查了负载模型用了典型值且不同ESR取值下的相位曲线形状与异常曲线差异明显不一样异常曲线的相位跌落更“孤立”不是那种平滑的极点滚降。四是仿真器算法设置。STB的收敛精度、迭代方法会影响高阻节点上的计算结果。我把spectre的cmin参数调大强制高阻节点对地加一个微小电容来稳定收敛发现相位异常略微改善但没有本质变化。这说明问题不是纯数值收敛导致的建模误差而是器件模型本身在特定偏置下体现的真实物理效应。排除完这些常规因素后我的怀疑重点就落到了输出管的体电流和碰撞电离上。4. 元凶登场碰撞电离如何破坏相位特性4.1 碰撞电离的物理本质碰撞电离是半导体器件内部一种重要的物理效应。当沟道内的电场强度超过某个临界值从源极出发的载流子在加速过程中获得足够高的动能与晶格原子发生碰撞时可以把价带电子激发到导带产生一对新的电子-空穴对。新产生的载流子本身也处于强电场中会继续加速并引发二次电离形成所谓的雪崩倍增效应。在MOSFET里碰撞电离最直接的表现是产生一个流向衬底的体电流Isub。NMOS中的碰撞电离主要发生在漏极附近的高场区高能电子与晶格碰撞产生电子-空穴对其中空穴被扫进衬底形成体电流。PMOS的情况相反产生的是电子电流向衬底流动。这个体电流在小信号模型中通常被建模为一个从漏极到衬底的非线性电流源。在弱碰撞电离条件下它对器件行为的影响可以忽略。但在大Vds、大Vgs同时存在的条件下尤其当Vds接近器件的击穿电压时这个物理效应会变得非常明显。对经典MOSFET模型来说BSIM3和BSIM4都在I-V模型里包含了对碰撞电离的建模具体参数如Alpha0、Beta0等控制碰撞电流的强度。问题在于这些参数是从特定工艺条件下的测试结构提取的它们在corner模型里如何随工艺角变化各家foundry的处理方式并不完全一致。4.2 碰撞电离在仿真中的表现碰撞电离对STB相位的影响机制可以这样理解。碰撞电离产生的体电流流经衬底和体电阻会改变体电位。体电位的改变又会影响MOS管的阈值电压这在模型里被建模为体效应也就是k1、k2参数控制的部分。更直接的影响是在输出节点上。碰撞电离形成了一条从漏极到地的额外小信号电流通路等效于在输出管上并联了一个电导gi这个电导的值等于碰撞电离电流对Vds的偏导数。它在直流工作点评估在AC分析中表现为输出电阻下降进而降低该级的低频增益。但对相位起关键影响的往往是这个额外电导随频率的轻微变化。由于体电位本身由衬底阻抗和体电容决定体电位无法瞬间跟随漏极电压变化这就在漏极电流中引入了一个延迟分量。在STB仿真中这个延迟表现为一个额外的相移本质上等效于在环路中引入了一个额外的极点和零点对而且这个极点零点对的位置和衬底时间常数强相关。在ss corner高温高压下衬底电阻更高体电容受偏置影响变化更显著这个额外极点零点对的频率位置恰好落在10kHz到1MHz之间在相位曲线上制造出一个明显的“坑”把相位裕度拉低到负值。这也是为什么这个现象那么难用常规的思路去解释——它不是一个固定的极点在作怪而是体电位的动态过程。4.3 与Class AB架构的特殊耦合Class AB输出级对这种碰撞电离效应格外敏感。原因主要在于三点。第一Class AB输出级的输出管在空载到满摆率的大电流范围内工作Vds和Vgs的变化范围极大。在大信号阶跃时输出NMOS可能瞬间承受接近电源电压的Vds同时Vgs又被推到接近最高值以提供大电流。这个状态下碰撞电离最强体电流最大。第二Class AB输出级普遍采用推挽结构两个输出管的体电位被各自的偏置电路独立控制。为了节省功耗和面积很多设计直接把输出管的body接在对应的电源轨上这在常规工作下没问题。但发生碰撞电离时体电流会直接注入电源或者地在电源网络上引起微小的电压扰动。STB仿真时电源被理想化处理这个扰动路径被短路但小信号模型里体电流的变化依然会通过衬底调制效应影响输出端表现为相位异常。第三浮动电流源偏置结构本身是一个内部高阻节点。碰撞电离产生的体电流叠加到这个高阻节点上会明显改变节点的等效电流平衡。这使得Class AB偏置网络的环路增益在小信号模型中出现一个低频极点直接破坏相位。把这三条结合起来就形成了一个完整的解释大摆幅瞬态下输出管经历高Vds高电流的极端状态碰撞电离产生的体电流改变了输出级偏置网络的动态STB仿真在环路中看到了这条额外路径引起的相位衰减而瞬态仿真通过大信号非线性时域积分反而能够正确反应实际的稳定行为。5. 规避与修复让相位曲线恢复正常5.1 版图与器件层面的缓解既然碰撞电离的触发条件是高电场第一类方案就是想办法降低输出管在大摆幅下的电场强度。最直接的方法是增大输出管的沟道长度。增大L可以降低漏端峰值电场强度同时提高器件的雪崩击穿电压。以我的0.18μm BCD工艺为例输出NMOS原本L0.35μm碰撞电离现象严重。我把L增加到0.5μm碰撞电离电流下降了约一个数量级STB相位曲线的高温corner异常基本消除。代价是输出管的导通电阻增大相同尺寸下的驱动能力变弱。为了维持同样的最大输出电流需要把管子的总宽度加大20%左右面积增加不算太夸张但需要注意栅电阻也随之增大对高频性能有一定影响。权衡下来这个方案是值得的尤其是在驱动大电容负载的应用中多一点点面积换取全corner的稳定性完全划算。另一个器件层面的方案是检查输出管的源漏注入结构。有的工艺节点提供轻掺杂漏LDD选项专门用于改善热载流子和碰撞电离行为。在使用了LDD的器件上碰撞电离电流可以比普通器件降低一个数量级。但LDD器件本身的导通电阻也偏高这需要和驱动能力需求做平衡。如果禁用的是高压对称器件还应该检查体接触的布局。体接触太少会导致体电阻过大体电位更容易被碰撞电离电流抬起这会直接放大相位异常。正确做法是在源端两侧增加密集的体接触孔把体电阻压到最低。5.2 电路设计层面的补偿电路层面的方案主要围绕抵消碰撞电离引起的额外极点。思路有两条一是把高阻节点变“硬”二是用前馈补偿抵消额外相移。针对Class AB偏置网络我首先降低浮动电流源内部高阻节点的输出阻抗。这个节点本来是决定Class AB静态电流的电压参考点。我在这个节点与地之间增加一个小尺寸的电容Cg形成该节点的附加主极点。如果这个主极点频率远高于单位增益频率它就不会影响环路稳定性但能够把碰撞电离引起的局部阻抗高频化削弱。我用了0.5pF的电容仿真结果显示相位异常明显改善但低频段多了一个极点需要重新评估带宽。另一个有效方法是使用米勒补偿从输出节点反馈到中间高阻节点。本来Class AB OPA的输出级就适合用米勒补偿建立主极点。我把米勒电容从输出节点接回到偏置网络的高阻节点形成一个更稳固的补偿路径这样输出节点的碰撞电离电流变化经过米勒电容积分后被偏置网络的小信号控制回路更快地吸收而不是直接反映在相位上。经过几轮迭代我最终采用的方案是双管齐下输出NMOS的沟道长度增加到0.45μm同时在偏置高阻节点上加0.4pF电容。这样既降低了碰撞电离电流的绝对大小又通过补偿网络把残余的体电流效应在环路带宽内滤除。全corner全温区的STB仿真全部恢复为正常的单极点曲线相位裕度最低点从负数恢复到52度瞬态仿真的过冲和建立时间也都满足规格。5.3 仿真层面的甄别与验证这里要专门讲一讲仿真层面的验证技巧因为在排查这类问题时仿真设置本身很容易产生误导。第一验证STB结果要在多个注入点和多个环路断开方式下重复。我在输出反馈电阻的顶端和末端分别做了STB仿真对比结果。如果两个断点的结果相位异常形态一致说明这不是断点位置引起的人为误差而是电路内部的真实小信号行为。我的实验里两个断点结果都显示了同样的异常形态佐证了内部模型效应。第二要跑瞬态来说明稳定光看STB不够。我在异常的corner条件下在输出端叠加了阶跃激励和正弦扰动观察环路是否收敛。异常corner下瞬态稳定但STB显示负相位裕度的现象与我后面找到的碰撞电离解释是吻合的——因为瞬态仿真考察的是有非线性机制和热反馈的大信号系统稳定性而STB把这个机制在小信号模型里过度简化了。第三可以用工艺角的单点扫描来复现和评价修复效果。不要只跑五个标准corner建议针对输出管的碰撞电离相关参数单独做蒙特卡洛扫描比如扫描Alpha0和Beta0在±50%范围内变化时的STB相位裕度。这能帮你直观地看出你的设计在碰撞电离参数变化时有多稳健。我在修复后的电路上跑了这组扫描相位裕度从最低45度到最高72度确认了修复方案的强度。6. 经验总结与设计流程建议6.1 排查此类问题的标准流程现在总结一套可复用的排查流程适合任何带有大摆幅输出级和内部高阻节点的运放设计。第一步锁定问题的最小复现条件。先跑典型corner确认无问题再逐一开启极端温度、极端电压、不同工艺角定位到具体组合。记录下问题出现时的节点电压和核心器件的小信号参数。第二步做常规排除。反馈网络寄生、ESD、负载模型、仿真器设置四个方向逐一验证。这一步可以在几小时内完成不要跳过否则你无法说服别人问题出在物理效应而非外部寄生。第三步查看工作点。在异常corner下打印输出管、偏置管、电流镜管的Vds、Vgs、Vth、Ids、gds、gm关注是否有任何管子处于大Vds大电流的极端状态同时重点关注模型的体电流参数在打印结果中的变化。第四步单独分析碰撞电离的影响。可以用spectre的save指令存储输出管的体电流在DC扫描中绘制Isub随Vds的曲线观察它在大Vds区间是否急剧上升。这个曲线斜率越陡STB相位异常的概率越大。第五步验证修复手段。先尝试器件尺寸调整降低电场再评估电路补偿方案最后做全corner扫描确保修复没有引入新问题。6.2 常见问题速查表为了便于实际设计时快速查阅我把这次排查中遇到的关键问题和对应方案整理成速查表。现象可能原因排查方式修复手段相位从10kHz开始额外下跌低频增益正常碰撞电离引起体电流体电位调制扫描输出管Isub-Vds曲线增大输出管L加强体接触相位异常集中在ss corner高温高压ss corner下输出管Vds更大电场更强对比各corner下输出管Vds及Isub调整输出管尺寸避开极端偏置瞬态稳定但STB显示负裕度小信号模型对体电流效应过度敏感多点STB重复瞬态扰动STB结果结合瞬态判断酌情补偿加大Miller电容后相位仍异常碰撞电离电流直接注入偏置高阻节点查看偏置节点工作点是否偏移在高阻节点加电容稳定输出管L增大后带宽下降输出管尺寸变化导致寄生增大对比带宽和相位裕度适度增加gm调整Miller电容corner参数扫描下相位裕度波动大模型碰撞电离参数未建模或不准做Alpha0/Beta0蒙特卡洛器件尺寸和补偿电容增大余量6.3 设计规避的关键点最后说说怎么从设计源头规避这类问题免得每次都被corner case咬一口。一是在架构选型时预留“物理极点”的空间。Class AB输出级天生工作在宽摆幅范围内如果你知道某个工艺下有碰撞电离风险应该从一开始就选择带LDD或高压延展结构的输出管别等到STB出问题再回来改。二是重视体接触的版图设计。很多初版版图为了省面积把体接触做得稀疏这在常规corner下没问题在高温高压corner下就变成了襂电位的调制器。我在这个项目里把输出管的体接触密度增加了一倍效果立竿见影。你可以把这个当成一条强制设计规则所有大尺寸输出管的体接触间距不得超过某个值具体值取决于工艺规则但宁可保守也不要在后期补。三是在设计review阶段就强制加入高温高压corner的STB检查。如果你能在一开始就识别出相位异常的倾向在架构阶段解决成本和风险都最低。我在这个项目之后已经把“全corner STB 输出管碰撞电离电流扫描”纳入了标准设计检查清单这组检查大约多花两天时间能避免几周复杂的排查。四是要对STB结果本身建立批判性思维。STB是强大的工具但它依赖于器件模型对物理效应的忠实程度。当STB结果与多个瞬态表现都矛盾时不要急于下手改电路先回到物理层把问题定位清楚。这条建议在遇到任何“模型行为异常”时都适用。最后再分享一个小技巧排查这种“corner dependent”的相位问题时有一个非常高效的定位方法做一次输出管Vds的DC扫描同时监测STB零交频率附近的相位值。你会看到相位值在某个Vds区间突然跳水那个Vds临界值就对应碰撞电离电流TURN-ON点也就是Vds电压达到特定阈值后体电流急剧增长的位置。用这个临界Vds值和你的实际工作条件对比你就知道设计余量还有多少。如果实际工作时的最大Vds离临界值只差不到100mV就要小心了——这不是仿真误差是真真切切的设计风险。我之前就是因为这个余量差得太多才饱受折磨现在设计阶段的检查已经提前预判并规避了类似问题。希望这篇折腾两周换来的经验文章能帮你少走一些弯路。
返回列表