看板 Electronics 關於我們 聯絡資訊
※ 引述《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
kkooff:推薦這篇 ^^ 03/31 22:27
NovemberRain:原來不收斂原因是這樣,又上了一課。多謝~ 04/01 03:49