1. 程式人生 > 資訊 >晶片設計 EDA 2.0 時代,三大路徑搞定六大挑戰

晶片設計 EDA 2.0 時代,三大路徑搞定六大挑戰

EDA 是 Electronic Design Automation 的縮寫,幾十年來成為晶片設計模組、工具、流程的代稱。從模擬、綜合到版圖,從前端到後端,從模擬到數字再到混合設計,以及工藝製造等,EDA 工具涵蓋了晶片設計、佈線、驗證和模擬等所有方面。

晶片的製造十分受制於 EDA 工具和設計流程,EDA 的發展速度近十多年來越來越跟不上晶片設計規模和需求的快速增長。如何基於新的技術和平臺,參考其它軟體行業的發展過程,推動 EDA 工具和設計流程進入新的時代是當今晶片製造中一個容易被忽視的關鍵環節。

在 2021 世界半導體大會暨南京國際半導體博覽會的第二天,國產 EDA 智慧軟體和系統創企芯華章針對晶片設計難、人才少、設計週期長、設計成本高企的問題,釋出了《EDA 2.0 白皮書》。芯華章科技董事長兼 CEO 王禮賓相信,智慧化的 EDA 2.0 時代,會使設計晶片像開發程式那樣簡單,製造晶片像搭積木那樣靈活。

本期內參來源:芯華章

原標題:

《EDA2.0 白皮書》

作者:未註明

EDA 發展史與挑戰

1、EDA 發展史

晶片設計工具了計算機輔助設計 (Computer-Aided Design, CAD)、計算機輔助工 (Computer-Aided Engineering, CAE) 和 EDA (Electronic Design Automation) 三個階段。

早期積體電路設計是純手動描繪版圖,第一個突破是 1970 年代 CAD/CAE 的誕生,也就是我們說的計算機輔助設計。基於計算機的電子設計工具出現,相對於手工設計方法而言是一個更大的改進,但工程師們仍然花費了不必要的時間在連線晶片時使用大量節點。之後電晶體叢集被抽象為門級電路,提升了設計的抽象層次,但是設計仍然要在電壓和電容級別去分析。

第二個突破發生於 1990 年代,EDA 技術的誕生讓工程師可以用硬體描述語言描述設計,可以通過模擬在流片前提前驗證,並且在提高設計效率的同時,大大減少晶片製造環節的風險。之後基於 IP 模組的設計也逐漸成為 EDA 產業的一部分,IP 廠商通過提供成熟的 IP 複用,與 EDA 工具一起支援客戶的複雜晶片設計。這個過程中硬體晶片設計的抽象層級不斷提高。

▲晶片描述抽象層級的提高

進入 21 世紀,微電子技術取得了突飛猛進的發展,以 HDL 語言描述、系統級模擬和綜合技術為特點、以自動化設計為目標的 EDA 工具逐漸出現,並發展為今天這樣面向專用積體電路 (ASIC) 的設計流程。

目前我們正在使用的 EDA 設計製造流程都是基於 2000 年左右開始形成的基礎,可以稱之為“EDA1.0”。之後 20 多年 EDA 的發展,都是在 1.0 上逐漸增加各種內容,比如基於 FPGA 的驗證、低功耗設計、工藝改進帶來的各種可靠性驗證、遠端伺服器執行 EDA 工具、基於 IP 元件的設計複用,等等。

這些疊加式的改進基於 EDA1.0,不斷提升 EDA 設計的效率,但是從抽象層級、設計方法學角度看,沒有出現很大的改變,可以認為一直到今天我們都還處於“EDA1.x" 的發展過程中。

▲數字積體電路設計流程

2、新時代 EDA 新要求

EDA 1.x 的發展在過去 30 年間,一直都支撐著晶片設計從幾千顆電晶體到現在百億級電晶體的整合度,但近年來隨著製造工藝、面積功耗、介面引腳數量等限制條件逐漸逼向極限,通用處理器的綜合性能提高越來越緩慢,而 AI、雲伺服器、智慧汽車、5G、工業智慧控制等不同應用領域對半導體晶片的效能要求越來越高,功耗、成本的要求越來越分化,晶片設計、驗證的成本也隨之急速上升,設計製造週期也難以壓縮。

▲晶片設計規模與設計成本的快速上升

以谷歌公司為例,作為一家軟體、演算法、系統和雲平臺廠商,我們看到它近年來在 TPU、編解碼等自主設計的晶片,甚至 AI 對 EDA 設計的輔助上都有很大投入。下一步谷歌還會將自己這些創新整合到自研處理器晶片,形成“谷歌硬體平臺”。類似的,Nvidia 公司在 2019 年收購的 Mellanox,其長遠目標也 是將 Mellanox 公司所創新的 SmartNIC 功能模組整合進自己的新一代 SoC 處理器。同樣,亞馬遜、微軟、華為、阿里巴巴等雲廠商,也都已經或佈局了自己的 SoC 晶片產品和研發團隊。

未來的系統產品創新和競爭都會緊密圍繞定製晶片展開,在一顆晶片或封裝內的完整系統才有最優化的效能和功耗,再加上與軟體系統的緊密配合,會給系統產品廠商帶來最大的競爭優勢,這裡另一個典型的例子就是晶片、硬體系統、作業系統直到應用系統全面開花的蘋果公司。

但是,定製化晶片的門檻一直不低,因為過去幾十年裡定製晶片的成本高和使用量小,其次是定製晶片的效能收益比不上通用晶片從工藝和架構改進中可獲取的效能提升。但是這幾個因素都在發生變化:

首先隨著工藝發展和芯片面積功耗的限制,通用處理器無論是單核還是多核,效能進步在逐漸放慢,過去 40 年主宰晶片行業發展的摩爾定律逐漸失效。這使得業界對定製晶片的效能和成本要求逐漸放寬,好比更貴的石油會推動新能源的發展是同樣的道理。

其次,晶片製造工藝的改進和規模化,已經給大部分應用帶來了足夠的效能,大多數情況下定製晶片的目的已經不是更高的效能,而是追求在功耗、功能、資料介面、安全性、整合度等方面的差異化,而且終端產品公司的創新是基於軟硬體協同的系統級優化,這種系統級創新帶來的優化要遠大於繼續深度優化晶片設計本身的潛力,所以創新型晶片的關鍵在於低成本的快速設計和快速部署到產品應用內。

最後,傳統的一類“可定製晶片”即 FPGA, 能否承擔應用廠商的創新需求?在小規模小範圍內有可能,但是如前面提到的定製需求主要面向功耗、整合度、介面、軟體定義硬體等情況下,FPGA 所擅長的“資料處理的硬體邏輯定製”則不能承擔全部的要求,因此 eFPGA 這類 IP 的出現,FPGA 發展成為定製 SOC 晶片的一個子模組。

因此,後摩爾定律時代,創新的定製化 SOC 晶片代表了整個晶片行業的未來模式:從應用系統廠商的需求誕生出創新的功能晶片,然後功能晶片被定製 SoC 處理器吸收進去,甚至新創新功能被直接整合進 SoC 處理器,這個過程將會一再重複而且週期越來越快。

與過去已經習慣看到嵌入式系統領域有大量的定製 SoC— 樣,桌面電腦、雲端計算和伺服器領域同樣會誕生更多的定製化晶片。而且與過去晶片廠商主導著通用晶片發展的步伐不一樣的是,定製晶片的發展將主要由應用系統廠商直接主導。

綜所以,定製晶片要求晶片設計週期和設計成本在目前的基礎上大幅優化,對從設計驗證到製造的半導體產業筮提出了更高的要求,作為產業鏈最上游的 EDA 廠商也更加任重而道遠。因此,現有 EDA 1.x 面臨越來越多的挑戰。

3、EDA1.X 面臨的挑戰

總體來說,1.x 時代,EDA 主要面臨六大挑戰:

1)應用需求分化。晶片應用場景更加細分,關注的是不同領域的應用挑戰。從細分的應用需求到基於 EDA1.X 流程的定製晶片設計成功,是一個長週期且難以充分驗證的流程,不能滿足系統廠商所習慣的快速創新和迭代的要求。

2)驗證工作複雜。複雜的系統晶片設計驗證工作越來越困難,驗證的工作量往往需要獨立團隊耗費數個月才能完成,據業界統計,晶片製造過程中 70% 的時間成本都會消耗在驗證上。驗證的覆蓋率部分依賴於工程師的經驗,即使經過反覆驗證迭代,也有一定的風險。

3)IP 複用價值沒有完全發揮。即使是基於商用 IP 元件,SoC 設計過程中的子系統設計驗證、系統整合 軟硬體驗證、效能和功耗驗證、以及後端實現和確認,這些工作量仍然很大,IP 的選擇和配置對 SoC 設計的影響無法在前期確認,IP 模組支援 快速 SoC 設計的複用價值被削弱。

4)人才不足。EDA 是一個跨學科的複合型領域,因此人才的培養需要更多的時間和資源。而且 EDA 流程和工具的學習曲線陡峭,進一步提高了工程師的成本。因此,目前 EDA 人才的需求難以快速滿足。

5)開放性不足。語言、介面和資料的標準化或者開放還不夠,很多環節缺少開放的功能和資料介面,不同工具之間往往無法直接互連,中間資料也經常是工具私有的,這些問題導致 EDA 工具碎片化嚴重,影響了 EDA 流程自動化和智慧化的發展。

6)歷史包袱影響。EDA 1.x 的工具是在二十多年的時間裡漸進式發展起來的,這決定了 它還揹負了過程中的相容性要求、歷史程式碼、遺留架構等很多歷史包袱,因此迭代發展的速度很難跟上現在幾十倍增長的大型設計,同時原有軟體架構難以充分利用好目前發展迅速的網際網路雲平臺、異構化的硬體裝置。

目前的 EDA 漸進式疊加發展的同時也揹負了很多歷史包袱,它成功支援了積體電路產業發展到今天,但是在應用需求逐漸細化、工藝迭代紅利也越來越小的今天,EDA1.X 方法學和流程對設計效益的提升已經很難跟上晶片設計發展對效率的需求,未來 10 年將是社會對 EDA 和積體電路產業提出更快發展要求的 10 年。

EDA 工具和方法學需要更全面的快速發展,才能進一步提升設計和驗證效率,降低技術門檻的和縮短專案週期。

三大關鍵路徑,EDA 即將進入 2.0 時代

報告將 EDA2.0 定義為:“於開放的工具和行業生態,實現自動化和智慧化的晶片設計及驗證流程,並提供專業的軟硬體平臺和靈活的服務,以支援任何有新型晶片應用需求的客戶快速設計、製造和部署自己的晶片產品”。EDA2.0 是後摩爾定律時代晶片設計發展的未來方向,實現 EDA2.0 也不是一個 0 和 1 的狀態變化,而是基於目前的 EDA1.X 不斷採用創新改進滿足快速發展的晶片行業需求,是 EDA 行業長期發展的目標。

EDA2.0 的未來包括晶片設計全行業、全流程、全工具的多方面改進,需要全行業的共同努力。本文的目標是嘗試拋磚引玉,總結能幫助實現 EDA2.0 的一些關鍵路徑,具體可以包括三個方面:

1、開放標準化

在 Accellera、IEEE、RISC-V 等全球標準化組織、EDA 或 IP 廠商、學術界、以及開源社群等推動下,EDA 領域已經有了很多統一標準、開源專案、開放介面定義。但是整體來看,很多標準沒有得到工具廠商的統一支援,各工具的私有介面和資料經常無法互通等問題,導致 EDA1.X 的流程比較封閉和碎片化,結果就是設計自動化和定製化很困難,第三方工具和演算法模型也很難擴充套件。

EDA2.0 的晶片設計流程,需要在 EDA1.x 基礎上,進一步增強各環節的開放程度:

工具軟體介面 (API) 更開放:EDA2.0 工具,需要開放更多的軟體 API 介面。比如提供內部計算的鉤子函式呼叫 (hook) API 介面,可以讓客戶定製自己的外掛功能,增加前處理或中間處 理步驟;還可以提供軟體功能呼叫的 API 介面,不同的工具通過 API 呼叫可以形成執行時 (runtime) 的自動化,使用者能夠自己去整合多個來源的工具。

資料格式開放或資料訪問介面開放:通過開放和標準的資料格式或資料訪問介面連通 EDA2.0 流程和生態。使用者或第三方的定製化工具、智慧演算法模型可以繞過 EDA 工具直接訪問資料,為使用者或自動化流程去優化 EDAT 具的原有功能。資料的開放和聯通也意味著來源不同的 EDAT 具有可能在一個 專案內定製為最符合設計團隊專案需求的最佳流程。

EDA 軟體針對更多硬體平臺的開放:隨著通用計算平臺的發展,在 X86 處理器之外逐漸出現了 ARM、RISC-V、GPGPU、NPU 等異構硬體,EDA 軟體也需要調整自己的軟體架構,在不同的場景和演算法中使用更合適的硬體平臺,這樣的開放可以給使用者帶來優化的效率和成本。

晶片內外部的匯流排和介面標準化:晶片產業界已經形成的各種介面和 IP 互聯互通標準,會在 EDA2.0 中進一步擴充套件,並有針對性的提高對標準介面和匯流排的高層次設計和高層次驗證方法學支援。

商業 EDA 與開源 EDA 的結合:IP 領域裡已經湧現出很多高質量的開源專案,比如 opencore 專案和一些 RISC-V 處理器的開源實現;同時開源 EDAI 具也在穩步發展,特別是在高校和學術界得到了很多實際專案應用,也支援了 EDAA 才的培養。同時更開放的商業 EDA 工具也可以結合開源專案,並分享一定的成果回到開源專案中去,發展出開源與商業相結合的生態。

未來 EDA 產業的開放和標準化不僅僅由 EDA 廠商或標準化組織決定,而應該由產業鏈上游的 EDA 生態和下游的業界共同定義:從系統廠商、晶片廠商到 EDA 廠商的全產業生態來共同制定開放的標準。基於這些開放介面和株淮,EDAT 商、使用者、第三方都可以以需求為導向進行定製,方便流程自動化和 AI 智慧處理的整合。

2、智慧化 EDA 設計

在開放和標準化的前提下,EDA2.0 的目標是要從現有的 EDA1.0 過程中大幅減少晶片架構探索、設計、驗證、佈局佈線等工作中的人力佔比,將過去的設計經驗和資料吸收到 EDA 工具中,形成智慧化的 EDA 設計。智慧是指廣義上的一切減少人力投入的改進,包括高度並行化的 EDA 計算和求解空間探索、設計自動化、資料模型化、以及近年來熱門的機器學習等都是智慧化的方向。

這些已經成為 EDA 先進發展方向的研究熱點,例如美國國防高階研究計劃局(DARPA) 已經提出了 IDEA(Intelligent Design of ElectronicAssets)計劃,其第一步的目標就是能夠自動從 HDL 設計生成 GDSII 物理版圖這個流程,最終目標是實現“24 小時全自動設計迭代”。EDA2.0 智慧化的部分方向如下:

智慧化的設計需求分析:基於統一的 IR (中間表達層)表示和編譯優化技術,以及近年來飛速發展的 AI 演算法,可以輔助 EDA2.0 工具去支援系統應用廠商更自然地描述 " 需要在什麼約束條件下做什麼樣的晶片”,並智慧轉換為硬體晶片規格的描述和對 IP 模組的部分引數配置,減少系統工程師和晶片工程師之間互相淘通理解的工作最。

智慧化的晶片架構探索:未來的晶片越來越向高度整合化的 SoC 發展,晶片設計需要花大量人工時間做架構探索。EDA2.0 要引入智慧化架構探索,基於對使用者需求的理解、應用場景的約束、積累的設計及引數資料、模型化的 IP 庫、後端工藝資料等輸入,去輔助使用者分析得到最優化的架構設計。

這種智慧架構探索,既來自於人的設計經驗積累到演算法模型和工具中,也來自於高效能驗證的高併發算力輸出,從而部分代替人力在每個專案裡的重複性分析。

智慧化的設計生成:隨著各種 IO 介面和 IP 功能的標準化、高層次硬體描述語言(HDL) 的發展,以及高層次綜合工具(HLS) 的優化,複雜晶片設計中真正需要從頭開始用 Verilog 等低層次硬體描述語言實現的部分會越來越少,而 IP 整合和驗證的投入比例會越來越大。

EDA2.0 的設計過程,要求模組化的 IP 及其模型有更統一和開放的規範和介面,比如 IP-XACT 或 Chisel/SpinalHDL 等更高抽象層級的描述。基於這樣的介面和高層次描述,可以利用智慧設計工具,根據晶片需求約束、智慧架構探索的結果、IP 的引數、介面、時鐘、功耗、物理工藝資料等,輔助 SoC 的 整合,自動生成設計。這個智慧設計的過程還可以用其它專案資料生成的機器學習模型來進一步減少人工參與的工作量。

智慧化的物理設計:後端物理設計要基於各種約束條件去實現物理佈局,這固然就是一個需要反覆嘗試和探索的過程。利用越來越強大的高效能伺服器和雲端彈性算力,EDA2.0 的後端設計工具可以快速地並行生成多種不同佈局實現,進行功耗、面積、走線等設計權衡,選擇較好的結果。

另一方面,基於強化學習之類的機器學習演算法,可以縮小巨大的探索空間,節省智慧物理設計所需要的算力和時間,最終目標是依靠人工智慧和自動化流程實現佈局佈線和後端驗證。

晶片驗證的過程是提出約束條件,利用動態模擬和靜態分析的方法,達到功能、覆蓋率、等價性、功耗、工藝要求等驗證目的,這也是晶片設計流程中最耗時間和需要人力經驗的部分。智慧化的 EDA2.0 的架構探索、晶片設計、後端實現,都離不開更加完善的智慧驗證方法學和智慧驗證平臺。一個可以靈活配置並且高度智慧化的功能、效能、功耗驗證流程,可以給各環節的智慧設計工具快速反饋,實現 EDA2.0 智慧設計的反覆迭代。

3、平臺化和服務化

EDA 工具上雲的嘗試過去二十年不斷有廠商在推動,但是到今天為止實際應用範圍還不夠廣泛,同時晶片設計本身也沒有從 EDA 上雲得到大幅的效率提升。這個現象背後有客戶對資料安全的顧慮、EDA 軟體原有的架構難以最好地應用雲端基礎軟體框架、EDA 模擬和驗證演算法的限制、EDA 廠商和雲服務商沒有針對晶片設計實際需求等多方面的原因。

隨著更加開放和智慧的 EDA2.0 的到來,EDA 的行業生態也必然從“工具和 IP 集合包”進化到 EDA2.0 整體平臺。不同規模和不同階段的晶片設計有多樣化的需求,而網際網路雲平臺提供了近乎無限的計算彈性、儲存彈性和訪問便捷性,因此 EDA2.0 應該與雲平臺和雲上多樣化的硬體結合,充分利用成熟的雲端軟硬體生態。

用彈性算力取代部分人力投入。雲平臺帶來的彈性資源可以支援 EDA2.0 的智慧計算和自動化,用無限制的算力去優化 EDA 計算瓶頸,使晶片設計流程更加智慧,並加速晶片設計流程。同時彈性的雲端算力也能優化使用者的設計成本。

商業和使用模式的優化。基於雲平臺的 EDA2.0,其付費模式、使用模式、使用地點、使用裝置都會更加靈活,讓 EDA 廠商和晶片設計團隊都不再把精力放在“用哪些軟硬體資源來設計晶片”上,而更加關注“如何快速高質量地設計晶片”。

採用適合雲平臺的軟體架構。基於今天的技術起點,我們可以對 EDA 軟硬體框架和演算法做創新、融合和重構,拋棄過去的一些包袱,採用更新的技術架構。過去的單機或本地多機同步的軟體結構要逐漸被改造為面向雲平臺結構的雲原生軟體架構,深度利用雲端彈性效能,並且給使用者提供更優化的使用模式。

智慧化的 EDA 流程當然也很難完全自動實現晶片設計和驗證過程,因此要支援應用廠商快速得到需要的晶片,EDA2.0 還應該是產品和服務的結合,實現 EDA 服務平臺 EDaaS (Electronic Design as a Service)。

EDA 服務平臺可以提供專業的諮詢或設計服務。通過專業服務團隊和 EDA 工具及模組的結合,能極大減少使用者團隊設計晶片的負擔,支援客戶快速設計和部署自己的晶片產品。此外多樣化的定製晶片,在晶片和系統安全、工業或汽車級設計、特殊 IP 的電磁保護等垂直設計領域也會有多樣化的需求,只有極少數客戶才具備所有這些垂直設計能力,因此更需要 EDaaS 平臺的專業服務。

基於雲平臺和開放資料的定製服務。EDA2.0 以介面和資料開放為重要基礎,同時利用網際網路雲這個靈活的平臺,因此可以提供定製化工具介面、資料服務介面、定製 AI 模型、低程式碼定製模組,這些都可以是 EDaaS 服務的一部分。這些定製服務不一定僅僅來自於 EDA 廠商自身,第三方廠商、開源社群或使用者自己都很容易利用定製服務介面擴充套件現有的 EDA 功能,讓 EDaaS 成為一個開放和有無限發展空間的平臺。

智東西認為,EDA 是晶片之母,是晶片設計最上游,最高階的產業,在之前的內參中,我們也對 EDA 產業做過較為詳盡的報道。但是,對於未來 EDA 產業的走向的詳細預測,這篇芯華章的報告還是業內頭一次。在“缺芯”的大浪潮下,各行各業都在強調擁有自主可控的晶片,所以未來 EDA 行業的新要求也就順理成章,簡單點說,就是如何降低使用和設計門檻,大幅縮短晶片設計週期。