找回密码
 注册
关于网站域名变更的通知
查看: 588|回复: 1
打印 上一主题 下一主题

收敛问题的本质及解决办法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-2-22 10:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
在大家用软件仿真的时候总会碰到不收敛这个问题...1 L; P5 f. {, M( N) N5 }  r
这个问题.有时候解决起来很麻烦...有的情况下根本没办法解决...0 {8 ]6 {# f) h) I" h
今天看到这篇文章,我就把它转下给大家共享下...
! A$ S" y" U- p" ^9 e* }- U& yHE HE...下面是以HSPICE为例.其实也是和别的SPICE内核的软件一样...
- l% k! I8 Q7 F7 Q9 C0 n希望对大家有帮助...
8 _( F$ D* `) l* J- i! }用hspice仿真电路,不收敛怎么办?                               & S3 t2 r$ Y! w& l+ c4 [9 E+ F
Hspice仿真电路不收敛,说白了就是就是计算机解矩阵解不出来了。
% m0 V& g) _% ]) h2 ^9 Z" y不收敛的原因可能有三个方面造成
5 V% d; T( F; I& p+ u(1).hspice的计算上面.以上换算法,换options都是根据这一点来的。一般说来,这样的情况占绝大多数; o9 o! ]' G  K$ ?
(2).Model的问题。比如产生负的电导,或者模型不连续性造成。) T4 s( Z$ }0 b
(3).电路本身问题
4 m: n2 p6 f& W$ `  g$ H- s 比如网表不完整,有悬空点;反馈不正确(不一定都不收敛,hspice的parser  部分对这种情况只给warning,不给error message)等等。电路本身的问题属于设计上的了,具体只能自己分析。对于hspice运行通过,功能性能都过的去,一般多运行些corner  情况, worstcase情况或者做 MonteCaro分析,有问题的话应该可以抓出,没问题的话,流片后出问题概率也不大
0 E( ]0 r% w3 O* Q- I9 C解决的办法可以通过以下各种手段.
/ P9 B/ v+ \4 _4 n* ?: S(1).换个算法
9 s7 p, T8 U+ H7 H* T      hspice提供两种基本算法,Gear和Trap.学过数值分析的应该明白这两种解方程的方法。默认值是Trap,遇到不收敛问题一般先换个算法看看,更改为Gear.方法是加一个:$ B. U5 p# E; K2 h6 p
.options method="gear"
1 \: {6 \- D. Z      不过这个换算法能解决的情况不是很多。假如画出解方程的那个图形来看,是需要恰好避开那个不收敛的点才能解决。因此有一定凑巧性。( x7 ]6 O  d( b/ f0 N5 c
(2.)改变tolerance.
- z+ j8 x# `5 q$ x# n& Z) D      计算机解方程时,都是设定一个容忍度。这个容忍度可以是叠代次数,可以是精确度,可以是计算时间,而且还可能和accuracy配合起来,有大概20个tolerance可以更改。根据不同的需要,看一下需要改哪个。hspice有个附带的options table,非常好用。
5 x/ [5 E9 z9 `1 ?3 Z2 z(3).改变步长/ A; Q5 b, _* d1 H5 k' g$ Q# r
      相信大家看到的最多的是intenal timestep too small这个提示。内部时钟间隔太小。这个timestep不是所设定的分析step,不过那个step也是timestep的一个因子.影响timestep的因此很多,有12个之多。(比如数值变换平缓时,timestep自动取的大些以增快仿真时间)更改timestep的方法也可以查上述options列表.
% |6 p* ]2 A% U2 R(4).改变初始条件. m- \3 n0 h" b2 _
      用.ic设定。方程解不出来,就改变一下条件。使用得当一般不会影响结果.9 Z3 b2 a3 H! E/ T5 j) E
(5).在一些节点加很大的电阻(不影响电路性能),来改变节点方程。这种方法不会影响电路的模拟结果。4 u0 t& [) T+ x# U% T
(6).在.option 语句中加入改善收敛的语句。比如对收敛精度降低迭代次数加大等。其中的参数有RELVDC,RELH,CONVERGE,DCON等。. M0 B, y: m* `2 f6 }3 `
       在hSPICE的手册里有很多改善的措施,可以看DC or AC中CONVERGENCE那部分。HSPICE在模拟的速度,精度,收敛性三方面进行折衷。) V: T: E1 m: E4 ?8 k
       其中常用的是: 对每个节点都加一个很大的电阻或电容。$ e' r+ }7 i2 G6 `  a9 Y3 g
        .OPTION   GSHUNT="1E-11"  CSHUNT="1E-11"
' \8 W! }- d- q) y等。 但这会降低模拟精度。" `% z. O) O" ]+ |' n
(7). 改变电源的波形。在电路起动时让恒流源缓慢上升。在HSPICE中也有这样的OPTION,不过你可以自己来改。在不影响电路的情况下这种方法对收敛的改善最好。* Q2 E/ E- ?0 R! T; |0 `2 Z
(8).改变电路% K8 X" _6 c0 z8 g% t
      去掉或者替换一些没什么用的部分。可以加个非常小的电阻比如1u欧姆(等于加了个节点,方程维数多了一个)。% Z$ ?# m% x, F+ C- |
  • TA的每日心情

    2019-11-29 15:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2021-2-22 10:43 | 只看该作者
    收敛问题的本质及解决办法
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-28 04:39 , Processed in 0.156250 second(s), 24 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表