晶片設計的收斂:為什麼 tape-out 前要跑三個月模擬
二、為什麼模擬要跑三個月?拆解驗證時程的真實結構
很多人以為「跑模擬」就是按下執行鍵、等電腦跑完,頂多幾天的事。這種想像在小型 FPGA 專案或大學實驗室裡或許成立,但在動輒數十億顆電晶體的先進 SoC 上,完全不是這麼回事。三個月的時間,其實是被一連串「發現問題 → 修正設計 → 重新驗證」的迴圈給填滿的。
摩爾定律下的驗證爆炸
晶片整合度持續提升,單一晶片上塞進的邏輯閘數量早已突破百億級別。驗證工程師常說一句話:「設計規模每增加一倍,驗證複雜度增加的不只一倍,而是好幾倍。」這是因為驗證不只要覆蓋更多的狀態空間,還要處理更多互動模式、更多時脈域(clock domain)、更多低功耗狀態切換。
根據業界統計,在先進製程的 SoC 專案中,驗證與模擬所投入的人力與時間,往往占整體設計週期的五成以上,有時甚至高於電路設計本身。這就是所謂的「驗證牆(verification wall)」——設計做得再快,驗證跟不上,專案就卡住。
三個月不是「跑一次」,而是「收斂迴圈」
這裡要釐清一個關鍵觀念:三個月並不是「執行一次模擬需要三個月」,而是「從第一次大規模迴歸測試到最終簽核,整個收斂過程大約需要三個月」。這段期間大致可以分成幾個階段:
換句話說,三個月是一個滾動式、反覆運算的過程。每一次迴歸測試跑完,都可能帶回數十到數百個待修問題;修完再跑、跑完再修,直到問題數量收斂到可接受範圍、覆蓋率達標、所有簽核項目亮綠燈,才能安心按下 tape-out。
各階段時間分配的概念表
下表是一個概念性的時間分配示意,實際數字會因製程節點、晶片複雜度、團隊規模與工具效能而有很大差異,但可以幫助讀者理解「三個月」的組成:
階段
主要工作
概念時長
常見瓶頸
功能迴歸
RTL 模擬、覆蓋率分析、bug 修正
2~4 週
測試平台(testbench)不夠完整、模擬執行時間過長
DFT 與低功耗
掃描鏈插入、ATPG、電源域驗證
3~4 週
測試覆蓋率不足、低功耗狀態組合爆炸
時序與功耗簽核
STA、gate-level 模擬、動態功耗分析
4~6 週
PVT corner 數量多、時序收斂困難
物理與系統級驗證
DRC/LVS、IR drop、EM、封裝模擬
2~3 週
佈局違規反覆出現、模型與實際封裝不一致
三、tape-out 前的模擬種類:不是只有一種「跑模擬」
外界常把「模擬」想成一種單一動作,但在 IC 設計流程中,模擬其實是一整個工具箱,每一種模擬針對的風險不同、使用的工具不同、耗費的資源也不同。以下分別介紹幾種在 tape-out 前最關鍵的模擬類型。
功能驗證(RTL 與 gate-level)
功能驗證的目標是確認「設計做出來的行為,和規格書寫的一致」。最早期、也最大量的模擬發生在 RTL(暫存器轉移層級)階段,工程師會用硬體描述語言(如 Verilog、SystemVerilog)撰寫測試平台,對設計灌入各種輸入向量,觀察輸出是否正確。
當設計進入後段,還會有所謂的 gate-level 模擬——把設計合成(synthesis)成邏輯閘層級後再跑一次。gate-level 模擬的速度比 RTL 慢上數十倍甚至百倍,但它能捕捉到合成工具可能引入的問題,也能搭配時序資訊(SDF)進行時序相關的功能驗證,是 tape-out 前不可或缺的一關。
時序與功耗簽核
時序簽核主要靠靜態時序分析(STA)工具完成,工程師會設定多組 PVT corner(製程、電壓、溫度變異組合),確認每一條時序路徑在最壞情況下仍能滿足時序要求。雖然 STA 本身不是「模擬」,但它與模擬相輔相成:gate-level 模擬可以驗證 STA 所假設的時序是否真的成立,而 STA 則能補足模擬無法窮盡的大量路徑。
功耗簽核則包含靜態功耗估算與動態功耗模擬。工程師會用實際的測試向量去模擬電路活動,估算晶片在不同工作模式下的功耗,並確認是否超出散熱與電源設計的上限。在先進行動裝置與 AI 加速器晶片中,功耗簽核的重要性甚至不亞於功能驗證。
物理驗證與 DRC/LVS
當佈局(layout)完成後,必須進行設計規則檢查(DRC)與電路佈局一致性檢查(LVS)。DRC 確認佈局符合晶圓廠的製程規範,LVS 則確認佈局提取出的電路網表與原始設計一致。這兩項檢查雖然以工具自動執行為主,但一旦出現違規,往往需要工程師逐項分析、手動修改佈局,來回數輪才能清乾淨。
訊號完整性與 EM/IR
在先進製程中,金屬線寬越來越細、電流密度越來越高,電遷移(electromigration)與電源電壓降(IR drop)成為不可忽視的可靠度問題。工程師會透過模擬分析電源網路在各區域的壓降是否過大、訊號線之間的串擾(crosstalk)是否會導致功能錯誤,並據此調整佈局或加強電源網路。
熱分析與可靠度
高效能晶片運作時會產生大量熱能,若散熱設計不良,可能導致局部過熱、時序漂移甚至永久損壞。熱模擬會結合封裝結構與使用情境,估算晶片內部的溫度分布,協助工程師調整佈局或散熱方案。此外,還有 ESD(靜電放電)防護驗證、閂鎖(latch-up)分析等可靠度相關模擬,都是 tape-out 前必須完成的项目。
四、三個月的時間怎麼被吃掉?六大收斂關卡
理解了模擬的種類後,我們可以更具體地看看,這三個月究竟被哪些「關卡」給消耗掉。以下六大關卡,是多數先進 SoC 專案在 tape-out 前必經的收斂流程。
關卡一:RTL freeze 後的迴歸測試
當 RTL 設計大致底定、進入「程式碼凍結(code freeze)」階段後,驗證團隊會啟動大規模迴歸測試。這時通常會有三件事同時進行:一是跑遍所有既有測試案例,確認沒有回歸錯誤(regression);二是分析功能覆蓋率(functional coverage)與程式碼覆蓋率(code coverage),找出測試不足的區塊;三是針對新加入的功能補寫測試案例。
這個階段最耗時的地方在於「除錯」。模擬跑出錯誤後,工程師需要從波形(waveform)中抽絲剝繭,找出問題根源,再回頭修改 RTL 或測試平台。一個複雜的錯誤,花上數天甚至一週除錯是家常便飯,而這樣的錯誤在一個大型專案中可能出現數百個。
關卡二:DFT 與 ATPG
為了讓晶片在量產後能被有效測試,設計中必須插入可測試性設計(DFT)結構,例如掃描鏈(scan chain)、記憶體 BIST 等。插入這些結構後,工程師會用 ATPG 工具產生測試圖樣,並透過模擬確認測試覆蓋率是否達標。
DFT 的模擬挑戰在於:掃描測試的圖樣數量龐大,且需要在 gate-level 上執行,模擬時間非常可觀。此外,低功耗設計中的電源域切換(power gating)也會讓測試模式變得複雜,需要額外的模擬來確認測試時不會發生電源相關的錯誤。
關卡三:低功耗驗證
現代晶片幾乎都具備多種電源模式,例如全速運作、待機、深度睡眠等。每當電源域切換時,都可能出現狀態保存(retention)錯誤、隔離(isolation)失效、電源開關(power switch)控制錯誤等問題。低功耗驗證需要透過模擬,逐一檢查各種電源狀態組合下的行為是否正確。
由於電源狀態組合可能多達數十種,加上每個狀態切換前後的時序關係,低功耗驗證的模擬場景數量往往非常龐大,是三個月時程中很容易被低估的一塊。
關卡四:混合訊號與類比協同模擬
許多 SoC 會整合類比電路,例如 PLL、ADC/DAC、高速 SerDes 等。這些類比電路與數位電路之間的介面,需要透過混合訊號模擬(mixed-signal simulation)來驗證。混合訊號模擬的速度通常比純數位模擬慢很多,因為它需要同時求解類比電路的連續方程式與數位電路的離散事件。
工程師往往需要簡化類比模型(例如用行為模型取代電晶體級模型)來加速模擬,但又必須確認簡化不會掩蓋真實問題,這中間的取捨與來回驗證,同樣需要時間。
關卡五:封裝與系統級模擬
晶片不是孤立存在的,它會被封裝、焊接到電路板上,與其他元件互動。因此 tape-out 前,工程師還會進行封裝模型模擬(例如 IBIS 模型)、訊號完整性分析、電源完整性分析,確認晶片在實際系統環境中仍能正常運作。這一關卡特別容易在「晶片本身沒問題,但上了板子就出事」的情況下發揮作用。
關卡六:簽核報告彙整與設計凍結
當所有模擬與分析都完成後,團隊需要彙整各項簽核報告,確認沒有遺漏任何紅燈項目,並召開設計審查會議,正式凍結設計。這個階段看似行政作業,但實際上是整個專案壓力最大的時刻——任何一個被忽略的小問題,都可能在最後關頭引爆,迫使團隊重新開啟模擬。
五、壓縮時程的代價:跳過模擬會發生什麼事?
讀到這裡,你可能會想:三個月聽起來很久,難道不能壓縮嗎?業界當然有團隊嘗試過「趕時程」,但歷史反覆證明,省下來的模擬時間,往往會以更高的代價在後頭討回來。
重投片(respin)的驚人成本
一顆先進製程晶片的光罩組(mask set)成本,隨著製程演進不斷攀升。以 7 奈米、5 奈米等級來看,一套光罩動輒數百萬到上千萬美元,加上晶圓投片、封裝、測試的費用,一次重投片的總成本可能高達數千萬美元。更別提時間成本——重投片意味著整個產品上市時程延後數個月,在消費性電子市場中,這可能直接導致市占率流失。
相對地,多花三個月做模擬,成本主要是人力與運算資源,與重投片相比簡直是九牛一毛。這就是為什麼業界普遍認為「模擬做得好,等於幫公司省錢」。
真實案例的啟示
半導體史上不乏因為驗證不足而導致災難性後果的案例。例如某些處理器因浮點運算單元的邊界條件錯誤,導致罕見但可重現的計算錯誤;也有晶片因時序收斂不完全,在高溫環境下出現間歇性當機。這些問題若能在 tape-out 前的模擬中被捕捉,往往只需修改幾行 RTL 就能解決;但若等到晶片量產後才發現,就得面對召回、賠償與商譽損失。
當然,模擬不可能百分之百保證沒有 bug——現實中不存在「零風險」的晶片。但三個月的模擬,能將風險從「不可接受」降到「可管理」,這正是工程收斂的意義。
六、給新手與專案管理者的實務建議
如果你剛踏入這個領域,或是負責管理 IC 設計專案,以下幾點實務觀察或許對你有幫助。
如何看懂驗證排程
驗證排程不是單純的甘特圖,而是一連串「不確定性」的管理。當你看到「模擬三個月」時,應該進一步問:這三個月包含幾輪迴歸?每一輪的通過標準是什麼?覆蓋率目標是多少?簽核項目有哪些?只有把這些細節問清楚,才能真正評估時程是否合理。
常見的時程陷阱
低估除錯時間:模擬執行時間可以用工具加速,但除錯時間很難壓縮。
建立正確的「收斂文化」
最後,也是最重要的一點:模擬的目的不是「跑完」,而是「收斂」。一個團隊如果只把模擬當成形式上的簽核程序,而不願意花時間分析每一個失敗案例,那麼再長的模擬期也不會帶來真正的品質。相反地,若團隊能建立「每個 bug 都要追根究柢、每個覆蓋率缺口都要補齊」的文化,三個月的模擬就能發揮最大價值。
七、結語:三個月,買的是「安心下線」的門票
回到最初的問題:為什麼 tape-out 前要跑三個月模擬?答案其實很樸素——因為晶片一旦下線,就幾乎沒有後悔藥。三個月的模擬,是設計團隊用時間、人力與運算資源,去換取對設計的信心;是在無數次「發現問題、修正、再驗證」的迴圈中,把一顆晶片從「大概可以」打磨成「可以放心交給晶圓廠」。
對外界而言,這段時間或許看起來冗長又神祕;但對半導體從業人員來說,這正是專業價值的體現。下一次當你看到「tape-out」這個詞,不妨想想背後那三個月的模擬歲月——那是一場與不確定性搏鬥的安靜戰役,也是每一顆成功晶片背後,最不被看見、卻最關鍵的收斂之路。
希望這篇文章能幫助你更理解晶片設計的驗證流程。如果你對 IC 設計、EDA 工具或半導體製程有更多興趣,歡迎持續關注雅寶社區 · 頂客論壇的 3C 科技教學專區,我們會持續帶來更多深入淺出的技術解析。