ARTICLE DETAIL

资讯详情

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

Class AB运放STB相位异常?碰撞电离可能是隐藏根因

Class AB运放STB相位异常?碰撞电离可能是隐藏根因 写这篇东西的起因是前阵子我调一块Class AB OPA的时候STB仿真相位在某个corner下突然崩了。波形怎么看怎么不合理低频增益正常带宽附近相位掉得特别凶部分工艺角下甚至逼近0度差点以为是自己补偿电容接错。折腾了两三天最后把问题追到了碰撞电离上。这个过程我觉得挺有代表性写出来给做模拟IC的同行参考尤其是输出级带大摆幅、需要抗高压的Class AB结构遇到“看似不稳定但怎么查都查不出原因”的情况这篇应该能帮你少走几天弯路。先说结论STB相位异常不一定都是环路补偿的问题有时候是某个管子在特定corner下进入了碰撞电离区体电流和输出阻抗的变化干扰了环路的传递函数。Corner case之所以叫corner case就是因为它只在特定工艺角、温度、电压组合下冒头常规的AC扫描根本扫不到必须带着物理效应去查。1. 异常现象STB相位从哪个corner开始崩的1.1 复现路径和测试条件我手里这颗芯片是标准的双级Class AB OPA第一级为折叠cascode第二级为带浮空电流源的推挽输出级。仿真拓扑是经典STB测试——在反馈环断开处加一个大电感、大电容利用iprobe或者diffprobe分离激励和响应扫描频率从1Hz到1GHz。测试负载为10pF和5kΩ并联反馈电阻各20kΩ增益配置为2倍。问题最先出现在tt corner、85℃、低供电电压条件下。扫完STB一看低频增益大概90dB这正常单位增益带宽约38MHz符合设计预估值问题在相位曲线上过了20MHz之后出现了异常的快速下跌在单位增益频率附近的相位裕度只有20度左右个别批次甚至出现相位曲线先掉下去再翘上来的现象。这让眼睛很难受——因为在正常设计里Class AB输出级的极点应该在GBW的三到五倍以上相位裕度通常能保证60度左右不至于这么难看。我第一反应是输出级极点离GBW太近了。于是把浮空电流源的偏置电流调大想通过提高输出管跨导把极点往外推。仿完发现情况更怪偏置电流调大20%相位裕度不但没恢复反而继续恶化动态范围还损失了2dB。这在理论上说不通——输出级极点频率与跨导成正比增大静态电流应该改善相位才对。1.2 第一轮常规排查为什么没发现问题常规排查顺序我相信大部分人都一样先看主极点位置是否正确Miller补偿电容Cc和调零电阻Rz是否匹配。我把设计文件翻出来反复确认Cc为2pFRz为8kΩ调零电阻的极性也没有接反。又查了各级静态工作点输入对管尾电流300μAcascode偏置电压自举管工作点正常浮空电流源两端压降符合预期输出管静态电流约100μA输出节点共模电压正确。负载条件做了扫描从纯容性到纯阻性从空载到20pF都跑了一遍相位曲线形状几乎没变化。这就基本排除了负载模型的问题。还做了一件事把反馈网络的寄生电容提取设成0相位曲线依然异常。这就排除了板级寄生和反馈分压网络引入额外零点的可能。第一轮下来结论就是一个字查不出来。按经验STB仿真里相位异常十倍有八倍是补偿或负载问题这次居然都不是。我没急着换补偿方案转而去翻各个管子的subckt工作点——这个动作在后来被证明是省下最多时间的一步。2. 输出级视角Class AB浮空电流源和隐蔽的低阻抗节点2.1 推挽结构的电容耦合路径Class AB输出级和普通Class A输出级的最大区别在于浮空电流源。它给上、下两个推挽输出管分别建立了一个独立于静态电流的偏置点让两个管子可以在大信号下交替提供灌电流和拉电流。但麻烦也出在这浮空电流源上下两端各有一个低阻抗节点这两个节点的阻抗由浮空源内部管子的跨导决定不是由偏置电阻决定的所以它们的极点位置很隐蔽。先画一下小信号路径。上输出管PMOS的栅极接在浮空电流源的上端下输出管NMOS的栅极接在浮空电流源的下端。差模信号进来时浮空电流源的两个输出端向相反方向摆动使得两个输出管栅压变化量是单个路径的二倍——这正是Class AB可以得到额外摆率的原因。但代价是整个信号通路上多出了至少两个寄生极点一个在浮空源上端一个在浮空源下端。这两个节点的RC时间常数主要由浮空源内部器件的输出阻抗和下一级栅电容决定。按我这次的参数浮空源输出阻抗约为几十kΩ级别接下去是输出管栅电容大概100fF到200fF算下来寄生极点频率大概在几十MHz到上百MHz范围与GBW38MHz非常接近。不过这里有个容易忽略的点STB仿真中小信号激励幅度极低浮空源工作在甲类状态上述寄生极点频率相对固定。一旦输入信号幅度增大输出管瞬时进入较强导通状态输出阻抗大幅下降寄生极点会迅速向高频推移。换句话说很多Class AB在大信号瞬态下的稳定性反而比小信号好而STB恰恰是严格的线性小信号分析最容易暴露浮空源偏置状态下的相位问题。2.2 只差一个隐藏低阻抗节点就能骗过整个环路实际排查过程中我在浮空源上下端分别做了一次节点注入测试。方法很简单在STB测试的反馈环路上用一个理想电压源分别驱动浮空源上端和下端的小信号电压然后测量输出节点的响应。跑完之后有个非常明显的现象——浮空源上端的激励点有一个半径为几十MHz的极点而下端激励点时该现象没有出现。这个不对称的原因在于上端寄生极点与Miller补偿路径形成了信号抵消。教科书上的Miller补偿在全环路中提供了一个前馈通路高频信号可以直接经过Cc跑到输出端而浮空源上端的寄生极点对主信号路径产生滞后两条路径在某个频率交汇后相位上的净贡献不是单纯的“多了一个极点”而是出现了相位凹陷。实话讲做到这一步我需要老实承认一个问题这种相位凹陷在spectre的STB仿真中经常可见有时候它确实是电路本质但更多时候它只是在某个特定偏置状态下出现的可修正行为。要继续往下挖就必须回答“为什么偏置状态会在85℃、低供电电压下变差”。问题引向了器件物理层——我在这时候第一次怀疑到了碰撞电离头上。3. 碰撞电离高压角下衬底电流如何改写小信号参数3.1 碰撞电离的物理机制和仿真模型碰撞电离是MOS器件在漏端强电场下发生的一种物理过程。当漏源电压Vds较高且沟道夹断区电场强度超过某个阈值硅材料一般在1e5 V/cm量级载流子在强电场中获得足够能量后会与晶格原子碰撞产生电子-空穴对。新产生的电子进入沟道或漏极空穴则流向衬底形成衬底电流Isub。工艺库中的BSIM3/BSIM4模型通常包含对碰撞电离的建模参数常见的有铝注入相关的ALPHA0、BETA0以及沟道长度缩短相关的AGIDL、BGIDL等。STB仿真不是瞬态仿真它在每个偏置点做AC小信号分析时会先计算直流工作点直流工作点里包含了碰撞电离产生的体电流项。如果你只开AC仿真而不先看工作点的体电流值那么碰撞电离已经在悄悄影响仿真结果了。检查工作点后我确认了一个事实在tt、85℃、低供电电压条件下输出管NMOS的衬底电流Isub大约是1.2μA——这个值很小和静态电流比几乎微不足道。但它带来的影响恰恰不在直流电平而在小信号参数上。3.2 小信号参数的变化gds、gm、以及那个伪RHP零点碰撞电离对小信号的影响最终都归结为漏端电导gds和跨导gm的变化。衬底电流Isub随Vds呈指数增长并且它对漏端电压的导数构成了一项额外的漏极电导。等效输出电导公式可以写成gout gds gds_impact其中gds_impact dIsub / dVds。这里面有个很重要的正反馈细节碰撞电离产生的衬底电流会向体电阻或体接触点注入导致体电位Vbs发生变化。而体电位变化又会改变阈值电压Vth进而改变跨导和漏端电流。在小信号模型里这个机制等效为一个从漏极到源极的负阻分量。负阻这个东西出现在环路里就会像RHP零点一样让相位曲线出现非单调行为也就是掉下去再翘回来的那个现象。用参数扫描的方式可以更直观地看到这个过程我固定偏置电压和负载不变将输出管模型的碰撞电离相关参数人为增强和减弱对比STB结果。参数增强时低频增益几乎不变GBW附近的相位裕度从32度恶化到20度参数减弱时相位裕度回升到58度。这个方向性的实验给我吃了一颗定心丸——问题确实出在碰撞电离上而不是我最初以为的补偿或负载问题。3.3 体电位、偏置网络电阻和衬底漏电的耦合碰撞电离产生的衬底电流最终要经过体接触电阻或衬底节点回流到地。这一路上任何高阻网络都会把电流转换成电位变化从而改变器件阈值。在Class AB输出级里下管NMOS的体接触通常接到芯片衬底上衬底到地之间在版图上有明显电阻。如果体接触孔数量偏少衬底电阻偏大微安级的Isub就能在体节点上产生毫伏级到几十毫伏级的电压变化。体电位抬升带来的连锁反应是Vth降低输出管静态电流增大浮空源两端压降改变输出级静态工作点飘移。整个第二级的小信号参数跟着变相位裕度自然就变了。这也就解释了为什么我调大浮空源静态偏置电流时相位反而恶化——偏置电流增大后输出管Vds在同等输出电压下并未改变但沟道电流增大使碰撞电离产生的Isub随电流近似线性上升体节点上的压降更大负面效应更强。在做高压或宽供电范围设计时这个问题会被进一步放大。供电电压越高输出管可达到的Vds越高碰撞电离越强温度升高时晶格散射增加载流子平均自由程缩短碰撞电离概率反而下降——所以这个现象往往在低温、高电压角下更严重。85℃出现异常是因为这个温度下静态电流偏高浮空源的偏置状态把输出级推到了更不利于稳定的工作点。两个效应叠加后最终在STB曲线上显现出来。4. 定位异常的完整排查链路一个可复现的分析流程4.1 第一步DC工作点扫描和衬底电流提取如果你在STB仿真中遇到类似的“补偿没问题但相位异常”的情况我建议你第一件事不是调电路而是跑一次完整的直流工作点扫描。扫描变量可以设为供电电压从最低工作电压扫到最高工作电压扫描每个输出级器件的衬底电流Isub、体电位Vbs、Vds、静态电流Id。以我的实测为例直接看表扫描条件输出管Vds输出管Isub体节点VbsSTB相位裕度3.0Vtt85℃1.05V0.8μA-18mV58度2.7Vtt85℃0.75V1.1μA-25mV41度2.7Vtt-40℃0.76V2.0μA-42mV22度2.7Vff85℃0.74V1.6μA-35mV33度2.7Vff-40℃0.75V3.1μA-61mV15度这个表很有说服力。Vds变化并不大——问题不在沟道长度调制或静态工作点偏移而在于Isub在低温、快角下的倍增效应。体节点Vbs从-18mV变化到-61mV看起来都是毫伏级但对应Vth的变化已经超过10mV足以改变输出级的小信号跨导。需要说明的一点是衬底电流的绝对值在不同工艺节点差异很大。130nm老工艺可能只有几十纳安28nm以下先进工艺的碰撞电离效应会更强特别是使用LDMOS或厚栅氧器件做输出级时Isub往往在微安级别。任何Isub超过静态电流1%的设计都必须把碰撞电离纳入稳定性验证范围。4.2 第二步用AC逐级分解确认相位贡献确认碰撞电离存在之后就需要证明它确实是相位异常的根因。我的做法是把环路切成三段分别看幅频和相频响应第一段折叠cascode输入级单独输出到浮空电流源输入端第二段浮空电流源到输出管栅端第三段输出管栅端到最终输出节点每做一级就把该级的负载替换为一个理想的等效电容这样可以隔离出每一级的极点位置。实测下来第一级和第三级的极点位置都符合设计预期只有第二级在浮空源上端贡献了一个与GBW重叠的寄生极点。在启用碰撞电离模型时这个寄生极点的Q值明显升高相位曲线在过极点后产生了过冲这让整体相位裕度急剧恶化关闭碰撞电离模型后该级的相位响应变得平滑和理论计算一致。这种逐级分解的好处是可见性。你不需要去猜到底是哪个环节出了问题只要逐级测相位贡献就能定位到具体节点。这个方法论对你将来调其他运放同样适用建议养成习惯。4.3 第三步参数扫描做模型敏感性验证如果你还不能完全确定碰撞电离的贡献可以在Cadence ADE中做模型参数的Open-circuit仿真来验证。具体做法是找到输出级NMOS和PMOS器件的模型参数列表将碰撞电离相关参数例如BSIM4的II相关项、或厂商额外定义的impact ionization系数从典型值扫描到两倍、三倍观察STB相位变化趋势。还有一种更暴力但有效的做法在输出管旁边并联一个理想电流源从漏端到体端灌入不同大小的直流电流模拟不同强度碰撞电离的效果。并联理想电流源从0A扫到5μA看相位裕度从58度掉到12度——连续单调高度相关基本上可以锁定碰撞电离的作用。到这一步整个排查链路就完整了先观察现象再查常规项然后看器件物理定位到具体机制最后用参数扫描验证因果性。5. 规避设计和版图加固怎么把相位裕度找回来5.1 电路层面的第一优先级限制输出管的Vds应力定位到根因后规避手段自然就有了方向。最有效的一条路是让输出管在高供电电压下不要承受过高的Vds。可以采用cascode输出结构即上下输出管各叠一个共栅管把内部输出管的Vds钳制在一个安全的电压范围内。代价是输出电压摆幅会损失一个Vdsat大约是150mV到250mV这对很多应用来说可以接受尤其是当供电电压有余量时。还有一种方案是采用动态偏置的漏极保护检测供电电压变化当供电电压升高时自动增加cascode管的栅极偏压保证内部管Vds不变。这种做法的优势是摆幅损失只在高电压下出现低电压下自动减小偏压摆幅不受影响。缺点是需要一个电压检测电路设计复杂度上升。5.2 偏置高阻网络的加固与重分配除了限制Vds还要处理体电流产生的次级效应。最简单有效的办法是降低体电位到地之间的电阻。具体操作包括增加体接触body contact数量特别是输出管这种大尺寸器件不要只在两端各放一排体接触要均匀分布在整个有源区y方向上在做STB仿真的电路原理图阶段就给输出管的体节点加上一个等效衬底电阻如果这个电阻超过5kΩ就要考虑是否应该加一个到地的保护二极管或齐纳管如果工艺允许给输出管做独立的深N阱隔离把碰撞电离产生的体电流限制在局部防止它干扰周边偏置电路。我本人的经验是仅把输出管下方的衬底接触从一排增加到三排体电位变化就能减小约60%相位裕度可以恢复5到10度。别小看这个版图动作。5.3 重新设计稳定性余量指标不能只在典型条件下看60度因为这个问题的隐蔽性我现在的设计习惯是把STB稳定性验证按“相位裕度最低点”来考核而不是按典型corner来考核。在每个工艺角、温度和供电电压的组合下都要查输出级管子的Isub值并且记录对应的相位裕度。如果某个角的Isub超过静态电流的0.5%就必须考虑把该角的相位裕度指标从60度提高到70度以上留出足够余量。需要留意的是增加静态电流可能会加剧碰撞电离所以调整Class AB浮空源静态电流时要反复确认Isub没有同步恶化。最理想的状态是静态电流足够维持输出级跨导但又不能大到让输出管进入强碰撞电离区这个平衡点需要仿真多扫几组才能找到。5.4 版图层面的加固细节版图加固不只是加体接触。以下几个方向我在实际项目中都用过效果都不错输出管的漏端不要和高压走线靠得太近有源区边缘的电场集中效应会加剧碰撞电离拉大漏端有源区到相邻阱边界的距离在输出管和敏感偏置电路之间加双环guard ring内环接输出管衬底电位外环接干净地阻断衬底电流的外流路径输出管尽量采用叉指结构而非单指大宽长比结构叉指可以降低单个指上的电流密度对碰撞电离和电迁移都有改善在可行的前提下给输出管的漏端增加轻掺杂漏区LDD或扩展漏区这个要看工艺是否提供对应器件类型。这些措施有些是治标有些是治本但从最终硅片表现看组合使用后基本不会再出现碰撞电离导致的STB相位异常。6. 验证与收尾修改后的STB结果和可复用经验改动后的电路重新跑完整STB矩阵结果如下表所示工艺角温度供电电压原始相位裕度改后相位裕度改后Isubtt25℃3.0V60度60度0.4μAtt85℃2.7V20度63度0.8μAff-40℃2.7V15度58度1.0μAss85℃3.3V55度61度0.7μAss-40℃2.7V38度60度0.9μA最差的角从15度恢复到58度代价是输出级摆幅约200mV因为加了cascode保护管在目标应用里完全可以接受。GBW从38MHz略微降到31MHz主要原因是我微调了浮空源静态电流使之避开高碰撞电离区。这不是一个很大的性能折损和它换来的稳定性提升相比非常划算。这里补充一个之前一直没提但重要的细节在修改过程中一定要在瞬态仿真里重复验证大信号行为。STB是小信号分析而碰撞电离受Vds瞬时值影响输出信号摆到电源轨附近时瞬时Vds会达到最大值此时体电流最大小信号STB得到的相位裕度并不代表大信号下的实际稳定性。我建议在做完STB验证后追加一个方波或正弦波满载瞬态仿真观察输出波形是否出现振铃或者持续振荡。这一步能帮你抓住STB扫不到的瞬时效应。还有一个小技巧在STB仿真频率轴的选择上不要只扫到GBW的十倍就停。碰撞电离引起的伪RHP零点往往出现在GBW的五到十倍之外如果你扫描上限设低了根本看不到相位曲线翘回来的那一段也就不会去怀疑负阻效应的存在。这次排障给我最大的启发不是某个具体的电路改法而是“STB相位异常”问题的排查顺序。常规检查补偿、负载、反馈网络当然要做但如果全做完还没有结果别急着怀疑仿真器也别急着加零极点凑相位裕度先去看输出级器件的直流工作点里有没有异常的体电流。很多隐藏的稳定性杀手都藏在你没有留意的直流细节里。你回头看会发现碰撞电离这个现象在教科书上出现频率不高但它恰好就是那些“只能靠corner case才能逼出来”的问题的典型代表。
返回列表