|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
& }: n5 z$ C! O& e% z' r/ B, O3 A* J3 o
* o/ f8 W, d% E8 s6 d& _" f
Hspice仿真电路不收敛,说白了就是就是计算机解矩阵解不出来了。5 V: s" `1 K; c6 W+ b
不收敛的原因可能有三个方面造成:
3 Q2 |" [) ~9 G u8 Y(1).hspice的计算上面.以上换算法,换options都是根据这一点来的。一般说来,这样的情况占绝大多数
# }0 _1 D3 i) U5 Q p; J(2).Model的问题。比如产生负的电导,或者模型不连续性造成。
( E0 g, O' Q0 Y6 q; l6 V: C(3).电路本身问题0 V" S, o3 b, W- y5 P1 {8 ]2 I/ q
比如网表不完整,有悬空点;反馈不正确(不一定都不收敛,hspice的parser 部分对这种情况只给warning,不给error message)等等。电路本身的问题属于设计上的了,具体只能自己分析。对于hspice运行通过,功能性能都过的去,一般多运行些corner 情况, worstcase情况或者做 MonteCaro分析,有问题的话应该可以抓出,没问题的话,流片后出问题概率也不大。
1 k0 P# Q( p, \% K1 z6 K0 S/ x% U7 U* N
解决的办法可以通过以下各种手段:
6 D* C% l2 z" U" ~: W( q (1).换个算法# C* ]2 {/ r& x$ D9 ~& a8 g) [; K
hspice提供两种基本算法,Gear和Trap.学过数值分析的应该明白这两种解方程的方法。默认值是Trap,遇到不收敛问题一般先换个算法看看,更改为Gear.方法是加一个:.options method=gear 不过这个换算法能解决的情况不是很多。假如画出解方程的那个图形来看,是需要恰好避开那个不收敛的点才能解决。因此有一定凑巧性。8 S) H; b1 l" V" h' p/ K
(2.)改变tolerance.
/ `& r) ]. F5 h( M( r+ |" D% @ 计算机解方程时,都是设定一个容忍度。这个容忍度可以是叠代次数,可以是精确度,可以是计算时间,而且还可能和accuracy配合起来,有大概20个tolerance可以更改。根据不同的需要,看一下需要改哪个。hspice有个附带的options table,非常好用。
; h# e, z1 [! R& l! ](3).改变步长
. k* y8 W' c% c5 K0 o, v" D! r! p 相信大家看到的最多的是intenal timestep too small这个提示。内部时钟间隔太小。这个timestep不是所设定的分析step,不过那个step也是timestep的一个因子.影响timestep的因此很多,有12个之多。(比如数值变换平缓时,timestep自动取的大些以增快仿真时间)更改timestep的方法也可以查上述options列表.: l3 W9 Q: v1 O# R5 p" K( h5 }( _8 d
(4).改变初始条件
l. ]+ E q; S4 o' N* Y4 }2 W 用.ic设定。方程解不出来,就改变一下条件。使用得当一般不会影响结果.. h& B+ }8 C- t$ L! s9 r6 V
(5).在一些节点加很大的电阻(不影响电路性能),来改变节点方程。这种方法不会影响电路的模拟结果。% ]0 i9 d/ L1 X* t# E B) C& j/ K
(6).在.option 语句中加入改善收敛的语句。
1 F: {4 B o$ p比如对收敛精度降低迭代次数加大等。其中的参数有RELVDC,RELH,CONVERGE,DCON等。在hSPICE的手册里有很多改善的措施,可以看DC or AC中CONVERGENCE那部分。HSPICE在模拟的速度,精度,收敛性三方面进行折衷。
[+ T" ~/ V% p! v& q; [其中常用的是: 对每个节点都加一个很大的电阻或电容。
* Q5 C/ Y3 A z1 p .OPTION GSHUNT=1E-11 CSHUNT=1E-11等。但这会降低模拟精度。6 S N+ a. g2 Q; Y4 X# b T
(7). 改变电源的波形。在电路起动时让恒流源缓慢上升。在HSPICE中也有这样的OPTION,不过你可以自己来改。在不影响电路的情况下这种方法对收敛的改善最好。
1 q5 U0 P# d. e/ ?, O+ \(8).改变电路
; s4 u! V" M2 Y i1 r 去掉或者替换一些没什么用的部分。可以加个非常小的电阻比如1u欧姆(等于加了个节点,方程维数多了一个)。 X0 I' m6 z8 C% p5 i$ b3 u
* P! s8 \, y' l7 D5 E. n; y
|
|