
解决EDA软件中收敛性问题的对策.docx
8页解决EDA软件中收敛性问题的对策作者:***【摘要】针对各EDA软件中共性的SPICE不收敛问题,全面、系统地探讨了解决各种不收敛 问题的对策和途径,并通过实例来说明解决不收敛问题的具体过程这些策略可以解决95%以上的 不收敛问题关键词】计算机辅助设计;EDA; SPICE;电路分析;收敛问题A D iscussion about Solutions to Convergence Problems inEDA SoftwareAuthor: ***Abstract: Solutions and approaches to SPICE non-convergent problems in EDA software are discussed in detail. Examples are provided to illustrate the process in which the non-convergence problems are solved. These solutions are very useful for dealing with 95% of the non-convergence problems .Key words: CAD; EDA; SPICE; Circuit analysis; Convergence problems1引言电路分析和设计方法自70年代以来由于采用了计算机辅助设计(CAD)技术得到了飞速的发展, 电路分析软件也日益完善。
目前,国内外流行最广的当属SPICE,被认为是电路模拟程序中最优秀 的软件模块但在用它对电路作某些模拟或分析时会出现不收敛现象,从而成为模拟和数模混合IC 设计的难题之一为此,已有作者在不同程度上探索了这一问题本文结合电路设计,就各电子设 计自动化(EDA)软件中共性的SPICE不收敛问题作一全面、系统的探讨[1,32不收敛现象及其原因用SPICE分析电路时,直流偏置点、直流扫描和瞬态特性分析等非线性问题都是用迭代法来求 解的,而迭代法存在着不收敛的可能性图1显示了牛顿-拉夫森迭代的过程首先,选择迭代初值X0 ,并在曲线的X0坐标处作切线 与X轴相交得到X1,再在曲线的X1坐标处作切线得到X2依次类推 逐渐逼近精确解X*而判 断是否迭代结束的依据是两次X值之间的差的范数是否小于规定误差或迭代次数是否超过规定的最 大迭代次数由此可见,迭代计算不收敛的情况主要有几类:一是初值选取不恰当由图1可见,若 将迭代初值选为X',则迭代计算收敛于X*的概率很低;二是计算过程太长如果从迭代初值逼近精 确解的过程太长,即迭代次数超过了规定的最大迭代次数,则也会出现不收敛提示;三是高精度要 求使迭代次数溢出。
如果初值选取适当,通常情况下两次X值之间的差会逐渐减小,两次X差的范数 小于规定的误差后,迭代结束因此,如果规定的最大迭代次数比较小或精度要求比较高,就有可能 在迭代收敛之前结束运算,而表现出迭代不收敛3解决微机上EDA软件中不收敛问题的对策收敛性问题可能发生在直流分析、直流扫描分析和瞬态分析中下面针对这三种分析,给出解 决不收敛问题的详细对策3.1直流分析初值选取不当,电路中有不稳态单元、双稳态单元和正反馈单元,均可能导致直流分析不收敛 下面给出几种有效的解决方法方法1检查电路的拓扑结构和连接性,避免常见的错误,诸如电路中悬浮点、电压源和电感之 间出现直接回路等模型参数要尽量真实可靠,注意语法错误电压(流)应限制在-1E10〜+1E10 范围内在二极管、双晶体管、MOSFET、JFET和GaAs FET等半导体器件中,要避免p-n结无串 联电阻,避免理想电流源的电流流经一个无分流电阻的反偏p-n结在有开关的电路中,由于开关 在其过滤期内有增益,若几个开关级联,会使增益累积导致超出其范围一般情况下,不使用多个 开关级联方法2在适当的范围内微调温度,如使工作温度增加或降低1°C方法3微调电源电压,如将原来的Vcc=5V变为5.1V或4.9V。
方法4重置ITL1开关项,增加直流迭代次数的限制方法5使用• NODESET语句卡在直流分析时将对节点上预置的电压源进行迭代,直至收敛, 再将这些电压源去掉继续迭代,直至收敛到最终解这种方法不影响直流偏置点的最终解方法6使用OFF开关项关断可能引起不收敛的半导体器件(尤其是二极管)偏置点首先假 定被设定的器件是在截止时得到的,收敛后再允许这些器件有电流通过,使它们的端电压合实际相 符,然后继续迭代,直至收敛方法7将电流电源改成分段线性源方法8使用UIC开关项这种方法不做直流和交流分析,而只进行瞬态分析,并用SPICE获 得的稳态输出值作为给定节点电压值,再按要求重新进行分析方法7和方法8不会对电路(所有电源均开启时)产生有效的直流工作点,但这两种方法有助 于进行瞬态分析,便于发现困扰直流分析的隐蔽问题方法9使用Gm in step开关项当有收敛问题时,Gm in步长将会自动加以调整方法10放宽精度要求SPICE中的收敛是以相对误差和绝对误差为判据的如果放宽精度要 求,也就放宽了收敛条件3.2直流扫描分析引起直流扫描分析失败的一般原因是试图分析一个含有再生反馈的电路直流扫描不适合计算 滞后电路,如施密特触发器等。
解决其不收敛的方法有:方法1同直流分析的方法方法2重置ITL2开关项,改变对直流转移特性曲线迭代次数的限制,增加迭代次数,促进收 敛方法3改变直流扫描分析的步长这是针对Spice中因有些模型的不连续性而引起的不收敛方法4用分段线性源代替直流扫描直流扫描不适合计算带有正反馈电路的滞后现象可用分 段线性源或脉冲源产生一个斜坡电压,用瞬态分析代替直流扫描方法5同直流分析的方法53.3瞬态分析在瞬态分析时,采用变阶变步长的计算方法,将分析时间区间离散为若干时间点,在每个时间 点上进行一次迭代如果时间步长太小超出了整个分析时间一定比例之外仍不能收敛,瞬态分析 就会出现错误信息一一时间步长太小模型不连续性、电路不符合客观要求,对电源和寄生不正确 的建模师导致瞬态分析失败的常见原因下面归纳了几种解决方法:方法1同直流分析的方法1方法2放宽分析精度对大多数仿真,放宽RELTOL会使仿真速度加快10%〜50%,精度上只 有很小的损失也可以放宽电流或电压的绝对误差容限,即重置ABSTOL和VNTOL,建议将其设 置在8个数量级以下重置TRTOL和・TRAN语句中的TMAX,改变局部截断误差,也有助于收 敛。
方法3重置ITL4开关项增大瞬态分析时间点的迭代极限,就会有更多的迭代次数方法4建立客观实际的电路模型通过加入寄生电容、杂散电容和结电容来平滑半导体器件的 非线性或不连续性在给半导体器件的结点间加电容时,一般为二极管加3pF的电容,给双极结晶 体管加5pF的电容注意,在二极管周围使用RC缓冲器的那个模型不能反映器件的行为时,考 虑使用子电路,尤其是对RF、功率MOSFET等功率器件并联电阻可以很好地反映电感的涡流损 耗和有限带宽电阻的大小等于电感的Q值开始速变时的那一频率点的阻抗方法5增加脉冲源的上升和下降时间这样可以平滑非线性方法6使用元器件语句中的IC项如果在・TRAN语句中没有UIC项,所设置的初始条件只在 第一次迭代中有约束作用迭代的最终解仍由电路固有特性决定方法7使用・IC语句卡它主要针对关键的非线性控制节点如果在・TRAN语句中没有UIC项, 但用・IC语句卡设定了节点的初始电压,SPICE在进行瞬态分析之前,将这些设定的电压作为迭代过 程的最终解,对未被设定的节点,其偏置电压与被设定的电压协调接下去的瞬态分析以这些解为 初始条件,并去掉・IC语句卡设定的电压源方法8使用UIC开关,设定・IC语句和IC项。
这种情况下,・IC语句卡设定的节点电压和元器件语句中的IC项,将成为瞬态分析的第一次迭代的初始条件4解决工作站上EDA软件中不收敛问题的对策上面的方法在这里同样适用,只是工作站上的软件功能更强大并作出了许多改进 ⑸这里以 Cadence SP ICE为例进行论述4.1直流分析方法1使用Converg命令此命令可单独使用,也可和参数一起使用Converg跟踪电路从线 性状态到所需非线性状态的直流工作点方法2使用Store和restore命令将DC分析得到的节点电压用store命令存放到用户指定的文 件中,在对元件值或参数做了微小改动后,restore可以恢复所存贮的值作为新的初始状态方法3使用nodset命令来初始化节点电压当电路不收敛时,通过执行probe nv *命令来发现 有问题的节点,再用nodset命令给这些节点设置可能值方法4使用set命令来重置REL TOL (相对容差)、ABSTOL (绝对容差)和VN TOL的隐含值, 以便放宽精度要求4.2瞬态分析方法1使用IC变量来指定器件的初始状态可以通过probe op *命令显示一个器件的工作点 信息,以确定需要设置哪些初始条件,便于瞬态分析的第一次迭代。
方法2对在分析开始需要关闭的器件设置off属性Off对某些开关电路或反馈电路的收敛性尤 其有用方法3对电路的每个高阻抗点,在FET的栅极和地之间连一个大阻值电阻,一般为108〜10110方法4使用NRAMPNRAMP给DC电源加一个斜坡,便电路有足够长的时间达到稳态仿 真完成后,用probe tnv *命令来确定最终的瞬态电压是否正确若结果令人满意,用store命令将 其存贮下来,再将NRAMP设为0,并恢复结果,接下去的瞬态分析将这个瞬态NRAMP电压作为初 始值方法5同直流分析的方法55分析实例与结果图2〜图4为三个不收敛电路LOV* k 彳图2 AD633功能图图3 VCO电原理图+5V图4数字鉴相器电原理图图2中电路收敛问题的解决方法是使用Gm in step项其中V7是一个正弦波形的电压源图3是锁相环(PLL)中压控振荡器(VCO)的电原理图它的收敛问题的解决方法是使用・IC 卡,具体可设置为:V(1)二 5V , V(2)二 4V, V⑶二 4.0V , V(4)二 1.5V , V(5)二 3.0V, V(6)二 0.2V ,V(7)二 1V , V(8)二 4V , V(9)二 0.2V , V(10)二 4V , V(11)二 0.3V , V(12)二 0.2VM1〜M6的模型参数为W二6rm , L二2卩m , U1~U5的模型参数为W = 1424卩m(NMOS/PMOS),L二1.2 Rm,采用1.2卩m的CMOS工艺。
图4中的模型参数W = 6.03.6 r m(PMOS/NMOS),L二1.2 pm,也采用图3的1.2卩m工艺此收敛问题的解决方法是降低模型的精度等级6结束语近年来,随着CAD的应用领域不断扩大,各种EDA软件已经成为电子设计人员的得力工具遗憾的是,在使用DesignLab(Pspice 8.0)、Cadence、View logic等软件的工程中,经常出现电路模拟 或分析时不收敛的现象,给设计人员带来了许多不必要的困扰和麻烦,浪费了许多精力和时间本 文针对这一问题,详细提出了解决直流分析、直流扫描分析和瞬态分析中不收敛的多种策略,便于 电子设计人员更好地应用EDA软件工具来进行自己的电子系统或IC设计多年的科研实践和众多 电路实例证明,只要遵循以上由简到繁的策略,可以解决95%以上的不收敛问题[参考文献][1] 赵。












