近年來,基于SPICE的模擬器的仿真結果已經非常接近于實際特性。在某些情況下,將其作為一種現實的理想特性,調整實際的電路特性并使之接近這種理想特性,是非常“好用”的工具。然而,某些分析算法、條件設置、器件模型,并非沒有收斂性或穩定性方面的課題。更好地了解仿真的收斂性和穩定性課題,有助于更有效地利用仿真這個工具。
SPICE仿真的收斂性與穩定性
所謂仿真中的收斂性問題,是指即使執行了程序也不開始計算、中途停止等問題,導致即使微小的條件變更也能引發結果很大的變化、出現不應該出現的結果等。簡而言之,就是分析錯誤和結果不穩定。
其原因有幾種,在這里以“器件模型”這種原因為例來說明。下面是串聯連接的電阻和二極管的I-V(電流-電壓)特性,與電阻這樣的電流和電壓簡單成正比的線性器件相比,二極管這樣的非線性器件的仿真會更復雜。可能任何人都可以輕松地創建電阻I-V特性的計算公式,而二極管正向特性的公式恐怕就沒有那么簡單了。在下面的示例中,使用SPICE仿真中眾所周知的牛頓法,介紹一種通過不斷迭代來獲得負載線和非線性負載(在這里為二極管)的交點—工作點的近似解的方法。這種器件模型的特性有時是不連續的,在具有變曲點等較復雜的特性情況下,有時會出現如右圖所示的“不應該出現的”不收斂的結果。
收斂性和穩定性較差時的處理方法
收斂性和穩定性較差時,有幾種處理方法。不同的模擬器其處理方法也不同,下面的方法請理解為其中一個示例。模擬器的設置項目中,有收斂性和穩定性相關的項目,試著更改這些項目。在本例中,算法有三個選項,我們將嘗試更改現有的選項。另外,也將嘗試更改精度和誤差等收斂條件。
①嘗試將算法更改為Gear
?trapezoidal(梯形法):計算速度和精度高,但收斂性方面表現較差。
?modified trap(梯形法改進版):改善了梯形法的收斂性。
?Gear(預測校正法):容易收斂,但在計算速度和精度方面表現較差。
②放寬收斂條件
?Abstol:電流精度。圖例為1pA以內。
?Reltol:相對誤差。圖例為0.1%以內。
?Chgtol:電荷精度。圖例為10fC以內。
?Vlottol:電壓精度。圖例為1uV以內。
當提高精度(降低值)時,計算速度會下降,但收斂性會改善。
![poYBAGPjFKuAA1wlAACT984fhis805.gif](https://file.elecfans.com/web2/M00/8F/19/poYBAGPjFKuAA1wlAACT984fhis805.gif)
③設置Maximum Timestep。這一欄空白也可以執行仿真,但可能會使Timestep取值過大而出錯。
④當Tran(瞬態分析)的第一個DC點的收斂較差時,設置為“skip dc”可有效改善這個問題。
![pYYBAGPjFK2AUNbsAABehF_OLk0035.gif](https://file.elecfans.com/web2/M00/8F/9D/pYYBAGPjFK2AUNbsAABehF_OLk0035.gif)
上述方法是可以在用戶處通過更改模擬器的設置等,來規避收斂和穩定性問題時的方法。但其中也有可能是器件模型本身具有缺陷,在這種情況下,是很難在用戶處解決仿真錯誤的。
如果需要創建一個器件模型,最重要的是要創建一個比起精度更重視收斂性和穩定性的、能運行的器件模型。
評論