晶片模擬:為什麼 SPICE 跑一個電路要三天

modern%20workspace%20with%20laptop%2C%20smartphone...
發表時間:2026 年 10 月 25 日 | 更新日期:2026 年 10 月 25 日 | 編輯:雅寶社區編輯團隊
晶片模擬:為什麼 SPICE 跑一個電路要三天 - 雅寶社區 · 頂客論壇

SPICE 的分析模式很多,常見的有:

  • OP(Operating Point):求直流工作點,也就是電路在沒有交流訊號時的靜態電壓與電流。
  • DC Sweep:掃描某個電壓或電流源,看輸出如何變化。

    AC Analysis:小訊號頻率響應,把電路線性化後在頻域求解。

  • TRAN(Transient):瞬態分析,模擬電路隨時間的變化,這是耗時最久的分析類型。
  • NOISE、PZ、HB、PSS:雜訊、極零點、諧波平衡、週期穩態等進階分析。
  • 其中,瞬態分析是绝大多数「跑三天」案例的元兇。原因很簡單:它必須把時間切成無數個小步,每一步都要解一次非線性方程組,而且每一步的解都依賴前一步。這是一種本質上串列的計算流程,沒辦法像渲染影片那樣輕鬆平行化。

    二、時間不是花在「計算」,而是花在「等待收斂」

    很多人以為 SPICE 慢,是因為「運算量太大」。這句話只對了一半。實際上,模擬工程師最常看到的畫面不是 CPU 滿載,而是模擬器卡在某一個時間點,反覆印出「convergence failed」,然後自動縮小時間步長再試一次。

    2.1 牛頓-拉弗森迭代與收斂問題

    電晶體是非線性元件,所以 SPICE 不能一次解完,必須用迭代法。最經典的是牛頓-拉弗森法(Newton-Raphson):先猜一組初始電壓,計算每個電晶體在該電壓下的等效電流與電導,把非線性電路線性化成一個線性系統,解出新的電壓,再拿新電壓重新計算,直到兩次結果的差異小於容許誤差。

    這個過程聽起來很合理,但問題在於:牛頓法不保證收斂。如果初始猜測太遠、電路太陡峭、或是有正回饋路徑,迭代可能發散、震盪,或是在兩個解之間來回跳。

    SPICE 為了求生,會啟動一連串補救措施:

  • Gmin Stepping:在每個節點對地掛一個極大的電阻,讓電路「稍微線性一點」,先求出一個粗解,再逐漸把電阻加大到無限大。
  • Source Stepping:把電源從零慢慢增加到目標值,用前一階段的解當下一階段的初始猜測。
  • Damped Newton:限制每次迭代的電壓變化量,避免一次跳太遠。
  • 這些方法有效,但每一個都是「額外的計算」。一個原本應該 10 次迭代收斂的節點,可能因為收斂困難,變成 200 次迭代,時間直接暴增 20 倍。

    2.2 時間步進:每一步都是一次完整的求解

    瞬態分析的時間步進不是固定的。SPICE 會根據電路的動態變化自動調整步長:變化劇烈時縮小步長,變化平緩時放寬步長。這個機制叫做 Local Truncation Error(LTE)控制。

    問題來了。一個混合訊號電路裡,可能同時存在:

    切換頻率 2.4 GHz 的時脈訊號

    切換頻率只有 1 kHz 的電源管理訊號

    需要模擬 10 毫秒才能看到的啟動行為

    為了準確捕捉 2.4 GHz 的波形,時間步長必須小到皮秒(10⁻¹² 秒)等級。但要模擬 10 毫秒,就代表你需要跑 10⁹ 個時間點。每個時間點平均要解 20 次牛頓迭代,每次迭代要解一個上萬階的稀疏矩陣。這樣乘下來,三天真的不算多。

    這就是模擬工程師最常講的一句話:「不是模擬器慢,是你要求的時間太長、頻率太高、精度太嚴。」

    三、為什麼電路一大就慢到天荒地老?

    如果只有幾十個電晶體,SPICE 幾乎是瞬間完成。但真實的晶片設計不會這麼客氣。以下幾個因素,會讓模擬時間從「秒」變成「天」。

    3.1 稀疏矩陣求解的規模效應

    稀疏矩陣求解的複雜度,大致與節點數的 1.5 次方到 2 次方成正比(取決於矩陣結構與排序演算法)。也就是說,節點數變成 10 倍,求解時間可能變成 30 到 100 倍。

    一個簡單的兩級運算放大器,節點數可能只有 20 個。但當你把它放進一個完整的鎖相迴路(PLL)、加上電荷泵、迴路濾波器、壓控振盪器、除頻器,節點數很容易破千。如果再加上佈局後的寄生電容與寄生電阻(後佈局模擬,post-layout simulation),節點數破萬是家常便飯。

    更別提現在流行的「系統級模擬」:把整個收發器、電源管理單元、數位控制邏輯全部放在同一個 SPICE 網表裡。節點數十萬、百萬,都是真實存在的案例。

    3.2 寄生電容與後佈局模擬的爆炸

    電路圖模擬(schematic simulation)只考慮元件本身的特性,速度快、結果樂觀。但晶片實際做出來之後,每一條金屬線都有電阻、每一對相鄰金屬線之間都有電容。這些寄生效應在奈米製程下極其致命,尤其是 7 奈米、5 奈米以下,一條訊號線的延遲可能有一半來自寄生 RC。

    所以設計流程中有一個階段叫「寄生提取」(parasitic extraction,PEX),會從佈局圖中萃取出成千上萬個寄生電阻與電容,然後把它們全部加進網表裡。原本 500 個節點的電路,瞬間變成 50,000 個節點。

    更糟的是,這些寄生 RC 會形成巨大的 RC 網路,讓矩陣變得非常「病態」(ill-conditioned),數值求解的收斂變得極其困難。很多時候模擬跑三天,不是因為節點多,而是因為那條該死的電源線上有個 0.001 歐姆的電阻和 10 法拉等級的等效電容,讓牛頓法崩潰。

    四、真實案例:三天是怎麼算出來的?

    讓我們用一個具體一點的例子,把「三天」拆解成可理解的數字。

    4.1 一個後佈局 5G 收發器的模擬經驗

    假設你設計了一個 5G 毫米波收發器前端,包含低雜訊放大器、混頻器、本地振盪器、功率放大器。電路圖層級的節點數約 2,000 個,後佈局提取後變成 80,000 個節點。

    你要模擬的是:送進一個 64-QAM 的調變訊號,中心頻率 28 GHz,頻寬 400 MHz,模擬時間長度 1 微秒(用來觀察 EVM 與頻譜再生)。

    計算一下:

    28 GHz 的載波,為了準確取樣,時間步長至少需要 1 ps(10⁻¹² 秒)以下。

    模擬 1 微秒,代表至少 10⁶ 個時間點。

    每個時間點平均 15 次牛頓迭代。

    每次迭代解一個 80,000 × 80,000 的稀疏矩陣。

    如果每次矩陣求解需要 0.1 秒(這已經是很樂觀的估計),那麼總時間是:

    10⁶ × 15 × 0.1 秒 = 1.5 × 10⁶ 秒 ≈ 17 天

    當然,實務上不會這麼慘,因為稀疏矩陣求解遠比 0.1 秒快,而且很多時間點會收斂得很快。但即便打個一折,也還是 1.7 天。這就是「三天」的由來。它不是誇飾,而是數量級估算下的真實結果。

    4.2 從三天壓到三小時的實務手段

    模擬工程師不會乖乖等三天。以下是業界常用的加速手段,以及它們的取捨:

  • 放寬精度設定:把 reltol 從 10⁻³ 放寬到 10⁻²,可以減少迭代次數,但可能漏掉細節。這是最常見也最危險的手段。
  • 簡化模型:用 behavior model 取代完整的 BSIM 模型,速度可以快 10 倍以上,但準確度下降。
  • 分割電路:把大電路切成幾個子電路,分別模擬再拼接。這需要工程判斷,切割點選錯會導致錯誤結果。
  • 使用平行 SPICE:像是 Spectre X、HSPICE 的多執行緒模式,可以善用多核心 CPU。但矩陣求解的平行化效率有限,通常只能加速 2 到 4 倍。
  • 硬體加速:GPU SPICE 或 FPGA 加速器(如 Cadence 的 Palladium 系列,雖然主要用於數位模擬)可以帶來數量級的提升,但成本極高。
  • 雲端運算:把模擬丟到雲端叢集,用「量」取勝。這是目前大型 IC 設計公司的標準做法。
  • 混合訊號模擬策略:用 FastSPICE(如 NanoSim、CustomSim)處理大型記憶體或數位電路,只對關鍵類比區塊用傳統 SPICE。這是實務上最有效的組合技。
  • 把這些手段全部用上,原本三天的模擬,確實有機會壓到三小時以內。但代價是:你必須非常清楚哪些細節可以犧牲,哪些不能。這正是類比設計工程師的專業所在。

    五、結語:等待也是一種設計

    SPICE 跑一個電路要三天,表面上看起來是工具不夠快,但本質上是因為我們要求它做的事情極其困難:在沒有實際晶片的情況下,用數學模型預測一個包含數萬個非線性元件、數十萬個寄生元件、在數十 GHz 頻率下運作的系統行為。

    這三天,模擬器其實在做一件很了不起的事:它在用牛頓迭代、稀疏矩陣、時間步進控制這些數學工具,一寸一寸地逼近真實世界的物理行為。每一次收斂失敗、每一次步長縮小,都是它在告訴你:「這個電路在某個角落有問題,我需要更小心地看。」

    所以,下次當你看到模擬進度條卡在 37.2% 時,不妨換個角度想:那不是當機,那是你的電路正在被數學仔細檢驗。而你能做的,就是在按下 Run 之前,把設定調好、把模型選對、把電路切乾淨,讓它少走一點冤枉路。

    畢竟,模擬跑三天不可怕,可怕的是跑完三天之後,結果是錯的。

    —— 願你的牛頓迭代永遠收斂,願你的時間步長永遠穩定。

    🏠 返回首頁