電子設計自動化

電子設計自動化（Electronic design automation，縮寫：EDA）是指利用計算機輔助設計（CAD）軟體，來完成超大規模積體電路（VLSI）晶片的功能設計、綜合、驗證、物理設計（包括佈局、佈線、版圖、設計規則檢查等）等流程的設計方式。

歷史與發展

在電子設計自動化出現之前，設計人員必須手工完成積體電路的設計、佈線等工作，這是因為當時所謂積體電路的複雜程度遠不及現在。工業界開始使用幾何學方法來製造用於電路光繪（photoplotter）的膠帶。

到了 1970 年代中期，開發人員嘗試將整個設計過程自動化，而不僅僅滿足於自動完成掩膜草圖。第一個電路佈局、佈線工具研發成功。設計自動化研討會（Design Automation Conference）在這一時期被創立，旨在促進電子設計自動化的發展。

電子設計自動化發展的下一個重要階段以卡弗爾・米德（Carver Mead）和琳・康維於 1980 年發表的論文《超大規模積體電路系統導論》（Introduction to VLSI Systems）為標誌。這一篇具有重大意義的論文提出了透過程式語言來進行晶片設計的新思想。如果這一想法得到實現，晶片設計的複雜程度可以得到顯著提升。這主要得益於用來進行積體電路邏輯模擬、功能驗證的工具的效能得到相當的改善。隨著計算機模擬技術的發展，設計專案可以在構建實際硬體電路之前進行模擬，晶片佈局、佈線對人工設計的要求降低，而且軟體錯誤率不斷降低。直至今日，儘管所用的語言和工具仍然不斷在發展，但是透過程式語言來設計、驗證電路預期行為，利用工具軟體綜合得到低抽象級（或稱 “後端”）物理設計的這種途徑，仍然是數字積體電路設計的基礎。

從 1981 年開始，電子設計自動化逐漸開始商業化。1984 年的設計自動化會議（Design Automation Conference）上還舉辦了第一個以電子設計自動化為主題的銷售展覽。Gateway 設計自動化在 1986 年推出了一種硬體描述語言 Verilog，這種語言在現在是最流行的高階抽象設計語言。1987 年，在美國國防部的資助下，另一種硬體描述語言 VHDL 被創造出來。現代的電子設計自動化設計工具可以識別、讀取不同型別的硬體描述。根據這些語言規範產生的各種模擬系統迅速被推出，使得設計人員可對設計的晶片進行直接模擬。後來，技術的發展更側重於邏輯綜合。

進入 21 世紀之後，一方面，三家大 EDA 公司（Synopsys、Cadence、Mentor）透過多次併購整合，完善設計全流程，奠定了三巨頭競爭格局。另一方面，EDA 公司開始深入製造領域，發展出了 OPC 等製造 EDA 的工具以及可製造性設計（DFM）工具。同時，晶圓廠成為了 EDA 的深度使用者，不僅在製造方面需要使用 EDA 工具，在標準單元庫、SRAM 設計上都需要使用。此外，領先晶圓廠每兩年開發一代工藝，其中 EDA 的整套設計流程需要在新工藝上驗證。EDA 也開始在早期工藝研發中介入，幫助解決更復雜的設計規則以及種種難題。晶圓廠提供的 Signoff 籤核流程決定了設計公司設計出的晶片能否在晶圓製造廠順利生產。而 Signoff 籤核的主要工具就是 EDA，可以說 EDA 是架起了設計與製造溝通的橋樑。同時，先進工藝不斷迭代也驅動了 EDA 的創新。可見，此時此刻 EDA 在產業鏈已經有著舉足輕重的作用。

目前的數字積體電路的設計都比較模組化（參見積體電路設計、設計收斂（Design closure）和設計流（Design flow (EDA)）。半導體器件製造工藝需要標準化的設計描述，高抽象級的描述將被編譯為資訊單元（cell）的形式。設計人員在進行邏輯設計時尚無需考慮資訊單元的具體硬體工藝。利用特定的積體電路製造工藝來實現硬體電路，資訊單元就會實施預定義的邏輯或其他電子功能。半導體硬體廠商大多會為它們製造的元件提供 “元件庫”，並提供相應的標準化模擬模型。相比數字的電子設計自動化工具，模擬系統的電子設計自動化工具大多並非模組化的，這是因為類比電路的功能更加複雜，而且不同部分的相互影響較強，而且作用規律複雜，電子元件大多沒有那麼理想。Verilog AMS 就是一種用於類比電子設計的硬體描述語言。此外，設計人員可以使用硬體驗證語言來完成專案的驗證工作目前最新的發展趨勢是將集描述語言、驗證語言整合為一體，典型的例子有 SystemVerilog。

隨著積體電路規模的擴大、半導體技術的發展，EDA 的重要性急劇增加。這些工具的使用者包括半導體器件製造中心的硬體技術人員，他們的工作是操作半導體器件製造裝置並管理整個工作車間。一些以設計為主要業務的公司，也會使用電子設計自動化軟體來評估製造部門是否能夠適應新的設計任務。電子設計自動化工具還被用來將設計的功能匯入到類似現場可程式設計邏輯閘陣列的半定製可程式邏輯裝置，或者生產全定製的特殊應用積體電路。

現況

現今數位電路非常模組化（參見積體電路設計、設計收斂、），產線最前端將設計流程標準化，把設計流程區分為許多「細胞」（cells），而暫不考慮技術，接著細胞則以特定的積體電路技術實現邏輯或其他電子功能。製造商通常會提供元件庫（libraries of components），以及符合標準模擬工具的模擬模型給生產流程。類比 EDA 工具較不模組化，因為它需要更多的功能，零件間需要更多的互動，而零件一般說較不理想。

在電子產業中，由於半導體產業的規模日益擴大，EDA 扮演越來越重要的角色。使用這項技術的廠商多是從事半導體器件製造的製造商，以及使用 EDA 模擬軟體以評估生產情況的設計服務公司。EDA 工具也應用在現場可程式設計邏輯閘陣列的程式設計上。

如今的積體電路，從系統架構開始，落實到功能的定義和實現，最終實現整個晶片的版圖設計與驗證，是一項複雜的系統工程，集成了人類智慧的最高成果。以華為 2020 年最新的 7nm 麒麟 990 晶片來說，其中集成了 103 億顆電晶體，若沒有 EDA 輔助，設計這樣複雜的電路並保證良率是無法想象的。可見 EDA 這套工具，賦能了積體電路設計與製造的創新，當之無愧的站在了產業鏈的頂端。

未來發展趨勢

目前，EDA 在國際市場上已經發展成為了相對成熟的產業，而每年增長率只有 10% 左右。但有業內人士分析認為，這並不代表日後發展的機會在變小，在未來 EDA 的發展趨勢可能有：

AI 賦能
EDA 上雲
異構整合

另一方面，由於美國對華科技禁令的影響，中國將逐漸放棄自美國引進全套 EDA 服務，加上開發方向的轉變，產業發展轉而投向中國自研 EDA 的高成長市場，為了保住中國的利潤，美國幾大 EDA 公司甚至展開了競爭，為此大舉投資中國 EDA 新勢力並設立各自的合作據點。科技產業的變化，也帶動起步中的中國 EDA 品牌的往新的大方向前進，並隨著技術落實而逐漸獲利後，EDA 為美國壟斷的格局將會出現變化。

重點軟體分類

4.1 設計

高階綜合 (或行為綜合、演算法綜合)—— 高階設計描述 (例如在 C/C++ 中) 轉換為 RTL。
邏輯綜合 - 將 RTL 設計描述 (例如用 Verilog 或 VHDL 編寫) 轉換為邏輯閘的離散 netlist。
原理圖捕獲 - 用於標準單元數字，模擬，rf 類捕獲 CIS 在 Orcad 由 Cadence 和 ISIS 在 Proteus
佈局 —— 通常是由模式驅動的佈局，比如在 Orcad 中的 Cadence 佈局，在 Proteus 中的 ARES 佈局

4.2 模擬

電晶體模擬 —— 對原理圖 / 佈局行為的低層電晶體模擬，精確到器件級別。
邏輯模擬 —— 對 RTL 或門網表的數字行為進行數字模擬，精確到布林級別。
行為模擬 —— 對設計的架構操作進行高層模擬，精確到週期級別或介面級別。
硬體模擬 —— 使用特殊目的硬體模擬擬議設計的邏輯，有時可以插入到系統中替代尚未構建的晶片；這被稱為電路模擬。
技術 CAD 模擬和分析基礎過程技術。器件的電氣特性直接從器件物理推導。

4.3 分析及驗證

功能驗證：確保邏輯設計與規格相符，並正確執行任務。包括透過模擬、模擬和原型的動態功能驗證。
RTL Linting：檢查程式碼是否遵循語法、語義和樣式等編碼規則。
時鐘域交叉驗證（CDC 檢查）：類似於 Linting，但這些檢查 / 工具專門用於檢測和報告由於使用多個時鐘域而可能出現的資料丟失、元穩定性等問題。
形式驗證，也稱為模型檢查：嘗試透過數學方法證明系統具有某些期望的屬性，並且某些不希望發生的效果（如死鎖）不會發生。
等效性檢查：對晶片的 RTL 描述和綜合後的門網表進行演算法比較，以確保邏輯層面的功能等效。
靜態時序分析：以輸入無關的方式分析電路的時序，從而找到所有可能輸入的最壞情況。
佈局提取：從擬議的佈局開始，計算每條導線和器件的（近似）電氣特性。通常與上述靜態時序分析一起使用，以估算完成晶片的效能。
電磁場求解器，或稱場求解器，直接求解麥克斯韋方程，適用於積體電路和 PCB 設計中的特定問題。它們以精確度較高、但速度較慢而聞名。
物理驗證，PV：檢查設計是否可以物理製造，生成的晶片是否不存在任何阻止功能的物理缺陷，並且能滿足原始規格。

4.4 製造製備

掩模資料準備或 MDP—— 生成實際的光刻掩模，用於物理製造晶片。
晶片修整，包括定製設計標記和結構，以提高佈局的可製造性。後者的例子包括密封環和填充結構。
生成帶有測試圖案和對準標記的掩模佈局。
佈局到掩模準備：透過圖形操作增強佈局資料，如解析度增強技術（RET）—— 提高最終光刻掩模的質量的方法。還包括光學鄰近效應修正（OPC）或逆光刻技術（ILT）—— 在晶片製造時補償衍射和干涉效應。
掩模生成 —— 從分層設計生成平面掩模影像。
自動測試圖案生成或 ATPG—— 系統地生成模式資料，以儘可能多地測試邏輯閘和其他元件。
自測試或 BIST—— 安裝自包含的測試控制器，自動測試設計中的邏輯或儲存器結構。
功能安全
功能安全分析，系統地計算設計中的失效率（FIT）和診斷覆蓋度指標，以滿足所需的安全完整性級別的合規性要求。
功能安全綜合，透過在結構化元素（模組、RAM、ROM、暫存器檔案、FIFO）中增加可靠性增強來改善故障檢測 / 容錯能力。這包括（但不限於）新增錯誤檢測和 / 或糾正程式碼（漢明碼）、冗餘邏輯用於故障檢測和容錯（雙重 / 三重）以及協議檢查（介面奇偶校驗、地址對齊、節拍計數）。
功能安全驗證，執行故障試驗，包括向設計中插入故障並驗證安全機制對已覆蓋的故障作出適當反應。