以 SPICE 進行電路模擬

時間步

暫態模擬不是一次算出整個未來,它在時間上一小跳一小跳地往前走,先算出某一瞬間的每個電壓,再算下一瞬、再下一瞬。時間步就是每一跳的大小。太大,影片會卡頓、可能漏掉精彩處;太小,渲染會慢到天荒地老。

在每一步,SPICE 解出整個電路並把時鐘往前撥。現代 SPICE 採用自適應步長:在變化快的地方(尖銳邊緣、切換轉態)走小步,在電路緩慢漂移的地方走大步,一邊盯著局部誤差,若兩跳之間答案變化太大就縮小步長。你可以在 '.tran' 那一行設定最大步長,以強制足夠細的解析度。危險在於步長比你最快的特徵還長,用 5 微秒的步去取樣一個 1 微秒的脈衝,SPICE 根本看不到它,或者畫出純屬數值假象的假振鈴。

選擇步長和設定示波器時基是同一種判斷:細到足以解析你在意的最快事物,粗到能在合理時間內跑完。拿不準時,就把最大步長收緊再重跑,若波形變了,代表你的步長太粗、尚未看見真正的答案;若波形不動,就可以信任它。步長太小,也正是 timestep too small 這個收斂失敗的經典觸發原因。

用 10 微秒的最大步長去模擬一個 100 kHz 方波,會把尖銳的邊緣抹成一團糊,收緊到 0.1 微秒便還原出俐落的轉態,而一旦步長小到足以解析每個邊緣,結果就不再改變。

暫態模擬中每一跳前進的大小,示波器時基的軟體對應物。

若你縮小最大時間步時波形跟著變了,先前那次就是取樣不足、不可信。步長太粗會完全藏起快速事件,或捏造出並不存在的振鈴。

又称
timestepmax timestep步長