精密PCB製造、高頻PCB、高速PCB、標準PCB、多層PCB和PCB組裝。
集成電路基板

集成電路基板 - 開源EDA去了哪裡?

集成電路基板

集成電路基板 - 開源EDA去了哪裡?

開源EDA去了哪裡?

2021-09-16
View:917
Author:frank

隨著AI、5G通信和云計算等專用計算領域的發展,專用計算領域的電腦架構也進入了一個新的黃金時代。 描述這個黃金時代的兩個重要畫筆是開源硬體(晶片)和敏捷開發:開源可以降低晶片設計的門檻,敏捷設計可以縮短開發週期。


說到開源晶片,RISC-V可以說是開源的代表。 去年,RISC-V國際基金會將其總部遷至瑞士。 它目前有1000多名成員和大約200個公司組織。 中國在其中扮演著非常重要的角色,中國公司占20%以上,19名董事會成員中有9名來自中國。


隨著開放式指令集RISC-V逐漸受到業界的追捧,開源晶片的概念逐漸進入人們的視野,並吸引了全世界的關注和投資。 在國際上,早在2019年國際電腦體系結構旗艦會議ISCA的願景研討會上,許多美國工程院院士,包括圖靈獎得主David Patterson教授,以及來自麻省理工學院、加州大學伯克利分校、UCSD、斯坦福大學、穀歌的頂尖大學專家, Nvidia和DARPA等企業和政府機構專注於“面向下一代計算的敏捷開放硬體”的前沿熱點,涉及的內容包括指令集、EDA工具鏈開源、設計過程、高級綜合、正式驗證。


那麼,開源晶片的創新機會是什麼呢? 中科院計算技術研究所副所長包雲剛在技術論壇上表示:RISC-V屬於開放式指令集。 實際上,它是開放式指令集手册。 例如,Intel CPU的指令集手册有5000多頁,ARM CPU的指令集手册有2000多頁,而RISC-V指令集手册只有200多頁。 如果指令集變成了真正的體系結構,那麼此時會生成大量的設計檔案,然後這些檔案就可以公開; 然後根據設計檔案轉化為原始程式碼,原始程式碼也可以公開; EDA工具鏈可以將開源程式碼轉換為晶片佈局,然後EDA設計工具也可以是開源的。

印刷電路板

眾所周知,全球EDA市場被3大製造商Cadence、Synopsys和Mentor(2021更名為西門子EDA)壟斷。 他們的大規模和完整的產品線可以為整個過程提供完整的解決方案。 相反,國內EDA工具在中國的市場份額不到5%,在全球市場僅占0.2%。 此外,國內EDA公司規模小,產品單一,多為“點”工具,只能提供部分解決方案。 單個EDA工具很難滿足設計者對整個IC設計過程的要求,不同工具之間的切換會新增數據完整性的風險。 囙此,市場越來越需要開源平臺。


彭城實驗室和中科院計算技術研究所的傑畢偉認為,開源EDA是支持開放晶片生態的重要保證。 許多成功的經驗表明,開源和開放是構建繁榮的科技和產業生態的必要基礎。 例如,Linux作業系統支持整個開源生態系統; 另一個例子是Android移動作業系統。 雖然現在是開源的,但它以開源為出發點,統一了除iOS以外的整個移動互聯網生態系統; 在人工智慧領域,Caffe、TensorFlow、Pytorch和飛漿可以說是整個AI科技生態系統的基石。


開源EDA工具可以降低晶片設計的門檻,如降低晶片設計的人力、IP和EDA成本。 無論是公司、大學、學術研究機构,還是晶片和EDA領域的個人愛好者,它都可以為EDA領域的基礎科學研究和人才培養的發展提供良好的思路。 如果開源EDA能够聚集多方力量,將有助於我國加快追趕國際先進水準。


然而,我國EDA軟件的基礎還比較薄弱,在開源領域幾乎是空白。 開源EDA仍然面臨許多挑戰:用戶少,貢獻者少,框架結構不清晰; 論壇上還討論了一些解決方案。 詳情如下:


(1)用戶很少:開源EDA工具的質量遠遠低於商業工具,用戶數量非常有限。 解決方案是提高工具的質量,並強調在生產環境中進行項目檢查。 也就是說,開源EDA工具不僅應該停留在學術論文和軟件程式碼中,還必須與其他point工具結合,形成一個工具鏈,以支持完整的晶片帶出驗證並產生有效的用戶回饋。 例如,Magic在美國已經進行了多次磁帶輸出驗證,並且論文中有實際的晶片測試數據。


(2)貢獻者寥寥無幾:EDA領域相對較小,其開源社區甚至更薄。 開放源碼工具(如Yosys、abc、magic和OpenROAD)的主要貢獻者大約有10人。 由於EDA學科的特點,開源EDA貢獻者需要同時具備CS、數學、EE和MicroE的知識,科技門檻相對較高。 每個開源EDA工具的開發都是不開放的。 它基本上是某個學校、研究機構和公司的內部團隊。 外部參與者很少,很難參與。 解決方案是全面分解、抽象和描述EDA科技問題,並將其分類為數學、算灋和高性能等專業領域可以理解的語言運算式,並動員多學科的社區力量。


(3)框架結構不清晰:程式碼不一致和重用率低是開源軟件的常見問題。 然而,開源EDA工具和算灋的强大綁定使得這個問題更加突出。 設計新算灋通常需要大量的程式碼重寫,這就失去了開源的意義。 有兩種解決方案。 首先是模組化設計,從基本框架的設計開始,然後進入算灋層,抽象常見的操作和數據格式,從程式碼中探索反覆運算重構規則,形成一個流線型、高效、模組化的基本框架。 這種模組化設計還可以通過分佈式平行計算體系結構加速EDA設計過程。 第二,標準化抽象。 使用優秀的編譯器設計概念,如多級中間表示(MLIR),將整個設計過程(尤其是前端設計)劃分為多個抽象級別,以便各個領域的專家能够專注於各自的抽象級別。, 同時,通過多層次的編譯打開EDA工具鏈,完成靈活方便的全過程驗證。 這樣,即使是點工具也可以通過標準化的轉換格式靈活地連接到開源EDA工具鏈,以充分驗證自己開發的工具的效能和質量。 現時,北美產業界和學術界正在形成這一趨勢。


就開源EDA項目而言,無論是從低行程(110nm)到高行程(55nm、40nm甚至28nm)。 從大學教學級應用到企業產品級應用,從小型ASIC晶片到大型SoC項目,都要堅持研究與應用相結合的戰畧,以實踐為動力,研究應用,研究應用於應用。 從五個方面逐一分解:工具鏈、點工具、基準測試集、演示應用程序和工業級開源流程庫。


行業研究進展


值得一提的是,在2021的ASPLOS會議上,剛剛從Google Brain轉投到RISC-V藝員公司SiFive的Chris Lattner博士(LLVM項目的主要發起人和作者之一,《Clang編譯器》的作者)在硬體/軟件聯合設計的演講時代,完成了編譯器設計的黃金時代, 提出了一種新的基於MLIR編譯技術的統一EDA(Electronic Design AutomaTIon,電子設計自動化)框架,並設計了TensorFlow或PyTorch等EDA工具鏈,為軟件提供了一個完整而靈活的基礎設施。 CIRCT項目與MLIR項目相同,在硬體設計和軟件編譯中容易形成生態一致性。


在開源EDA軟件的道路上,國內EDA學術界和業界都在努力尋找合適的位置,為開源EDA做出貢獻。


在開源晶片領域,中科院計算技術研究所於2019年啟動了RISC-V處理器晶片和RISC-V原生作業系統等項目,構建了在國產28nm工藝上具有性價比優勢的開源晶片科技體系。 此外,他們還在探索開源EDA來設計開源晶片。 基於現有的開源工具,他們構建了一個基於Python的RTL到GDS2的設計流程; 去年8月,美國國立科技大學(National University of Science and Technology)的五名大學生使用開源EDA工具達兩年之久。 設計了國虎1號晶片,實現了磁帶輸出。


中科院還開發了晶片敏捷設計雲平臺AgileServe,該平臺集成了各種開源元素,支持用戶快速定制處理器晶片和軟體發展,降低晶片設計門檻。 對於學生來說,晶片設計可以隨時隨地進行; 對於教師來說,可以線上指導學生。


南京積體電路設計服務產業創新中心有限公司(以下簡稱EDA創新中心)常務副總經理陳剛介紹了使用開源方法創建國內EDA通用基地(openEDI)。 考慮到國內EDA點工具是獨立的,並且為國內生態建設了一個共同的基礎,預計這些點工具將連接在一起。 EDA通用基地的研發目標是支持國內所有EDA工具,聚合一整套EDA工具鏈,成為國內生態通用基地。 下圖顯示了EDA通用基礎架構。 底層是數據層,它在記憶體和磁片上承載所有EDA資料庫和資料模型,包括各種解析器模塊、使用者介面模塊等。 上層是通用算灋層和計算框架。


北京大學林毅波在會上介紹了著名的“深度學習輔助地點和路線優化”項目。 他描述了如何使用深度學習來改進傳統的位置和路線算灋。 在這個過程中,必須使用開源的place和route工具,否則將非常困難。 難以獲得深度學習樣本。 未來,他們將繼續改進算灋,提高穩定性和泛化能力。 預計將發佈一個開放的EDA數据集,如ImageNet,以吸引學術界和工業界的相互競爭和發展。


東南大學國家ASIC系統工程科技研究中心的嚴浩介紹了寬電壓近閾值設計方法和開源EDA的發展。 他介紹說,EDA工具的科技挑戰是開發由進化過程和蝕刻尺寸帶來的偏差建模和優化算灋。 他指出,在進行研究時,最大的挑戰是需要花費大量精力複製他人的程式碼,囙此他們還與NiiCEDA等國內EDA公司合作,積極投資開發開源計時分析工具。


寧波大學朱竹飛分享了多邏輯領域自動綜合工具的研究進展。 他說,邏輯綜合是在滿足約束的條件下,將數位電路的所有RTL級描述轉換為指定過程庫中單元電路的連接。 邏輯綜合主要包括3個階段:翻譯、優化和過程映射。 他指出,從不同邏輯完整集開發的綜合方法適用於不同的場景。 現有的EDA工具都是基於傳統的布林邏輯開發的。 新型操作符可以帶來更多的機會,例如極性轉換。 Reed Muller、TB和RM dual logic等。在EDA開源方面,他指出了邏輯綜合工具的發展趨勢:1。 AI用於EDA,使用AI方法推斷邏輯綜合優化轉換的順序,以便沒有任何經驗的工程師可以獲得優化腳本; 2、EDA為人工智慧,使用邏輯運算以查錶的形式進行反向運算,以達到與神經網路訓練權重相同的目的; 3、最優解,給定數位電路,現有方法高度依賴SAT解算器來獲得最小節點數、最小邏輯深度等優秀解,但SAT解算器本身是一種啟發式演算法,數位電路模擬可以幫助SAT進行更高效的蒐索; 4、科技推動者,開發新的邏輯抽象方法,並協助評估新工藝,如二維資料和開發。 不管培訓集是什麼,蒐索優化和新模型都將受益於開源生態系統。


開源EDA去了哪裡?

開源EDA生態系統面臨著從0到1的許多困難。 如何通過開源EDA生態系統的閉環? 如何保持生態的可持續發展? 如何防止生態風險,如拔出故障、IP洩漏和專利? 我們將來應該去哪裡? 對於這些問題,與會的學者和專家意見分歧,進行了激烈而有意義的討論。


從0到1,開源EDA的生態從學術界開始

與傳統開源軟件不同,開源EDA軟件的資料結構、程式碼質量和算灋都非常專業,而且用戶群體較小,限制了開源社區的規模。 縱觀歷史,矽谷的高科技公司,無論大小,都是從大學創新開始的。 EDA是一樣的。 首先,培養高校開放原始程式碼EDA的第一批用戶,包括教師和學生,讓他們以創新的管道使用開放原始程式碼工具,然後通過不斷使用和反覆運算改進工具,他們將在未來可用。 度


然而,在學術界推廣和維護閉環EDA生態系統也是一個挑戰。 最重要的問題是學術界參與開源EDA的發展以及開源項目的持續維護。 從功利主義的角度來看,當大學研究人員轉移他們的研究興趣或項目結束時,維護開源項目的動機就會消失; 學生們花費數年的經驗學習和掌握開源EDA工具,最好掌握更實用的商業工具來求職; 高品質學生沒有太多的開源工作,學生重新實現算灋或工具有時比破解(甚至調試)開源項目的程式碼更快。 學生畢業後,如果沒有良好的檔案和高品質的程式碼管理,那麼後續學術上繼續反覆運算開發的動機是不够的。


囙此,論壇建議正確引導大學的學術評估標準,使程式碼和檔案質量高的開源項目,以及Github/Gitee等程式碼託管和合作平臺上的藝員項目成為大學學者、學生和企業專家的學術名片。 啟動和維護開源EDA項目將極大地激勵學生就業。


建立開源EDA生態系統還需要一個基準測試集,尤其是一個能够完成端到端流程的工業基準測試集; 如何從學術界的小規模數据集過渡到工業級的高級設計是一個需要討論的話題。 業內知名晶片設計公司能否提供一些脫敏設計,讓開源社區可以將其作為學術研究和學生競賽的參攷,從而擴大開源社區的規模。 特別是,在深度學習科技與EDA領域緊密結合的當代,晶片設計領域需要一個“ImageNet”來促進社區繁榮。