SPICE仿真不收斂:矩陣求解、收斂錯誤與優化方法
1 分鐘
- 一、網表背後的核心演算法:修正節點分析法 MNA
- 二、非線性迭代不收斂的成因與調校方式
- 三、瞬態仿真常見報錯:理想元件引發數學奇點
- 從 SPICE 仿真走向 JLCPCB 實板驗證
- 總結:正確看待仿真的數學近似本質
硬體開發進行電路模擬時,不少工程師都遇過仿真長時間停留在 99.9% 進度並報錯的狀況,常見提示包括 Singular Matrix(奇異矩陣)、Convergence Failed(收斂失敗)以及 Time Step Too Small(時間步長過小)。
現代 EDA 軟體的操作介面十分直觀,只要拖放元件並連接線路就能執行電路模擬,但這也容易讓設計者忽略仿真背後的數學運算邏輯。不論介面多便捷,SPICE 類工具的核心工作都是求解線性或非線性代數方程。原理圖會先轉換為網表,再由求解器透過離散模型近似真實電路的連續物理變化。若要有效排除不收斂問題,就需要理解矩陣建立、迭代與時間離散的基本機制。
一、網表背後的核心演算法:修正節點分析法 MNA
開始仿真後,軟體不會直接從圖形計算電流與電壓,而是先將電路拓撲與元件參數轉換為數值網表。主流 SPICE 求解器通常採用修正節點分析法(Modified Nodal Analysis,MNA),以基爾霍夫電流定律(KCL)為基礎,為獨立節點及部分支路電流建立方程。
線性電路的矩陣表示
對由電阻、獨立電流源與獨立電壓源等線性元件構成的電路,求解器可建立以下線性方程:

- A:系統係數矩陣,包含元件導納、電壓源約束與電路連接關係。
- X:待求未知數向量,通常包含各節點電壓及流經獨立電壓源的電流。
- Z:激勵向量,存放獨立電流源、電壓源及等效歷史項。
從數學形式來看,當 A 可逆時,可把解寫成:

這個式子有助於理解矩陣可逆性,但實際數值求解器通常不會顯式計算 A-1,而會利用 LU 分解等方法直接求解線性方程組,以提升速度與數值穩定性。對大型稀疏電路矩陣而言,這一點尤其重要。若想從基礎角度了解線性方程與節點分析,也可參考電子電路解算器。
當電路加入二極體、MOSFET、BJT 等非線性元件後,矩陣係數會隨節點電壓及工作點變化,方程變成非線性隱式系統,求解器必須切換為反覆線性化與迭代求解。
二、非線性迭代不收斂的成因與調校方式
處理非線性元件時,求解器通常會在直流工作點及每個瞬態時間點使用牛頓—拉夫遜(Newton-Raphson)迭代。以二極體為例,求解器先假設一組節點電壓,再於該工作點計算局部斜率,把非線性模型線性化為等效導納與電流源,接著求得下一組節點電壓,持續重複直到殘差與電壓更新量低於收斂門檻。使用 LTspice 模擬電子電路時,底層也會面對同類工作點與迭代問題。
兩類常見的不收斂場景
- 模型斜率過大或存在不連續跳變:開關電源切換、高增益回授或理想化分段模型,可能讓雅可比矩陣條件惡化。若初始猜測距離實際工作點太遠,牛頓步長便可能反覆震盪或發散。
- 懸浮或孤立節點:變壓器繞組、電容端點沒有直流接地參考,或功率開關斷開後形成高阻抗孤立節點,都可能使矩陣缺少唯一解並變成奇異矩陣。這類拓撲問題也屬於原理圖設計常見錯誤。
SPICE 參數調校與排錯順序
遇到不收斂錯誤時,應先檢查網表、接地參考、元件方向與模型參數,再依所使用的 SPICE 工具調整求解選項。不同軟體的參數名稱與預設值可能不同,不宜把單一數值當成通用解法。
- GMIN/GMIN Stepping:為高阻抗節點提供極小的直流導通路徑,或讓求解器從較大的最小導納逐步過渡到目標值,可降低奇異矩陣風險。
- Source Stepping:先以較小電源幅度求得穩定工作點,再逐步增加到設定值,協助強非線性電路進入正確解域。
- RELTOL、VNTOL 與 ABSTOL:適度放寬誤差門檻有時能協助跨過數值敏感點,但會降低計算精度。以 RELTOL 為例,數值變大通常代表相對誤差要求變寬;修改後應檢查關鍵波形是否仍滿足設計目標。
- 初始條件與節點集:為電容電壓、電感電流或關鍵節點提供合理初值,可縮短工作點搜尋路徑,但不應使用不符合實際電路狀態的數值強迫收斂。

圖 1:牛頓—拉夫遜迭代的收斂、震盪與發散軌跡示意。
三、瞬態仿真常見報錯:理想元件引發數學奇點
執行 .TRAN 瞬態分析時,求解器會把連續時間劃分為離散時間點,並將電容、電感轉換為與積分方法對應的等效伴隨模型。每個時間點都需要重新建立並求解線性化方程組。
若模型過度理想化,例如理想電壓源經零阻抗開關直接連接理想電容,開關閉合瞬間就要求電容電壓在零時間內跳變。由電容關係式可見:

當 Δt 趨近於零且 ΔV 不為零時,理想模型會推導出趨近無限大的瞬時電流,在數學上形成不連續點。求解器為了捕捉這段跳變,可能持續縮小時間步長;當步長低於可用數值精度或內部下限時,就會出現 Time Step Too Small 錯誤。
消除數學奇點的建模技巧
建模時不應無條件使用理想元件。可依據資料手冊、封裝與走線結構加入真實電路中的寄生參數,使模型具有合理阻尼並減少不連續跳變:
- 為電容加入符合元件規格與頻率範圍的 ESR、ESL 及漏電路徑;相關物理特性可參考去耦電容的頻率響應。
- 為開關設定有限導通電阻、關斷電阻與合理的上升/下降時間,避免完全垂直的理想邊沿。
- 依據封裝、過孔與走線幾何加入適當寄生電阻及電感,而不是任意添加數值只為讓仿真通過。
- 對新增寄生參數進行敏感度檢查,確認它們改善收斂的同時,沒有掩蓋振鈴、浪湧或穩定性問題。
從 SPICE 仿真走向 JLCPCB 實板驗證
仿真收斂只代表數值模型成功得到一個解,並不代表真實電路一定穩定。完成工作點、瞬態、溫度與元件容差檢查後,應將原理圖轉換為 PCB,並檢查電源迴路、接地、去耦、電流路徑及關鍵寄生參數。需要進一步評估供電網路時,可結合PCB 電源完整性分析。
確認設計規則後,可將 Gerber、BOM 與貼片座標檔提交至 JLCPCB,並使用 PCB 組裝服務製作驗證樣板,透過示波器、電子負載與溫升測試對照 SPICE 結果。
總結:正確看待仿真的數學近似本質
電路仿真是透過數學模型逼近真實電路的工程手段,不存在完全還原實物的模擬結果。畫面上的電壓與電流波形,都是求解器經過矩陣建立、數值分解、非線性迭代與時間離散後得到的近似值。
無論使用線上輕量仿真工具還是專業桌面 SPICE 軟體,都應先確認網表拓撲、模型適用範圍與求解器設定。理解 MNA 矩陣、非線性迭代、懸浮節點和理想元件奇點之後,設計者才能針對根因調整模型與參數,而不是盲目放寬誤差門檻。
最終仍需以實板測量驗證仿真假設。只有把數值模型、PCB 寄生效應與實驗結果結合起來,仿真資料才能真正輔助硬體開發並降低除錯難度。
持續學習
GPT-6 Astra 在 KiCad 中的 PCB 設計:從簡述到已驗證原生專案
重點摘要 OpenAI 發布的內容:發佈頁面展示 GPT-6 Astra 在 KiCad 中進行 PCB 佈局的 15 秒濃縮片段。 模型完成的工作:它將四行設計簡述轉化為 44 × 34 mm 的雙層 PCB,涵蓋電路、封裝、元件放置、佈線,以及原生雙頁原理圖。 工作重點:元件放置及佈線只是其中一部分。兩個互相連結的原理圖頁面、專案本地元件庫,以及 45 個元件與其封裝之間以 UUID 建立的連結,對保持專案一致性至關重要。 實用發現:KiCad 回報 46 項原理圖一致性問題。這些問題透過修正元件欄位及未連接標記解決,而不是加入規則排除。 零違規的含意:KiCad 10.0.4 在已啟用的規則下回報 0 項 ERC 及 0 項 DRC 違規。另有五個 DRC 類別及四個 ERC 類別被忽略。 GPT-6 Astra 生成的 PCB 初看可能很簡單,但要建立整潔的原生 KiCad 專案,遠不只是產生一塊完成佈線的電路板。原理圖、元件庫、封裝及元件連結都必須保持一致。 在本專案中,GPT-6 Astra 在 KiCad 中建立並檢查 TPA3116D2 立體聲放大器,重點是保持原生專案一致,而不是......
GPT-6 Astra 在 EasyEDA Pro 中設計 PCB:成功之處、失敗環節與經驗總結
重點摘要 測試內容:讓 GPT-6 Astra 存取本機安裝的原生 EasyEDA Pro 3.2.149,並根據四行書面需求,設計一個 TPA3116D2 立體聲擴大機。 產出成果:完成一片 44 × 34 mm、包含 40 個表面黏著元件(SMD)的雙層 PCB,以及內嵌元件庫、可編輯的原生 EasyEDA Pro 專案。 出現問題的環節:第一次完整匯入後,專案正常開啟,外觀看起來也合理,但初次原生驗證仍回報了涉及 120 個 PCB 焊墊的 50 項關聯不符。 修正方式:為每個匯入的封裝指定唯一名稱與識別碼後,全部 50 項訊息均已清除。問題源於 EasyEDA Pro 在匯入時,將元件庫名稱相同、但原本應保持獨立的封裝,視為同一個封裝。 尚未證實的事項:電路板僅通過軟體檢查,尚未製造、組裝或量測,因此不能據此對輸出功率、熱性能或電磁相容性(EMC)提出結論。 多數關於 GPT-6 Astra PCB 設計能力的討論,都集中在一項使用 KiCad 的示範。相同工作流程能否在另一款電子設計自動化(EDA)工具中重現,此前尚未有公開示範。 本次測試於 2026 年 9 月 10~11 日進行,使......
AI PCB 設計:透過 EasyEDA Pro 將提示詞轉化為 PCB
重點摘要 AI PCB 設計:透過 AI 代理,在實際的電子設計自動化(EDA)編輯器中,自動完成原理圖建立、元件選型、佈局與驗證,而不只是生成圖片。 工作流程:透過 EasyEDA API 閘道器、開源 API 技能套件與本機橋接伺服器,將 EasyEDA Pro 連接至 AI 程式開發代理,例如 Claude Code 或 Codex。 設定與本機運作:設定約需十分鐘,並完全採用本機優先架構:設計資料、API 呼叫與中間產生的程式碼,都不會離開您的電腦。 製造銜接:由於代理放置的是真實元件庫中的元件,匯出的物料清單(BOM)能對應至 JLCPCB 可採購並組裝的實際料號。 硬體設計一直存在一個與物理原理無關的瓶頸:花費大量時間拖曳符號、重新命名網路,以及微調走線位置。如果這些重複性的操作能交由 AI 代理處理,情況會如何?這個代理不只是畫出一張電路圖片,而是操作實際的 EDA 編輯器,放置真實的符號、導線與封裝,讓您可以將設計直接送交製造。 AI PCB 設計是在 EDA 環境中,透過 AI 代理自動處理部分原理圖建立、元件選型、PCB 佈局與設計驗證工作。這套工作流程已不再停留於構想。透過 ......
PCB 製造用 ODB 檔案實務指南
重點摘要 整合式資料:ODB++ 將製造圖形、網表、疊構與鑽孔跨層範圍整合在同一個資料包中。 減少錯誤:內嵌網表讓 CAM 軟體能在生產之前找出資料錯誤。 匯出前檢查:排除所有設計規則檢查問題、確保電路板外形封閉,並使用檢視器確認鑽孔跨層範圍。 建議做法:使用 Gerber 取得快速報價,同時備妥 ODB++ 資料,以便回覆工程詢問。 一個 Gerber 圖層可能只會表示:「在這裡畫一個 0.5 mm(20 mil)的圓。」ODB++ 則能將相同的圖形描述為 VCC 網路上的焊墊,並指出它連接至一個從第 1 層延伸至第 4 層的金屬化孔。換句話說,製造商收到的是電路板的完整描述,而不只是一組圖稿。 圖 1:CAM 工程師檢查匯入的 ODB++ 製造資料 這一點十分重要,因為製造商每次需要從不同檔案中重新推斷資料關係,都會增加一次出錯的機會。若資料中包含原始設計物件及其關係,可製造性設計(DFM)工具就能根據電路板本身的網表、疊構、鑽孔定義與元件資料進行檢查。本指南將說明 ODB++ 檔案包含哪些內容、資料夾結構如何組織,以及它與現代 Gerber 和 IPC-2581 的差異。同時也會介紹匯出前值......
仿真不收斂排查:SPICE 收斂故障機理與 LTspice 對策實操
電源工程師的日常工作中,經常遇到這種情況:電路圖已經檢查三遍,確認沒有問題,按下執行後,螢幕卻彈出一行紅字,模擬直接停止。網路上的對策五花八門:修改 .options、加入電阻、縮小時間步長,輪流嘗試卻像抽籤。其實,收斂問題九成有跡可循;不了解錯誤訊息背後的數值機理,才會讓排查變成毫無方向的嘗試。 SPICE 電路模擬將電路方程表示為非線性方程組 f(x) = 0,並透過牛頓-拉夫森法,依照下方公式逐步逼近實際解。LTspice 的演算法已比傳統引擎更具容錯能力,但模型與電路結構中的問題,仍需要使用者自行處理。先建立錯誤訊息與對策的對照表,排查時依循明確路線,會比反覆搜尋論壇更有效率。 圖:牛頓-拉夫森法的收斂迭代公式 其中,f′(xn) 在電路中對應的是雅可比矩陣,也就是電路在目前電壓與電流狀態下的電導矩陣。 注意事項 SPICE 收斂問題應先依錯誤類型,定位數值或電路拓撲方面的原因,再調整求解器參數。先確認模型、節點與直流通路合理,再使用直流工作點分析指令 .op、節點初值設定指令 .nodeset,或 GMIN 步進法進行驗證。 一、三類典型錯誤訊息速查 錯誤訊息雖然各式各樣,但大致可歸納為......
EasyEDA Pro 與 KiCad:GPT-6 Astra PCB 設計比較
重點摘要 比較對象:同一個 TPA3116D2 立體聲擴大機專案的兩個版本,分別由 GPT-6 Astra 在不同的 EDA 工具中建立。比較重點在於交付專案之後,您實際上能夠如何使用與修改它。 接地覆銅:EasyEDA Pro 專案將接地覆銅儲存為 28 個固定填充區域;KiCad 專案則保留兩個原生覆銅區域,可在佈局變更後自動重新填充。 驗證:KiCad 最初回報 46 項原理圖一致性問題。這些問題透過修正元件欄位與未連接定義解決,沒有增加額外的規則排除項目。 兩個專案都尚未證實的事項:兩個專案均通過各自設定的軟體檢查,但兩片電路板都尚未製造、組裝、進行電氣測試,或經過正式的 DFM 審查。 當 AI 代理替您建立專案時,EasyEDA Pro 與 KiCad 的比較重點也會改變。此時,比較的不只是哪款工具擁有更好的編輯器、佈線器或操作介面,還包括代理最終交付的專案品質。 原理圖可能正確、電路板可能已完成佈線,設計檢查也可能全部通過。然而,下一次修改時,仍可能暴露出封裝元件庫、元件關聯、覆銅區域或專案可攜性方面的問題。 為了探討這些差異,我們使用 GPT-6 Astra 製作了兩次相同的 TP......