Re: [問題] 請問關於hspice出現的錯誤
※ 引述《brav.bbs@bbs.badcow.com.tw (仰望天空~~(m))》之銘言:
: ※ 引述《ilovecatch.bbs@ptt.cc (斷了思念)》之銘言:
: : 謝謝大家幫忙
: : 但又有錯誤
: : **error** internal timestep too small in transient analysis
: : 模擬時出現這個錯誤的訊息
: : 但 怎麼改指令都不能跑
: : 是電路的問題嗎 頻率2.4G的電路所以 timestep太小嗎?
: : 還是?...
: : 要下什麼指令嗎
: : 我下的輸入va1 a 0 pulse(0 2.2 0 0.1p 0.1p 0.015u 0.030u)
: : tran 1n 5u
: : 之前跑別的電路可以跑
: : 這次的電路卻沒辦法跑
: : 想請問大家該如何解決
: : 謝謝
: 有時候,會有可能這樣的,有些可能因為收斂的問題,你不妨可以從收斂的問題和
: timestep下手喔,timestep可能太小嚕,對這個電路而言。只要你確定你輸入的信號
: val寫的沒有錯誤就好了,剩下就可以慢慢解決低....^^
解決方法:使用Spectre
還不行的話
在Spectre選Transient analysis那邊有一個Advanced設定 進去裡面有一個Gear2
選了再跑一次
再不行的話....
再波出來討論看看
SPICE跑模擬的方法簡述如下:
1. 想像你有一個曲線f(t)
從這一個時間點 f(t0) 然後去猜f(t1)的值
假設t1-t0很小
你可以用f'(t0)或f'(t1)的斜率去投影(有點向牛頓法)
2. 投影之後得到的f*(t1)一定不是真正的f(t1)
還要再固定時間點做iteration
然後才會得到真正的f(t1)
4.可是如果f*(t1)跟f(t1)差太多了
或者沒有辦法收斂(例如你的電路剛好在那時候有一個很大的變化)
那他就會自動把time step切一半
取消一開始的投影 變成只投影到f*((t0+t1)/2)
然後再固定時間點做iteration
5.如果又不行
就再把時間點切一半
直到達到系統極限...
所以你會得到訊息說「time step太小,模擬失敗」
這跟你設定的time step應該是不一樣的東西
解決的方法第一個是改善那個投影的方法
要不然的話換個版本的SPICE也有可能會收斂得比較好
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 24.211.186.84
推
03/31 22:27, , 1F
03/31 22:27, 1F
推
04/01 03:49, , 2F
04/01 03:49, 2F
討論串 (同標題文章)