This website requires JavaScript.
優惠券 下載應用程式
寄往
部落格

SPICE仿真不收斂:矩陣求解、收斂錯誤與優化方法

最初發布於 Jul 17, 2026, 更新於 Jul 17, 2026

1 分鐘

目錄
  • 一、網表背後的核心演算法:修正節點分析法 MNA
  • 二、非線性迭代不收斂的成因與調校方式
  • 三、瞬態仿真常見報錯:理想元件引發數學奇點
  • 從 SPICE 仿真走向 JLCPCB 實板驗證
  • 總結:正確看待仿真的數學近似本質

硬體開發進行電路模擬時,不少工程師都遇過仿真長時間停留在 99.9% 進度並報錯的狀況,常見提示包括 Singular Matrix(奇異矩陣)、Convergence Failed(收斂失敗)以及 Time Step Too Small(時間步長過小)。

現代 EDA 軟體的操作介面十分直觀,只要拖放元件並連接線路就能執行電路模擬,但這也容易讓設計者忽略仿真背後的數學運算邏輯。不論介面多便捷,SPICE 類工具的核心工作都是求解線性或非線性代數方程。原理圖會先轉換為網表,再由求解器透過離散模型近似真實電路的連續物理變化。若要有效排除不收斂問題,就需要理解矩陣建立、迭代與時間離散的基本機制。

一、網表背後的核心演算法:修正節點分析法 MNA

開始仿真後,軟體不會直接從圖形計算電流與電壓,而是先將電路拓撲與元件參數轉換為數值網表。主流 SPICE 求解器通常採用修正節點分析法(Modified Nodal Analysis,MNA),以基爾霍夫電流定律(KCL)為基礎,為獨立節點及部分支路電流建立方程。

線性電路的矩陣表示

對由電阻、獨立電流源與獨立電壓源等線性元件構成的電路,求解器可建立以下線性方程:

nodal voltage matrix equation

  • A:系統係數矩陣,包含元件導納、電壓源約束與電路連接關係。
  • X:待求未知數向量,通常包含各節點電壓及流經獨立電壓源的電流。
  • Z:激勵向量,存放獨立電流源、電壓源及等效歷史項。

從數學形式來看,當 A 可逆時,可把解寫成:

matrix inverse solution equation

這個式子有助於理解矩陣可逆性,但實際數值求解器通常不會顯式計算 A-1,而會利用 LU 分解等方法直接求解線性方程組,以提升速度與數值穩定性。對大型稀疏電路矩陣而言,這一點尤其重要。若想從基礎角度了解線性方程與節點分析,也可參考電子電路解算器

當電路加入二極體、MOSFET、BJT 等非線性元件後,矩陣係數會隨節點電壓及工作點變化,方程變成非線性隱式系統,求解器必須切換為反覆線性化與迭代求解。

二、非線性迭代不收斂的成因與調校方式

處理非線性元件時,求解器通常會在直流工作點及每個瞬態時間點使用牛頓—拉夫遜(Newton-Raphson)迭代。以二極體為例,求解器先假設一組節點電壓,再於該工作點計算局部斜率,把非線性模型線性化為等效導納與電流源,接著求得下一組節點電壓,持續重複直到殘差與電壓更新量低於收斂門檻。使用 LTspice 模擬電子電路時,底層也會面對同類工作點與迭代問題。

兩類常見的不收斂場景

  • 模型斜率過大或存在不連續跳變:開關電源切換、高增益回授或理想化分段模型,可能讓雅可比矩陣條件惡化。若初始猜測距離實際工作點太遠,牛頓步長便可能反覆震盪或發散。
  • 懸浮或孤立節點:變壓器繞組、電容端點沒有直流接地參考,或功率開關斷開後形成高阻抗孤立節點,都可能使矩陣缺少唯一解並變成奇異矩陣。這類拓撲問題也屬於原理圖設計常見錯誤

SPICE 參數調校與排錯順序

遇到不收斂錯誤時,應先檢查網表、接地參考、元件方向與模型參數,再依所使用的 SPICE 工具調整求解選項。不同軟體的參數名稱與預設值可能不同,不宜把單一數值當成通用解法。

  • GMIN/GMIN Stepping:為高阻抗節點提供極小的直流導通路徑,或讓求解器從較大的最小導納逐步過渡到目標值,可降低奇異矩陣風險。
  • Source Stepping:先以較小電源幅度求得穩定工作點,再逐步增加到設定值,協助強非線性電路進入正確解域。
  • RELTOL、VNTOL 與 ABSTOL:適度放寬誤差門檻有時能協助跨過數值敏感點,但會降低計算精度。以 RELTOL 為例,數值變大通常代表相對誤差要求變寬;修改後應檢查關鍵波形是否仍滿足設計目標。
  • 初始條件與節點集:為電容電壓、電感電流或關鍵節點提供合理初值,可縮短工作點搜尋路徑,但不應使用不符合實際電路狀態的數值強迫收斂。

newton raphson circuit convergence diagram

圖 1:牛頓—拉夫遜迭代的收斂、震盪與發散軌跡示意。

三、瞬態仿真常見報錯:理想元件引發數學奇點

執行 .TRAN 瞬態分析時,求解器會把連續時間劃分為離散時間點,並將電容、電感轉換為與積分方法對應的等效伴隨模型。每個時間點都需要重新建立並求解線性化方程組。

若模型過度理想化,例如理想電壓源經零阻抗開關直接連接理想電容,開關閉合瞬間就要求電容電壓在零時間內跳變。由電容關係式可見:

ideal capacitor inrush current equation

當 Δt 趨近於零且 ΔV 不為零時,理想模型會推導出趨近無限大的瞬時電流,在數學上形成不連續點。求解器為了捕捉這段跳變,可能持續縮小時間步長;當步長低於可用數值精度或內部下限時,就會出現 Time Step Too Small 錯誤。

消除數學奇點的建模技巧

建模時不應無條件使用理想元件。可依據資料手冊、封裝與走線結構加入真實電路中的寄生參數,使模型具有合理阻尼並減少不連續跳變:

  • 為電容加入符合元件規格與頻率範圍的 ESR、ESL 及漏電路徑;相關物理特性可參考去耦電容的頻率響應
  • 為開關設定有限導通電阻、關斷電阻與合理的上升/下降時間,避免完全垂直的理想邊沿。
  • 依據封裝、過孔與走線幾何加入適當寄生電阻及電感,而不是任意添加數值只為讓仿真通過。
  • 對新增寄生參數進行敏感度檢查,確認它們改善收斂的同時,沒有掩蓋振鈴、浪湧或穩定性問題。

從 SPICE 仿真走向 JLCPCB 實板驗證

仿真收斂只代表數值模型成功得到一個解,並不代表真實電路一定穩定。完成工作點、瞬態、溫度與元件容差檢查後,應將原理圖轉換為 PCB,並檢查電源迴路、接地、去耦、電流路徑及關鍵寄生參數。需要進一步評估供電網路時,可結合PCB 電源完整性分析

確認設計規則後,可將 Gerber、BOM 與貼片座標檔提交至 JLCPCB,並使用 PCB 組裝服務製作驗證樣板,透過示波器、電子負載與溫升測試對照 SPICE 結果。

使用 JLCPCB 製造與組裝服務,將 SPICE 模型轉化為可測量的實物電路

上傳 Gerber 與 BOM 檔案並取得即時報價,以實板測試驗證工作點、瞬態響應與電源完整性。

立即取得報價

總結:正確看待仿真的數學近似本質

電路仿真是透過數學模型逼近真實電路的工程手段,不存在完全還原實物的模擬結果。畫面上的電壓與電流波形,都是求解器經過矩陣建立、數值分解、非線性迭代與時間離散後得到的近似值。

無論使用線上輕量仿真工具還是專業桌面 SPICE 軟體,都應先確認網表拓撲、模型適用範圍與求解器設定。理解 MNA 矩陣、非線性迭代、懸浮節點和理想元件奇點之後,設計者才能針對根因調整模型與參數,而不是盲目放寬誤差門檻。

最終仍需以實板測量驗證仿真假設。只有把數值模型、PCB 寄生效應與實驗結果結合起來,仿真資料才能真正輔助硬體開發並降低除錯難度。

持續學習