这期内容当中小编将会给大家带来有关DC Analysis以及Newton-Raphson迭代法的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
创新互联公司主要从事网站设计、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务望花,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220
该电路的解或者工作点即负载线与diode IV 曲线的交点,
其中负载线电流方程为
Diode 电流方程为
在工作点处,
因为diode的方程是一个非线性方程, 直接计算几乎不可能.
Newton-Raphson迭代算法可以用来求解以上非线性方程.
其原理大致如下图所示,
首先从Vd1开始(First-guess), 在Vd1处对Diode I-V曲线进行线性化,
其中
Geq1即Vd1处的斜率.
重新整理Idlin1的方程可得,
其中
Idlin1即上图所示红色直线的表达式, 当其于负载线相交时, 可以发现其交点与工作点还不够接近. 但可以得到Vd2的值,然后再对Diode IV 曲线在Vd2处进行与Vd1一样的线性化操作,即得到上图所示的蓝色直线, 蓝色直线与负载线的交点比上一个交点离工作点更近, 但还不是工作点, 可以在第二个交点处(即Vd3)对Diode IV曲线再次进行线性化, 预期第三个交点比第二个交点更接近工作点.
随着迭代次数的增多, 线性化直线与负载线的交点会越来越接近工作点的Vd. 如果不受控制, 该迭代过程会一直进行下去. 即该迭代过程不会收敛.
一般模拟仿真器会定义reltol/abstol等tolerance选项来控制迭代过程.
其中SPECTRE 系列等模拟仿真器判断Newton迭代收敛会依据以下三个判据,
不同的仿真类型会有区别. 且通常会有更多的判断条件, 这里仅举例说明.
第一个判据即判断第二张图片中的Sigma-I,
第二个判据即判断第二章图片中的delta-V,
第三个判据用于判断电路节点电流是否满足KCL定律.
如果以上三个判据都成立, 则收敛.
由此可以得知, 当retol/abstol 这些值设置的越小, 迭代次数就越多, 仿真时间越长, 得到的结果越准确, 不收敛的可能性就越高. 反之, 则仿真时间越短, 结果可能不准确, 收敛的可能性越大.
从以上的迭代过程可以看出, 初值Vd1的选取很关键, 仿真器会自动选择, 如果选的不好, 会很难收敛或者不收敛. 比如在实际多corner仿真时, 会遇到某些corner不收敛, 某些corner收敛的情况, 其中不收敛的点有可能时初值选的不好, 那么可以尝试使用reaDNS等选项去调用已收敛点的解当作初值来进行当前不收敛corner的仿真.
但在实际使用SPECTRE系列仿真器仿真时, 大多数情况下, 并不需要去改动这些值.
一般仅需根据电路类型以及预期的结果等, 在每一个Analysis类型errpreset当中选择conservative/moderate/liberal即可. 即高精度/中等精度/低精度.
实际电路仿真过程中, 仅靠Newton Method是很难收敛的, 比如当某个方程不可微分时, 迭代就进行不下去.
像DC的仿真的化还需要Continuation Method, 即在spectre.out里面会看到的homotopy.
homotopy有6个值, 即none/gmin/source/dptran/ptran/all. 默认是gmin, 如果gmin stepping fails, 则使用source, 如果还是fails, 则使用 dptran, 直到ptran.
如果是设置成all的话, 是从Newton->gmin->source->dptran->ptran这个顺序仿真直到收敛.
gmin Stepping的意思是在仿真开始时会给所有非线性器件并联一个1Ohm的电阻使得电路线性化, 从而仿真器更容易计算电压值. 如果不收敛, gmin会一直降低直到1mOhm. 如果还不收敛, 则gmin Stepping fails. 如果收敛, 仿真器会逐次增加该电阻值, 并使用上一次Stepping的结果当作当前Stepping的初始值. 每一次Stepping的迭代次数时自适应的, 会根据当前插入的电阻值以及iteration limit自动调整. 每一次stepping都收敛的化, spectre 仿真器会一直stepping到gmin设定的值(默认1e-12).
所以某些情况下, 降低gmin, 可以提高DC仿真的精度. 提高gmin, 能让DC更容易收敛. 但是大多数情况下不建议修改.
Source Stepping 即按阶段"powering up" 电路. 所以的电压源会乘上一个常数, 然后该常数逐次下降直到收敛.
PseudoTransient Ramping即dptran和ptran, 这种方法会给每一个非线性器件并联一个1 Farad的电容, 然后pseudo-time is swept to infinity直到收敛. 如果电路因为添加的电容震荡, 则该方法失败.
另外一方面, 当前的SPECTRE APS/X 等仿真器对以上内容的设置基本上都是自动化的. 大多数情况, 只需选择conservative/moderate/liberal或者CX/AX/MX/LX/VX在设置上多线程的数量或者自动多线程即可.
上述就是小编为大家分享的DC Analysis以及Newton-Raphson迭代法的示例分析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。