ASIC Design Flow 完整指南
ASIC design 需經歷從初始 spec 到最終 GDSII 的多階段流程。本指南詳述 ASIC design flow 各階段的工程重點。
01了解 ASIC 設計流程
ASIC 設計流程是將產品規格轉化為可製造 IC 的系統化過程。現代 ASIC 設計流程高度自動化,但需要在每個階段具備深厚的專業知識才能確保首次 tapeout 成功。
- 前端設計
- 前端包括規格、架構、RTL 設計和功能驗證。這個階段定義 IC 做什麼,並在綜合之前透過模擬驗證設計。
- Backend Implementation
- 後端將驗證過的 RTL 轉換為物理版圖。包括綜合、佈局、佈線、時鐘樹綜合和物理驗證,最終輸出 GDSII。
- 設計驗證
- 驗證貫穿整個流程:功能模擬、形式驗證、時序分析、功耗分析和物理驗證。大多數 ASIC 專案將 60-70% 的工作量用於驗證。
02規格與架構
ASIC 設計的基礎從清晰的規格和可靠的架構開始。這裡的決策影響後續的每一步。
- 01需求定義定義功能需求、效能目標(頻率、吞吐量)、功耗預算、面積約束和介面規格。記錄用例和測試場景。
- 02架構開發建立 IC 架構:框圖、資料流、流水線級數、記憶體層次結構和匯流排架構。在效能、功耗和面積 (PPA) 之間做關鍵權衡。
- 03製程選擇根據效能需求、功耗要求和成本約束選擇製程節點和 foundry。取得 PDK 並開始探索設計權衡。
- 04專案規劃建立詳細的專案時間表,包括 RTL 凍結、綜合、tapeout 里程碑。確定設計還是購買 IP 模組。定義驗證策略和覆蓋率目標。
03前端設計流程
前端設計建立並驗證功能設計。ASIC 設計工程師在這裡花費大量時間,確保在投入 silicon 之前設計是正確的。
- •RTL 設計
編寫描述電路行為的可綜合 Verilog 或 SystemVerilog。遵循綜合編碼指南,建立可複用模組,並實現適當的跨時鐘域處理。
- •功能驗證
使用約束隨機激勵構建 UVM 測試平台環境。建立功能覆蓋率模型。運行回歸套件,目標 >95% 覆蓋率。使用斷言進行屬性檢查。
- •形式驗證
應用形式方法數學證明關鍵屬性。使用等價性檢查比較 RTL 版本。驗證匯流排介面的協議合規性和無死鎖。
- •邏輯綜合
使用標準單元將 RTL 轉換為閘級網表。針對時序、面積和功耗進行優化。設置時序約束 (SDC)。迭代以實現時序收斂。插入掃描鏈用於 DFT。
- •DFT 插入
添加可測試性設計結構:用於固定故障測試的掃描鏈,用於記憶體測試的 BIST,用於板級測試的 JTAG 邊界掃描。規劃生產測試時間和覆蓋率。
- •閘級模擬
在綜合網表上重新運行關鍵測試場景以捕獲綜合問題。使用反標延遲驗證時序。檢查 X 傳播問題和時鐘域問題。
04後端(物理)設計
物理設計將閘級網表轉換為可製造的幾何圖形。這個階段需要深入了解製程技術和 EDA 工具。
- 01版圖規劃定義 die 尺寸,放置主要模組,分配 I/O pad 位置,規劃電源網格拓撲,建立模組邊界的時序預算。對實現時序收斂至關重要。
- 02電源規劃設計電源分配網路:電源環、電源條和電源軌。分析 IR drop 和電遷移。為多電壓設計實現電源域。放置去耦電容。
- 03佈局在版圖規劃內放置標準單元。針對時序、可佈線性和擁塞進行優化。使用佈局阻擋保留佈線資源。執行時序驅動佈局。
- 04時鐘樹綜合構建平衡的時鐘分配網路。最小化所有暫存器之間的時鐘偏斜。插入時鐘閘控單元以降低功耗。處理多時鐘域和生成時鐘。
- 05佈線按照設計規則連接所有訊號。先佈關鍵時序路徑。修復 DRC 違規和佈線擁塞。添加冗餘通孔以提高可靠性。遮罩敏感訊號。
- 06寄生參數提取提取所有導線的電阻和電容。生成用於時序分析的 SPEF 檔案。建模耦合電容用於訊號完整性分析。實現精確的延遲計算。
05簽收與 Tapeout
簽收驗證設計是否準備好製造。這個最後階段在提交昂貴的光罩製造之前捕獲任何剩餘問題。
- •靜態時序分析 (STA)
驗證所有製程角(快速、慢速、典型)和工作條件下的時序。檢查所有路徑的建立和保持時間。簽收多模式多角 (MMMC) 分析。
- •物理驗證
運行 DRC(設計規則檢查)驗證可製造性。運行 LVS(版圖與原理圖)驗證版圖與網表匹配。檢查天線規則、密度規則和阱鄰近度。
- •功耗分析
驗證功耗是否滿足規格。檢查開關條件下的 IR drop。分析電遷移以確保可靠性。簽收電源完整性。
- •訊號完整性
分析串擾引起的延遲變化。檢查雜訊引起的功能故障。驗證訊號轉換是否滿足壓擺要求。為混合訊號建模基板耦合。
- •GDSII 生成
將所有設計層合併到最終 GDSII 資料庫。包含滿足密度要求的填充圖案。添加框架和對準標記。對合併後的資料庫進行最終驗證。
- •Tapeout 檢查清單
完成 foundry 檢查清單:LVS/DRC 乾淨、天線乾淨、滿足密度規則、驗證 I/O ESD 規則、添加金屬填充。將 GDSII 和配套文件交付 foundry。
06ASIC 設計流程常見問題
關於 ASIC 設計過程和流程方法論的常見問題。
- 什麼是 ASIC 設計流程?
- ASIC 設計流程是將產品規格轉化為可製造 IC 的系統化過程。包括規格/架構、RTL 設計、驗證、綜合、物理實現(佈局佈線)和簽收,最終輸出 GDSII tapeout。該流程高度迭代,有多個優化循環。
- 設計一個 ASIC 需要多長時間?
- ASIC 設計週期因複雜度而異:簡單設計(<50 萬閘):6-12 個月。中等複雜度(50 萬-500 萬閘):12-18 個月。複雜 SoC(>500 萬閘):18-36 個月。這些包括從規格到 tapeout 的時間。製造和封裝另需 3-4 個月。有經驗的團隊利用 IP 複用可以加速進度。
- ASIC 設計工程師需要哪些技能?
- ASIC 設計工程師需要:(1) HDL 熟練度(Verilog/SystemVerilog),(2) 理解數位邏輯和時序,(3) 驗證方法學(UVM),(4) EDA 工具專業知識(綜合、佈局佈線工具),(5) 了解 semiconductor 物理,(6) 理解目標應用領域。專業方向包括 RTL 設計、驗證、物理設計和 DFT。
- ASIC 設計中的 RTL 是什麼?
- RTL(暫存器傳輸級)是描述數位電路的抽象級別,將其描述為透過組合邏輯在暫存器之間的資料傳輸。RTL 程式碼(Verilog/SystemVerilog)描述硬體在功能上做什麼。綜合工具將 RTL 轉換為閘級網表。RTL 是 ASIC 實現的起點。
- 綜合和佈局佈線有什麼區別?
- 綜合使用 foundry 庫中的標準單元將 RTL 程式碼轉換為閘級網表,針對時序、面積和功耗進行優化。佈局佈線 (P&R) 將綜合後的網表建立為物理版圖:在 die 上放置單元並用金屬導線連接它們。綜合是邏輯的;P&R 是物理的。
- 為什麼驗證在 ASIC 設計中如此重要?
- 驗證消耗 ASIC 開發 60-70% 的工作量,因為 silicon 錯誤修復代價極高——重新 tapeout 需要數百萬美元和數月延遲。與軟體不同,你無法給 silicon 打補丁。透過模擬、形式方法和模擬加速進行徹底驗證對於在 tapeout 前發現錯誤至關重要。
- ASIC 設計流程使用哪些工具?
- 關鍵 EDA 工具:Synopsys(Design Compiler 用於綜合,IC Compiler 用於佈局佈線,VCS 用於模擬,PrimeTime 用於時序),Cadence(Genus 綜合,Innovus 佈局佈線,Xcelium 模擬),Siemens(Calibre 用於物理驗證)。大多數流程使用多家供應商的工具。工具許可是重要成本。
- 什麼是 tapeout?
- Tapeout 是將最終 GDSII 設計資料庫交付給 foundry 製造的里程碑。這個術語源於設計曾經真的被「錄製」到物理磁帶上。Tapeout 代表不可逆轉點——tapeout 後的更改需要昂貴的光罩重做。Tapeout 前仔細簽收至關重要。
開始您的 ASIC 設計之旅
如果您正在規劃 tapeout,並面臨類似的設計或時程限制,我們可以協助檢視 design scope,並將 backend execution 與 tapeout 時程對齊。
References
- [1]Synopsys Design FlowSynopsys Inc.
- [2]Cadence Digital Design MethodologyCadence Design Systems
- [3]Siemens EDA IC DesignSiemens Digital Industries Software
- [4]IEEE Standard for Design and VerificationIEEE Standards Association
