在電子設計自動化(EDA)領域中,合成是指將高階硬體描述自動轉換為可實際在半導體晶片上製造的低階表示形式的過程。最常見的情況下,合成是指將以 Verilog 或 VHDL 等硬體描述語言編寫的寄存器傳輸層(RTL)程式碼,轉換為閘極層網表。此網表指定了將在矽片上實際製造的邏輯閘及連接方式。
此流程是數位積體電路 (IC) 設計的基礎。綜合設計在設計師所創建的抽象、可供人閱讀的邏輯,與製造工具所需的具體、詳細硬體之間架起了一座橋樑。這是確保在從概念轉化為實體裝置的過程中,預期的功能、效能及其他設計目標得以維持的關鍵步驟。
綜合不僅能將程式碼轉換為電路,還會針對功耗、效能(速度)及矽片面積等關鍵指標,對生成的電路進行優化。隨著製程節點不斷微縮、設計日益複雜,綜合在確保晶片具備高效能、高可靠性及可製造性方面,扮演著愈來愈重要的角色。
合成始於 RTL 程式碼,該程式碼透過寄存器、運算及資料流來描述數位電路的行为。合成過程包含幾個關鍵步驟:
合成工具還會針對設計是否符合指定目標提供回饋。例如,它們可以評估電路是否能以預期的時脈速度運作,或是是否符合特定的面積預算。透過這些回饋,設計人員得以在設計流程的早期階段,針對 RTL 程式碼或約束條件進行優化。
| 步驟 | 說明 |
| 解析與闡述 | 讀取 RTL 碼、檢查錯誤,並建立設計的內部模型。 |
| 技術地圖 | 將 RTL 轉換為由標準邏輯閘和觸發器組成的網路。 |
| 優化 | 針對面積、功耗及效能(例如:重新定時、資源共享)優化網表。 |
| 約束處理 | 應用設計限制條件,例如時序、面積及功耗要求。 |
| 輸出生成 | 產生用於佈局、佈線及實體設計 的閘極層網表。 |
在先進的半導體製程節點中,變異性、漏電及時序收斂等效應會變得更加顯著。綜合設計必須考量這些物理層面的實際情況,這通常需要與實體設計 工具更緊密地整合,並採用更精密的建模方法。這有助於確保設計具備可製造性,並能滿足效能與功耗目標,即使設計複雜度不斷增加亦然。
合成與驗證及測試密切相關。在合成過程中,可插入測試結構,以確保製造出的晶片能有效進行缺陷測試。合成工具亦與形式驗證工具協同運作,後者會檢查閘極層網表是否在功能上等同於原始的 RTL 程式碼,有助於在製造前偵測錯誤。
RTL 合成特指將寄存器傳輸層代碼轉換為閘極層網表,而邏輯合成則是一個更廣泛的術語,可涵蓋各抽象層級的優化與轉換。在實際應用中,這兩個術語在數位積體電路設計的語境下常被互換使用。
| 層面 | RTL 合成 | 邏輯合成 |
| 輸入電平 | 寄存器傳輸層 (RTL) 程式碼 | 可包含各種抽象層級 |
| 輸出 | 閘極層網表 | 跨抽象層的優化網表 |
| 範圍 | 更聚焦於 RTL 至閘極轉換 | 範圍更廣,包含轉換與優化 |
| 用法 | 常用於數位積體電路設計 | 常與 RTL 合成互換使用 |
雖然合成工具能夠偵測到許多錯誤,例如未連接的訊號或層級結構不一致,但它們無法取代全面的功能驗證 。然而,合成工具確實會標示出可能導致無法量產或影響實作的問題,而等效性檢查 工具則能確保合成後的設計符合設計者的意圖。
現代合成技術正迅速演進。機器學習正被用於預測設計變更的影響,並提升優化效果。基於雲端的合成技術使大規模設計的週轉時間更短。將合成與佈局佈線整合的統一流程,有助於應對先進晶片日益增加的複雜性與整合需求。
綜合設計為半導體設計流程帶來了一系列重要優勢:
| 效益 | 說明 |
| 自動化 | 可自動將高階 RTL 轉換為硬體。 |
| 優化 | 透過演算法來提升功耗、效能及面積效率。 |
| 可擴展性 | 可處理從小型控制器到大型系統單晶片(SoC)的各種設計。 |
| 可預測性 | 針對時序、面積和功耗提供早期回饋。 |
| 整合 | 可與驗證、測試及實體設計 工具配合使用。 |
| 一致性 | 從 RTL 到矽片,皆能保留設計意圖。 |
合成過程直接影響晶片能否有效達成其效能與功耗目標。透過優化邏輯並將其高效映射至技術庫,合成工具可協助實現嚴苛的時序目標並將能耗降至最低,這對於電池供電及高效能應用而言尤為重要。
新思科技 是電子設計自動化領域的全球領導者,為 FPGA 以及 ASIC 設計 流程的綜合解決方案。
所有 新思科技 合成工具均支援業界標準的硬體描述語言,例如 Verilog、SystemVerilog 及 VHDL。透過採用這些解決方案,工程團隊可加速收斂速度、及早掌握設計品質,並在FPGA 及ASIC 設計 兩大領域中取得具競爭力的成果。
| 流程 | 新思科技 產品 | 目的 |
| FPGA | Synplify® | 適用於可程式邏輯設計的高品質合成。 |
| ASIC | Design Compiler® | 符合業界標準的 RTL 合成,針對 PPA(功耗、效能、佔板面積)進行了優化。 |
| ASIC | Fusion Compiler™ | 整合合成、佈置與佈線功能的統一 RTL 至 GDSII 流程。 |