Cadence Virtuoso稳定性仿真指南:stb分析、相位裕度与Miller补偿实战
2026/9/23 7:24:39 网站建设 项目流程

做模拟IC设计的人,早晚都会撞上稳定性这堵墙。调好的运放一接成闭环就震荡,输出波形像得了帕金森,示波器上看去全是毛刺,这几乎是每个工程师都经历过的噩梦。我入行那会儿,第一次拿着自己设计的两级运放去流片,回来一测试,缓冲器接法下输出直接啸叫,原理图看了十几遍也看不出毛病,后来才明白是相位裕度只有二十几度,反馈环路在单位增益频率附近相位滞后太多,系统自己振荡起来了。

Cadence Virtuoso里分析反馈环路稳定性,核心手段就是仿真波特图,看环路增益曲线和相位曲线,算出相位裕度(Phase Margin)和增益裕度(Gain Margin)。这篇文章就以两级运放为例,从原理到实操,手把手带你跑通整个稳定性仿真流程。适合刚接触模拟IC设计的学生、初级工程师,还有那些一直在用试错法调电路、却始终没搞清楚稳定性的朋友。我会把Stb仿真设置、波特图判读、Miller补偿参数选择这些关键环节都拆开来讲,把我在实际项目中踩过的坑和总结的经验一并写出来。

1. 反馈环路稳定性到底在分析什么

1.1 稳定性问题的本质:负反馈为什么会变成正反馈

分析反馈环路稳定性,首先要理解一个看似矛盾的现象:运放明明接的是负反馈,为什么还会自激振荡?

负反馈的本质是“检测输出变化,然后反向调节输入”。理想情况下,输出如果升高了,反馈网络会把信号送回反相输入端,把输出拉回去。但如果信号在环路里走一圈需要时间,情况就变了。任何实际电路都有寄生电容、寄生电阻,运放内部还有多级放大带来的寄生极点,这些都会让信号在环路中产生相位延迟。当环路增益还大于等于1的时候,信号绕一圈回来的总相移已经达到了180度,原本的负反馈就变成了正反馈。正反馈意味着输出一旦有一点扰动,就会被环路不断放大,直到电源轨限幅,电路就震荡了。

用生活化的例子来类比:你在家开空调,温度高了就制冷,这是负反馈。但如果你反应迟钝,已经热得不行了才开始制冷,然后温度降下去了你还在拼命制冷,等冻得受不了了才开始制热,于是房间温度就这么来回大幅波动。运放的反馈环路也一样,反应太慢(相位滞后太多),系统就会在设定点附近来回震荡。

波特图就是把这个过程可视化、定量化的工具。横轴是频率,纵轴分别是环路增益的幅度(dB)和相位(度),从图上一眼就能看出增益什么时候降到0dB,相位在那个频率点还剩多少余量。

1.2 两级运放为什么特别容易不稳定

两级运放是教科书上最经典的拓扑:第一级提供高增益,第二级提供大摆幅,中间加Miller补偿电容。我用过的绝大多数通用运放,本质上都是两级或者类似结构。

为什么不稳定问题在两级运放上特别突出?原因是它天然有三个以上的极点。第一级输出节点(通常是共源共栅或者差分对的高阻节点)、第二级输出节点、以及补偿网络引入的零点,再加上负载电容形成的极点,主极点、第二极点、第三极点一多,相位滚降就非常快。

每个极点大约会让相位滞后90度,两个极点叠加就到了180度。如果主极点频率不够低、单位增益带宽又设得比较高,那么GBW(单位增益带宽)附近很可能已经有两个极点生效,相位裕度就会掉到30度以下。相位裕度低于45度时,闭环阶跃响应会出现明显的振铃;接近0度时,就直接振荡了。

我在学校实验室做过一个很直观的验证:同一个两级运放,不加Miller电容,接成单位增益缓冲器,输出接一个20pF的负载电容,上电就振荡,波形频率大约几百kHz到几MHz,电源电压一波动频率还跟着漂。加上补偿电容之后,同样的电路就安静了。这就是稳定性分析要解决的问题。

2. 仿真前的准备:电路搭建与测试环境配置

2.1 两级运放的测试基准电路

在Cadence Virtuoso里做稳定性仿真,先要有一个明确的被测对象。我以一个典型的两级运放为例,结构如下:

  • 第一级:PMOS差分输入对(M1、M2)加有源负载(NMOS电流镜M3、M4),输出为单端高阻节点。
  • 第二级:共源放大器,NMOS放大管(M5)加PMOS电流源负载(M6)。
  • 补偿网络:Miller补偿电容Cc(连接在第一级高阻输出和第二级输出之间),可以串联一个调零电阻Rz来推零点。
  • 偏置电路:电流镜提供尾电流源I_tail。

测试配置有两种接法:一种是单位增益缓冲器(输出直接接反相输入端),另一种是闭环增益配置(用两个电阻分压反馈)。我的经验是,分析环路稳定性最好用单位增益配置,因为这是反馈最深、最难稳定的接法,如果单位增益下相位裕度够,那其他增益配置下更容易稳定。

搭建测试平台时,输入信号从正相输入端加入,反相输入端与输出直接相连,反馈环路闭合。负载电容按实际应用情况加,比如片上负载可以取2pF到10pF,片外负载可能到50pF以上。

2.2 ADE L与ADE XL的环境设置要点

Virtuoso里做仿真,老工程师习惯了用ADE L,但我现在更推荐ADE XL,尤其是做参数扫描和PVT验证的时候。ADE XL的界面起初用起来不太顺手,习惯了之后发现它的corner管理、参数扫描、结果对比功能确实比ADE L强太多。

基础设置步骤:

  • 打开原理图,Launch → ADE XL(或者Launch → ADE L,看你习惯)。
  • 选择仿真器,一般是spectre。注意不要选成spectre_aps,除非你明确需要,否则它默认行为有些差异。
  • 设置模型库。我在Setup → Model Libraries里添加工艺厂的模型文件(如tsmc、smic等),不同工艺的模型文件路径和格式略有区别,但原则相同:必须包含所有用到的器件模型,包括晶体管、电阻、电容、电感。
  • 选择analysis类型。稳定性仿真的核心设置在后面会详细讲,这里先确认是否可以看到stb选项。

一个容易踩坑的地方:如果模型库里同一类型器件有多个版本(比如5V和1.8V的管子),务必确认你选的管子型号在模型库里被正确定义,不然会报出device not found之类的错误,后面会详细说。

2.3 仿真器类型选择:为什么首选spectre

Cadence Virtuoso支持的仿真器有好几种:spectre、spectre_aps、hspice、ultrasim等。做小规模模拟电路的稳定性分析,我基本只用spectre。原因有几个:

  • spectre的收敛性在同类SPICE类仿真器中表现稳定,对电路规模小、含有有源器件和高增益环路的电路尤其可靠。
  • stb分析功能在spectre中实现得比较完整,可以直接插入probe,不需要手动构建开环测试平台。
  • 和Virtuoso原理图的集成度高,改参数、跑corner、看波形都在同一个环境里完成。

spectre_aps是并行加速版,适合大电路但设置复杂,而且某些情况下数值噪声比spectre大,做高增益运放的稳定性分析时反而容易出奇怪的结果。我的建议是:先跑spectre,如果电路太大跑不动再考虑其他方案。

3. Stb仿真:Virtuoso里分析环路稳定性的核心方法

3.1 为什么不用开环AC仿真而用Stb

很多人刚学的时候,想到的第一种方法是把反馈环路断开,在断开处加AC小信号激励,然后测输出端的AC响应。这种方法不是不可以,但有致命问题:直接断开环路会破坏直流工作点。运放的开环增益极高,输入端稍微有一点失调就会被放大到电源轨,晶体管早就偏离了正常的工作区域,测出来的AC增益曲线完全失真。

为了解决这个问题,传统做法是在断开处加一个大电感和大电容来做直流隔离:电感隔交流、通直流,电容通交流、隔直流。这个方法能用,但有很多约束:电感和电容的值必须选得合适,断开点的阻抗要尽量小,而且只适用于单环反馈。对于多环反馈(比如环路里套着局部反馈),这种方法就无能为力了。

Cadence Virtuoso里的stb分析正是为了解决这些问题而生的。它的原理是在环路中插入一个特殊的probe元件(一般是iprobe或者stbcells),仿真器会计算这个probe处的环路增益、环路相位,输出波特图。关键优势是:

  • 不需要破坏直流工作点,probe对直流是透明的。
  • 支持任意复杂的反馈拓扑,包括多环嵌套。
  • 计算得到的Loop Gain和Phase是精确的环路特性,不是简单的开环增益。

所以我现在的所有稳定性分析,只要条件允许,全部用stb方法,不再用断开环路加L/C的老办法。

3.2 Stb仿真设置步骤与probe放置

在Cadence Virtuoso中做stb仿真,具体操作可以按下面的步骤来:

  1. 在原理图编辑器中,从库中调出一个iprobe元件。不同工艺库和Virtuoso版本可能位置不同,一般在analogLibCadence_AMS库中可以找到iprobestbprobe等。
  2. 将iprobe串行插入反馈环路中的某一点。对于单位增益缓冲器接法,我习惯插在输出节点和反相输入端之间,也就是把输出到反相端的连线断开,中间串入iprobe。
  3. 打开ADE XL,创建新的analysis,类型选择stb
  4. 在analysis的设置界面中,指定probe instance(就是刚才插入的iprobe),设置扫描频率范围。一般设到从1Hz或10Hz开始,到运放GBW的10到100倍为止。比如预计GBW在10MHz,扫描上限可以设到100MHz甚至1GHz。
  5. 选择要输出的变量:loopGain(Loop Gain,dB)和loopPhase(Loop Phase,度)或phaseMargin(Phase Margin)。有些版本还能直接输出gainMargin
  6. 运行仿真,在结果窗口中调出波特图。

关于probe放置位置,有个必须要注意的原则:probe必须放在环路中,并且环路要从这个点“打开”又“闭合”,仿真器才能计算出正确的环路增益。如果probe放错了地方(比如放在了环路外面,或者放到了某个局部反馈的内部),计算出来的结果就会很奇怪:增益曲线怪异、相位曲线乱跳。我刚开始用stb的时候犯过这个错误,把probe放在了输出负载电阻的旁边而不是反馈路径上,结果相位裕度显示为负值,但实际上电路是稳定的。这种情况需要仔细检查probe到底插在了哪条路径上。

3.3 波特图判读:0dB穿越点与相位裕度的计算

仿真跑完,你会得到两条曲线:一条是环路增益幅度随频率变化的曲线,一条是环路相位随频率变化的曲线。

判读步骤:

  • 找到环路增益幅度曲线穿过0dB线的频率点,这个频率就是环路单位增益频率,通常记作( f_{0dB} ) 或者环路带宽。
  • 在这个频率点上,读取相位曲线对应的相位值。
  • 相位裕度 ( PM = 180° + \theta(f_{0dB}) )。如果相位曲线在0dB频率处是-90度,那么PM就是90度。如果相位曲线是-135度,PM就是45度。

举个例子。我做过一个两级运放,stb仿真显示环路增益在1kHz时约80dB,然后以-20dB/dec斜率滚降,在10MHz处穿过0dB。相位曲线从低频的-90度开始,在接近10MHz的地方已经滚到了-130度左右。算下来PM约50度,这对通用运放来说算是及格了,但如果要驱动大电容负载或者要求低振铃,这个值还不够,需要进一步优化。

增益裕度的判读方法是:在相位曲线达到-180度的频率点上,看环路增益曲线距离0dB还有多少衰减量,这就是增益裕度。一般要求GM大于10dB,否则即使PM看起来还行,在某些工艺角和温度条件下也可能出问题。

我在实际项目中,通常拿PM=60度作为目标值。60度对应的闭环品质因数是临界阻尼附近,阶跃响应振铃很小,既能保证稳定,又不会牺牲太多带宽和建立速度。

4. 环路增益曲线的深度解读与设计指标权衡

4.1 主极点、次极点与相位滚降的关系

读懂波特图的关键是理解极点和零点对增益、相位的影响。两级运放环路增益曲线的典型形状是这样的:

  • 低频主极点(由第一级高阻输出阻抗和补偿电容Miller效应形成),从主极点频率开始,增益以-20dB/dec的斜率下降。
  • 第二个极点(通常在第二级输出节点,与负载电容相关),从该频率开始,增益下降斜率变为-40dB/dec。
  • 零点(由Miller补偿电容的馈通路径和调零电阻形成),零点频率处斜率变回-20dB/dec。

极点对相位的贡献是在极点频率之前已经开始,一般人为地记住:在0.1倍极点频率处,相位已经下降了约5.7度;在极点频率处,相位下降了45度;在10倍极点频率处,相位下降约84.3度。所以如果第二个极点频率就在0dB穿越频率附近,那么即使在穿越频率处相位只多下降了接近45度,相位裕度也会很紧张。

这里我总结一个实用的设计思路:设主极点为( f_{p1} ),次极点为( f_{p2} )。如果( f_{p2} )远大于( f_{0dB} )(至少2倍以上),那么PM会比较充裕。但如果( f_{p2} )恰好落在( f_{0dB} )附近,PM就会急剧恶化。所以看波特图时,看到0dB穿越点旁边相位快速滚落,就要意识到次极点位置太靠近带宽了。

4.2 相位裕度与闭环响应的关系

相位裕度不只是“够不够稳定”的判断依据,它直接决定闭环系统的动态行为。

拿单位增益闭环来说,如果PM很小,比如20度,闭环传递函数在频域会有一个很高的谐振峰。表现在时域就是阶跃响应剧烈振铃,甚至连续振荡。PM=45度时,阶跃响应大约有20%到30%的过冲,振铃3到4个周期后衰减。PM=60度时,过冲大约在8%到10%,振铃只有1到2个周期,很快进入稳态。PM=75度以上,过冲更小,但闭环带宽会变低,建立速度反而变慢。

这里有个反直觉的现象:不是PM越大越好。PM接近90度意味着相位几乎不滚降,环路响应很“慢”,闭环带宽远低于0dB穿越频率,电路的速度优势就浪费了。所以工业界通常取PM在60度到70度之间,兼顾稳定性和速度。做高速电路时,PM可能会放宽到45度甚至更低,但这时候必须认真评估振铃对信号链路的影响。

4.3 增益裕度为何同样重要

很多人只看相位裕度,忽视增益裕度,这是不对的。增益裕度描述的是:如果环路增益在-180度相位处还大于1,电路一定会振荡,所以增益裕度衡量的是环境变化后环路是否会恶化到不稳定。

工艺角(FF、SS、TT)、电源电压变化、温度变化(-40度到125度),晶体管的小信号参数变化很大。某个corner下PM原本有60度,到了另一个corner,可能次极点频率下移,PM掉到30度,同时GM从12dB掉到5dB。这种情况在量产中很危险。

我建议在仿真阶段就把四个工艺角和三个温度点(-40、27、125)全部跑一遍stb分析,看PM和GM的边界值。如果最差corner下PM仍然大于40度、GM大于8dB,这个运放的稳定性设计才是真正合格的。我经历过的两次流片问题,一次是只看了TT corner,另一次是忘了看高温SS corner,都有过教训。

5. 补偿策略:用Miller电容把相位裕度调回来

5.1 Miller补偿的工作原理:极点分裂

两级运放不稳定,根本原因是主极点和次极点靠得太近,0dB穿越频率附近相位滚降太快。解决思路就是让主极点尽量压低,次极点尽量推高,这样在0dB穿越点附近只剩下主极点的影响,次极点的影响还没起来,相位就能保住。

Miller补偿电容跨接在第二级放大器的输入和输出之间,利用Miller效应把输入端的等效电容放大(1 + Av2)倍,其中Av2是第二级的电压增益。这样一来,主极点频率被显著压低。同时,Miller电容在高频时形成从第二级输入端到输出端的直通路径,在输出节点引入一个高频零点或极点,通过合理设计可以让次极点被推高,或者让零点抵消掉次极点的影响。

直观理解:Miller电容就像在两级之间加了一个“记忆元件”,它把高频信号从第二级输出直接耦合回第一级输出,形成了更强的反馈深度,让低频增益不受影响,但高频增益快速下降,从而降低单位增益带宽附近的相位滞后。

5.2 调零电阻的作用与选取方法

单靠Miller电容,会在右半平面产生一个零点(因为信号从输入到输出有前馈路径),这个零点对相位是恶化作用的。为了消除或移动这个零点,标准做法是串联一个调零电阻Rz。

我只接Cc不接Rz时,零点频率约等于 ( f_z = g_{m5}/(2\pi C_c) ),这个频率往往落在带宽附近,相位被拉向负方向,PM反而更差。加了Rz之后,零点频率变成 ( f_z = 1/(2\pi C_c (1/g_{m5} - R_z)) )。当 ( R_z > 1/g_{m5} ) 时,零点被移到了左半平面,还能用来抵消次极点的影响。

实际选取方法:先不加Rz,跑stb看PM;然后扫Rz从0到几kΩ,每次看PM变化。你会发现Rz存在一个最优值,在这个值下PM最高。基本原理就是让零点落在次极点频率附近,实现“极点-零点抵消”(pole-zero cancellation)。但我必须提醒,零极点抵消在实际电路中要留够余量,因为工艺变化会导致Rz和gm同时漂移,完全抵消不可能,只能做到“差不多”。

我常用的方法是用参数扫描。在ADE XL里把Rz设为一个变量,扫描范围比如100Ω到2kΩ,步长100Ω,跑完stb后把PM随Rz变化的曲线画出来,选PM峰值附近、但对Rz变化不敏感的点。这样做既保性能,又保工艺鲁棒性。

5.3 不同负载条件下的稳定性验证

补偿必须结合实际负载来设计。因为两级运放的次极点位置和负载电容直接相关,负载越大,次极点越低,PM越差。

我在一个项目中遇到过这种情况:运放设计时负载假设是5pF,PM 65度,非常理想。后来系统架构改版,输出要驱动50pF的片外电容,结果PM掉到15度,整个系统工作不正常。这时候有两个方向:一个是增大Miller电容Cc,把主极点进一步压低,以换取次极点的相对推高;另一个是在输出级增加缓冲器,把大电容负担隔离掉。

对于负载电容的扫描验证,我的习惯是:Cc和Rz选定后,把负载电容CL从0.5倍目标值扫描到2倍目标值,确认PM的最差情况仍然在可接受范围内。这比只测单点负载更稳妥,因为系统集成后PCB走线寄生电容、后续电路输入电容都是在设计阶段估算的,和实际值之间总会有偏差。

6. 常见问题排查与仿真经验技巧

6.1 Stb仿真结果异常:probe位置与方向检查

在用stb分析时,我遇到的第一个坑就是probe方向。iprobe是有方向性的,箭头方向代表信号流的方向。如果probe方向接反了,仿真相位曲线会从-270度开始,而不是正常的-90度附近。这在某些版本中会表现为PM计算错误。

我的做法是:放置完probe后,画一条连线路径,确认信号从输出到反相输入端的流向,让probe箭头与信号流方向一致。如果波形出现相位起始点在-270度而不是-90度,把probe旋转180度再仿真一次。

另一个常见问题是probe没有真正插到环路路径上。有时候为了方便,直接在输出节点和反相输入节点之间加了一个短线再插probe,但没有确保整个环路只有通过probe这一条路径。如果还有其他并行路径(比如寄生反馈路径),stb结果就不准确。检查方法是:在原理图上沿着反馈路径走一遍,确认信号经过probe后还要经过反相输入端和差分对才算闭合。

6.2 瞬态仿真不收敛或震荡波形异常

稳定性分析除了看波特图,还需要用瞬态仿真来验证。有时候stb显示PM足够,但瞬态波形还是振荡,这时候要排查以下问题:

  • 工作点是否建立正确。加电瞬间电源上升太快,电路可能进入一个错误的偏置状态。我在瞬态仿真的前100ns会加一个缓慢上升的电源斜坡(比如从0V到3.3V用10us斜坡),帮助电路建立正确的直流工作点。
  • 仿真步长设置。spectre默认的瞬态步长可能太大,无法捕捉高频振荡细节。我会设置maxstep为振荡周期的十分之一以下,比如预期振荡频率10MHz,周期100ns,maxstep设5ns或更小。
  • 数值噪声和收敛容差。如果仿真不收敛,可以尝试调整iabstolvabstol,适当放宽电流和电压绝对容差,或者改用gear2积分方法(在transient analysis设置中的integration method选项)。

瞬态仿真是稳定性分析的最终裁判。波特图说PM=45度时你可能觉得还行,但瞬态波形会告诉你振铃到底能不能接受。我习惯的做法是:用stb快速筛选设计方案,用瞬态确认最终设计的行为。

6.3 相位裕度不足时的快速调整清单

当仿真结果显示PM不够时,我按下面的优先级来排查和调整:

  • 看次极点频率。如果次极点离0dB穿越点太近,考虑增大Cc,把主极点压低,缩小GBW,换稳定。
  • 看零点位置。用调零电阻Rz把零点移到次极点附近,抵消相位恶化。
  • 减小负载电容或提高输出级跨导。负载电容减小,次极点自然升高。提高第二级跨导也能推高次极点,但会增加功耗。
  • 检查是否有多余的寄生极点。比如第一级输出节点的寄生电容过大,会引入一个额外的极点,把这个节点的寄生电容降低(减小管子尺寸、优化版图)也能改善PM。

这些调整顺序不是固定的,要根据具体的瓶颈来定。我通常先跑一个stb扫描,把Cc、Rz、CL都作为变量看PM的响应面,这样能快速定位(我该加Cc还是加Rz)这个问题的答案。

6.4 仿真波形的显示与数据导出清单

Virtuoso的波形窗口(Waveform Window)提供了很多实用功能。在查看波特图时,我会做这样几件事:

  • 使用Markers功能标出0dB穿越点和相位曲线对应点,直接在图上读出PM和GM。选中波形后右键,选择Marker → Place Marker,然后在曲线上拖动,十字光标会同时吸附在两幅图上(如果它们是同一个analysis的多个输出)。
  • 用Calculator读取特定频率点的数值。有时候需要精确知道某个频率下环路增益衰减了多少,用calculator的value函数配合freq函数可以快速得到。
  • 导出数据用CSV格式。在波形窗口中,File → Export,选择要导出的波形和数据精度。这样可以用Python或者MATLAB做后续分析。我在写设计报告时经常用这种方法,把仿真数据和理论计算放在一起对比。

还有一个技巧:在ADE XL里同时列出多个corner的PM和GM数值,就是在Outputs标签页里添加phaseMargingainMargin作为输出,仿真结束后,结果表格会直接显示每个corner对应的数值。这比肉眼在波形中逐一寻找高效得多。

7. 从原理图到流片:稳定性验证的完整流程

这部分说一说我在完整项目里的稳定性验证流程。从原理图设计到流片前,一个运放的稳定性验证不是跑一次stb就算完事的,而是要形成一整套验证矩阵。

  • 第一步:拓扑选择和参数初算。根据负载、带宽、功耗预算,先初步确定Cc和尾电流,得到第一版原理图。
  • 第二步:stb仿真初筛。在TT corner、27度、典型负载下跑stb,看PM和GM是否达到目标。
  • 第三步:corner全覆盖。跑完FF、SS、FS、SF四个工艺角,以及-40、27、125三个温度点,至少12个组合,看PM和GM的边界。
  • 第四步:负载和电源扫描。CL从最轻到最重,VDD从最低到最高,确认稳定性没有死角。
  • 第五步:瞬态验证。在单位增益缓冲器接法下加阶跃信号,看输出过冲和振铃;在反相放大接法下看她是否能稳定建立。
  • 第六步:版图后仿真。提取寄生参数后重新跑stb,因为版图寄生的Cgd、Cgs会改变极点位置。这一步很重要,很多设计在原理图阶段PM完美,版图后PM掉10多度,就是因为寄生电容改变了节点阻抗分布。

我自己踩过的教训:某次极为自信地认为原理图阶段PM=70度非常稳,结果版图后仿真PM掉到了35度,原因就是第一级输出节点有个大块布线电容没有预估到。所以我现在做版图lvs、pex之后,一定会重新跑一轮stb验证。

8. 实操心得总结:三个关键习惯

最后分享几个我这些年总结下来的习惯,也许能帮你在Cadence Virtuoso里少走弯路。

第一个习惯是每一版修改都跑stb而不是只跑AC或者瞬态。很多时候改了一个管子尺寸,感觉不影响稳定性,但实际可能改变了节点阻抗和极点位置。我刚工作头两年经常犯这个毛病,后来养成“一次改动、stb必跑”的习惯之后,返工率明显降低了。

第二个习惯是把PM和GM的仿真结果显示成表格形式,而不是只看图。ADE XL的结果表格可以一目了然地对比不同corner、不同负载下的数值,发现问题比看图快得多。图留给汇报用,表留给自己判断用。

第三个习惯是仿真不收敛时先检查工作点,不要乱调仿真参数。我在调试一个高速比较器时遇到过仿真严重不收敛,一开始怀疑仿真器设置,反复调整cmingmin等参数都没用,后来发现是偏置电路的自启动问题,某个管子正常工作点和上电后的状态差的很远。检查DC工作点,看每个晶体管的工作区域(饱和、线性、截止),再决定怎么办,比盲调仿真器参数靠谱得多。

Cadence Virtuoso的stb分析功能是我用过最顺手的环路稳定性分析工具,只要理解了环路增益、相位裕度、增益裕度这些概念,再配合正确的probe放置和仿真设置,就能在设计阶段把绝大多数的振荡问题消灭在仿真里。真到流片回来才发现振荡,那时的痛苦和成本,相比多花半天时间跑几组stb和瞬态仿真,完全不是一个量级。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询