Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
樓主: d8731502
打印 上一主題 下一主題

[問題求助] 用HSPICE跑analog simulation出現time step too small的錯誤

  [複製鏈接]
1#
發表於 2011-12-26 00:26:55 | 顯示全部樓層
Dear all
3 M& ?9 C& S6 rMy name is Kuan Min Chen4 G# u  S( Z5 I: m6 ]
I am analog designer from Taiwan Hsinchiu# D, u9 K. ~% _) `  o2 M/ k
To help junior analog designers in Taiwan,
* L. Y. K* A" u' z: T3 V8 }I provide my experience (about 10 years) to share with you about issue of time step too small !% V$ m% y) L: F3 v& x
Part 1 about issue of time step too small by Kuan Min Chen
% g9 O8 f/ W3 D4 I+ B
& c5 w3 B( k% O+ ]# D* A1. first 用HSPICE跑analog simulation出現time step too small 有可能發生在t=0 (initial state)2 H. l, i; u1 V& I
or when t=t1 (t1 is less than hspice simulation stop time)  ,而為何出現time step too small 7 I( K: S' n; x; f* V
之訊息,為因為 Hspice 只是一個計算器, 它對電路建立K.C.L & K.V.L equation matrix & use Newton-Raphson algorithm to solve the root of matrix equation,
) N$ H6 V5 R4 u且它會對很多時間點做計算,且比較相臨時間點間之電壓或電流值之差距 ,如數學上,若一曲線4 S* e( v. n) p# g7 f
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 值仍然較大,; \) I- {% f* ]5 b4 K1 |( z" P, ]
故Hspice再減小dt value, 可是因為y(t)在t=ta發生不連續, 故Hspice即使將dt值弄到很小很小 ,而delta_y 值仍然較大,故Hspice放棄了,而認定此曲線
- U  t, @$ v0 W  Dy(t)在t=ta發生不收斂, 而因為Hspice將dt值弄到很小很小, 故出現time step too small之訊息(because dt is dynamic time step value),且因為Hspice認為電路有連續時間之特性so Hspice不跑了,總之出現time step too small 代表發生不收斂
9 y6 k& [! w' ?: c
5 j. k# H( `) T1 F* q/ a2 .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
4 n: j$ k) U5 U2 X. Z/ x4 H" u/ D
. o6 Y0 r% Z8 Z/ J* ?3. 將GMINDC 及cshunt值調大雖然有助於收斂,但GMINDC 及cshunt為原本電路中不存在的東西,故GMINDC 及cshunt值調大,則模擬結果越不可信+ ~) d$ ?% P) n! T6 m

  C& J1 G6 c8 @; {8 l3 D( W4設定 .OPTION runlvl 中runlvl值越低雖可解決不收斂,但模擬結果越不可信,8 S' G2 k8 N3 x1 P- ~2 r, c4 h( W
Hspice預設runlvl=3 而runlvl值小於3模擬結果越不準確,* e8 w7 J2 ~/ M1 }8 Z3 @
runlvl值大於3模擬結果越準確
% s0 B; d5 G, i5 u& L6 |: V' {7 ~% P+ r: l5 S. u
5.有時不收斂是因為Fab所提供之spice model有問題, 越便宜之Fab的spice model越有問題
' g- M4 M% m7 s3 R2 a,因為便宜沒好貨,若Fab無法解決,則改跑無收斂性問題之tool如nanosim,但其正確性比hspice差(誤差在10%內)
2#
發表於 2011-12-26 00:27:40 | 顯示全部樓層
Part 2 about issue of time step too small by Kuan Min Chen8 \1 _3 A* c- h5 O7 Y

% U2 i' f/ Q  Q8 {( t$ C! e/ W4 W0 d# H& @" e9 E) P- t
6 POWER電源由LOW升高到工作電壓有時也可以解,(指如 vdda vdda 0 pwl(0ns 0v 100ns 0v 200ns 1.8v),則在0ns~100ns之時間內因為節點狀況皆相同,故在t=0處會收斂可跑,但不代表在t=1000ns處會收斂7 H. t, V# M. E' @* Z. j

1 M$ q( B! y  p7檢查電路中的雙穩態電路(latch, DFF等),because 雙穩態電路在t=0處 ,because雙穩態,故Hspice易猜錯, solution is to先將雙穩態電路(latch, DFF等)reset
. C/ j# _7 R; o5 G! e5 N5 D8.有時稍微改變vdd and temperature value 則可解決收斂問題,
0 {- c  u' h, f5 W7 v: |6 M' ~如原本要vdd=1.8v ,temp=60 but不收斂,則試vdd=1.82v ,temp=62$ x3 o& z2 L, u8 h4 I
Or vdd=1.78v ,temp=58 等組合
$ @- N. }7 \4 N4 G* }/ M- ^& f$ M2 ?6 f3 u- X" j) f# Y- O
9.set initial condition to the critical node of your ckt ,對t=0處之收斂問題有些幫助" M. O) }% ~3 F# g
但不是萬能的,因為若你的電路太大且結點太多時,
5 O1 B) `6 I1 |! E" R; ]3 T! U我的經驗是將你跑過成功之檔案之initial state file存起來,  |. n8 ?$ _+ l/ Q. M! G7 O
讓無法收斂之檔案去呼叫該initial state file, 且由hspice *.lis file0 }  G( N& Z5 X
內,其會顯示那些節點有問題而再去改存起來之initial state file
- o2 Y3 |0 k3 _8 Z; h內之那些節點之value ,而如此多試幾次  ~% _6 g7 F9 [. Q  c7 Z  e

$ p7 |$ |/ v/ @% F- h) C" M' e: p10增大疊代次數ITL4有一定程度之幫助,但在Fab所提供之spice model有不連續問題時,3 p  t; o9 z. }0 L
還是沒用 ,因為若本身即為離散點,則試多少次還是發生離散
4 H9 h* p# j0 q  J6 Y# S2 `9 J  ~% V0 ^0 S
11 注意你對電路之所有輸入及控制及工作電壓及溫度之設定是否正確或是否合理,3 w7 }  X4 L8 H  R; c3 T
記住Hspice 只是一個計算機,它只是幫你解K.C.L & K.V.L equation,
, n: r* E0 T, r而你的電路架構及對電路之所有輸入,及控制及工作電壓及溫度之設定之不同,即等同於你製造出之K.C.L & K.V.L equation之不同,  若你製造出之equation本身就無解,
- X1 r# |8 C& \8 L則Hspice發生不收斂,且不跑了是理所當然的, 記住Hspice 只是一個計算tool/ Z) a! s4 ?% {: A* c9 G& o- {
  y' H' y+ H  F# ]* e  C0 V
12.活用上述之2~11點之心得則可以解決大多數之不收斂問題
- V$ O& U2 w9 c- \' S# I1 E0 ?7 g8 I6 r9 S" G
希望此文對於台灣之類比設計之入門者有所幫助

評分

參與人數 1感謝 +10 收起 理由
lonppupu + 10 讚讚讚!

查看全部評分

您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-5-7 08:32 PM , Processed in 0.102006 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表