|
以個人的經驗, 我會建議參數下越少越好: B! ~+ i; ?' P7 ?0 ]6 V
如果一個電路必須加了一堆參數才能模擬出結果, 我會覺得這個電路不夠robust h9 a) ^ U# X( G6 N/ ~
我也試過用iteration什麼的加了一堆, run一個簡單的DFF 接成的除頻器都可以掉clock或跑出glitch...8 ]( D) Y6 h$ e" j% t
從此之後我就保持option只設定accuracy 跟 method 兩樣, 頂多再設個小數幾位之類的~
( K" f9 ]6 l6 {, s; [! ~* E
1 ~ p4 W* W% v0 D9 B* C- f當不收斂發生的時候, 我第一個會建議的是加trigger source
4 Z8 b5 \* a* s+ a# O5 u4 i' \power 用ramp (快或慢都可以試看看), 有多組power就多設幾個試試, power直接給DC很容易不收斂的!!
0 Y- k+ U! @7 S: R6 Y0 V& R3 ~有power-down訊號的可以寫pwl 去toggle它, 也會有幫助! W/ w& B3 x! o& [. o; j# W* G
再來, probe current 很容易不收斂, 可以先拿掉看看; 減少floating/unconnected nodes, 這好像都跟演算上會扯到無窮大有關 ^6 d+ T# {% s% N5 ~$ ]
再不行的話, 加initial condition, 去寫 .ic/ .nodeset 等等1 [" m y, T8 V# e
這些試過都不行....我會先把電路拆成小block run過, 確保都正確動作後, 再check system 接線有沒有問題& y% M: n9 ?6 |4 j0 H9 q7 N
最後, 才會去試下參數....* |, V5 b9 H4 p( t
以個人經驗, 通常加trigger source 還有不probe current, 幾乎可以解決掉八成不收斂的問題) U& e/ p$ `# x$ S- q
記住, spice說timestep too small只是告訴你不收斂, 不是真的把timestep加大就可以跑!! |
評分
-
查看全部評分
|