|
Dear all
* y* `/ r+ ]) D5 G1 t" v( mMy name is Kuan Min Chen
$ t. m9 p3 q! l$ I3 LI am analog designer from Taiwan Hsinchiu3 l* {$ d) V* D, _2 @
To help junior analog designers in Taiwan,
0 Q% @% U: X; h- b; hI provide my experience (about 10 years) to share with you about issue of time step too small !* J( L3 F5 D" o* t! [. x$ h/ e
Part 1 about issue of time step too small by Kuan Min Chen
4 L* E0 U: @( }$ d/ t, T" {3 Z" Q* j0 ~( x5 R. S' E; M
1. first 用HSPICE跑analog simulation出現time step too small 有可能發生在t=0 (initial state)
4 b" \6 S0 R, A. W or when t=t1 (t1 is less than hspice simulation stop time) ,而為何出現time step too small
! Y8 o3 S7 T! E6 w* o7 d$ h 之訊息,為因為 Hspice 只是一個計算器, 它對電路建立K.C.L & K.V.L equation matrix & use Newton-Raphson algorithm to solve the root of matrix equation,
# t) G! U( `# {' p* s且它會對很多時間點做計算,且比較相臨時間點間之電壓或電流值之差距 ,如數學上,若一曲線
& d) q" e0 ~4 y9 E" H; ~y(t)在t=ta發生不連續(即不收斂,發生離散點), 則Hspice算完ya=y(ta)後 ,再算yb=y(ta+dt) but Hspice 為減少模擬時間,會先取dt較大時, 而再去比較delta_y=y(ta+dt)- y(ta)之差value, 而若delta_y較大時,則Hspice再減小dt value,(because Hspice “default think” y(t) curve is continuous in mathematic, but because 在t=ta發生不連續, so delta_y 值仍然較大,0 b2 N& H) Z' l t1 i; y# X
故Hspice再減小dt value, 可是因為y(t)在t=ta發生不連續, 故Hspice即使將dt值弄到很小很小 ,而delta_y 值仍然較大,故Hspice放棄了,而認定此曲線* U- N+ I8 A; ]' }# [5 {
y(t)在t=ta發生不收斂, 而因為Hspice將dt值弄到很小很小, 故出現time step too small之訊息(because dt is dynamic time step value),且因為Hspice認為電路有連續時間之特性so Hspice不跑了,總之出現time step too small 代表發生不收斂
9 u* I9 W( d/ S
/ H$ s$ @& V9 P( y0 X3 K2 .The most effective solution to sove time step too small is to update your Hspice version (越舊的Hspice版本收斂性越差, 如Hspice 2008版本優於Hspice 2004版本, because new Hspice version has updated algorithm to solve 不收斂, 我建議勿使用早於Hspice 2007 之版本,如hspice 2010 version 則幾乎都會收斂(for無電感之電路及 t=any time point) 收斂特性為Hspice 2010>Hspice 2008 >Hspice 2004> Hspice 1999# Q, c* a* A+ [! c
; { z8 u( X1 w8 F+ F# v/ ]& v
3. 將GMINDC 及cshunt值調大雖然有助於收斂,但GMINDC 及cshunt為原本電路中不存在的東西,故GMINDC 及cshunt值調大,則模擬結果越不可信
3 z' m# z5 ^. n! l9 W( d+ W; x' Y d" | U0 V6 k* Z' p
4設定 .OPTION runlvl 中runlvl值越低雖可解決不收斂,但模擬結果越不可信,/ c# T4 g; \0 ]. Y! D% y5 T" J
Hspice預設runlvl=3 而runlvl值小於3模擬結果越不準確,
; W# g& Q: l6 T0 C) ~9 zrunlvl值大於3模擬結果越準確6 v# d3 x8 m7 {- X/ D
5 c* Y; z/ @ w7 y \7 y5 O } f5.有時不收斂是因為Fab所提供之spice model有問題, 越便宜之Fab的spice model越有問題. _1 `4 d# }7 C q. L C0 ?) o
,因為便宜沒好貨,若Fab無法解決,則改跑無收斂性問題之tool如nanosim,但其正確性比hspice差(誤差在10%內) |
|