隨著AI、5G通信以及云計(jì)算等專(zhuān)用計(jì)算領(lǐng)域的發(fā)展,面向?qū)S糜?jì)算領(lǐng)域的計(jì)算機(jī)體系結(jié)構(gòu)也進(jìn)入了新的黃金時(shí)代。描繪這一黃金時(shí)代的兩支重要畫(huà)筆就是開(kāi)源硬件(芯片)與敏捷開(kāi)發(fā):開(kāi)源可降低芯片設(shè)計(jì)門(mén)檻,敏捷設(shè)計(jì)能縮短開(kāi)發(fā)周期。
開(kāi)源指令集RISC-V引發(fā)了開(kāi)源硬件的熱潮。但芯片的設(shè)計(jì)和生產(chǎn)流程比軟件更長(zhǎng),需要更多工具和流程,EDA也開(kāi)始轉(zhuǎn)向依靠開(kāi)源社區(qū)的模式來(lái)解決復(fù)雜的設(shè)計(jì)難題,同時(shí)降低開(kāi)發(fā)成本。但國(guó)內(nèi)EDA技術(shù)一直是一項(xiàng)軟肋,本土EDA企業(yè)尚未發(fā)展壯大,該如何應(yīng)對(duì)開(kāi)源EDA這一新的技術(shù)形態(tài)與生態(tài)模式呢?這些問(wèn)題在5月14日下午召開(kāi)的中國(guó)計(jì)算機(jī)學(xué)會(huì)青年精英大會(huì)(YEF2021)技術(shù)論壇【芯片智造——敏捷設(shè)計(jì)與開(kāi)源EDA之路】上展開(kāi)了激烈的討論。
開(kāi)源芯片成發(fā)展新趨勢(shì)
說(shuō)到開(kāi)源芯片,RISC-V可謂是開(kāi)源的代表。去年RISC-V國(guó)際基金會(huì)將總部搬往瑞士,目前其已有超過(guò)1000個(gè)會(huì)員,企業(yè)機(jī)構(gòu)約200家。中國(guó)在這里面占據(jù)很重要的作用,中國(guó)企業(yè)占比超過(guò)20%,而且19個(gè)理事會(huì)成員中有9個(gè)來(lái)自中國(guó)。
隨著開(kāi)放指令集RISC-V逐漸受到業(yè)界追捧,開(kāi)源芯片的概念逐漸進(jìn)入人們的視野,并受到全世界的關(guān)注與投入。國(guó)際上,早在2019年國(guó)際計(jì)算機(jī)體系結(jié)構(gòu)旗艦會(huì)議ISCA的遠(yuǎn)景研討會(huì)上,包括圖靈獎(jiǎng)得主David Patterson教授在內(nèi)的多位美國(guó)工程院院士,以及來(lái)自MIT、UC Berkeley、UCSD、Stanford、Google、Nvidia、DARPA等頂尖大學(xué)、企業(yè)和政府機(jī)構(gòu)的專(zhuān)家就聚焦討論了“面向下一代計(jì)算的敏捷開(kāi)放硬件”的前沿?zé)狳c(diǎn),涉及到內(nèi)容包括指令集、EDA工具鏈開(kāi)源、設(shè)計(jì)流程、高層次綜合、形式化驗(yàn)證。
看向國(guó)內(nèi),“十四五”規(guī)劃也已開(kāi)始對(duì)開(kāi)源芯片布局,“十四五”規(guī)劃第五篇第十五章第一節(jié)中提到,支持?jǐn)?shù)字技術(shù)開(kāi)源社區(qū)等創(chuàng)新聯(lián)合體發(fā)展,完善開(kāi)源知識(shí)產(chǎn)權(quán)和法律體系,鼓勵(lì)企業(yè)開(kāi)放軟件源代碼、硬件設(shè)計(jì)和應(yīng)用服務(wù)。
那么開(kāi)源芯片有哪些創(chuàng)新機(jī)會(huì)呢?中國(guó)科學(xué)院計(jì)算技術(shù)研究所副所長(zhǎng)包云崗在技術(shù)論壇上講到:RISC-V屬于指令集開(kāi)放,其實(shí)是指令集手冊(cè)的開(kāi)放,如英特爾CPU的指令集手冊(cè)有5000多頁(yè),ARM CPU的指令集手冊(cè)有2000多頁(yè),而RISC-V的指令集手冊(cè)只有200多頁(yè)。如果把指令集變成真正的架構(gòu),此時(shí)就會(huì)產(chǎn)生諸多設(shè)計(jì)文檔,那么文檔可以公開(kāi);根據(jù)設(shè)計(jì)文檔再變成源代碼,源碼也可以公開(kāi);EDA工具鏈可以將開(kāi)源代碼再變成芯片版圖,那么EDA設(shè)計(jì)工具也可以開(kāi)源。
他總結(jié),開(kāi)源芯片主要包含有三個(gè)層次:(1)指令集(2)處理器微架構(gòu)設(shè)計(jì)/實(shí)現(xiàn)(3)設(shè)計(jì)流程/工具。
在這三個(gè)層次中,除了指令集,芯片設(shè)計(jì)的工具也很重要。EDA工具是開(kāi)源芯片設(shè)計(jì)體現(xiàn)的基石,如今多種開(kāi)源EDA工具基本覆蓋了芯片設(shè)計(jì)中的模擬仿真、邏輯綜合、布局布線、物理實(shí)現(xiàn)和簽核等功能。
眾所周知,全球EDA市場(chǎng)被三大廠商Cadence、Synopsys、Mentor(2021年1月更名為:Siemens EDA,即西門(mén)子EDA)壟斷。他們的規(guī)模大,產(chǎn)品線完整,可以提供全流程的完整解決方案。相反,國(guó)內(nèi)EDA工具在中國(guó)的市場(chǎng)份額不到5%,在全球的市場(chǎng)份額僅為0.2%。而且國(guó)內(nèi)EDA公司規(guī)模小,產(chǎn)品單一,多是“點(diǎn)”工具,只能提供局部解決方案。單一EDA工具很難滿足設(shè)計(jì)人員對(duì)于IC設(shè)計(jì)的全流程需求,不同工具間的切換又為數(shù)據(jù)完整性增添了風(fēng)險(xiǎn)。于是日前市場(chǎng)對(duì)于開(kāi)源平臺(tái)的呼聲日益增高。
開(kāi)源EDA很重要,但難題亦很多
鵬城實(shí)驗(yàn)室、中科院計(jì)算所的解壁偉認(rèn)為,開(kāi)源EDA是支撐開(kāi)放芯片生態(tài)的重要保障。多個(gè)成功經(jīng)驗(yàn)表明,開(kāi)源開(kāi)放是構(gòu)建繁榮的技術(shù)生態(tài)和產(chǎn)業(yè)生態(tài)的必要基礎(chǔ)。如Linux操作系統(tǒng),支撐了整個(gè)開(kāi)源生態(tài)體系;再比如Android移動(dòng)操作系統(tǒng),雖然現(xiàn)在已經(jīng)閉源,但當(dāng)年以開(kāi)源為起點(diǎn),統(tǒng)一了除iOS外的整個(gè)移動(dòng)互聯(lián)網(wǎng)生態(tài);在人工智能領(lǐng)域,Caffe、TensorFlow、Pytorch、PaddlePaddle可以說(shuō)是整個(gè)AI技術(shù)生態(tài)體系的基石。
開(kāi)源EDA工具可以降低芯片設(shè)計(jì)門(mén)檻,如降低芯片設(shè)計(jì)的人力、IP、EDA成本。還能為開(kāi)展EDA領(lǐng)域的基礎(chǔ)科學(xué)研究和人才培養(yǎng),無(wú)論是對(duì)企業(yè)、高校、學(xué)術(shù)科研機(jī)構(gòu)還是芯片和EDA方向的個(gè)人愛(ài)好者而言,都能提供很好的思路。如果開(kāi)源EDA可以集合多方力量,將有助于我國(guó)加速追趕國(guó)際先進(jìn)水平。
然而,我國(guó)EDA軟件的基礎(chǔ)還相對(duì)薄弱,在開(kāi)源領(lǐng)域幾近空白。開(kāi)源EDA仍然面臨諸多挑戰(zhàn):用戶少、貢獻(xiàn)者少以及框架結(jié)構(gòu)不清晰;論壇上也討論了一些解決方案。具體如下:
?。ㄒ唬┯脩羯伲洪_(kāi)源EDA工具質(zhì)量相比商業(yè)工具有較大差距,用戶數(shù)量非常有限。解決方案是提升工具質(zhì)量,強(qiáng)調(diào)生產(chǎn)環(huán)境下的項(xiàng)目檢驗(yàn),即開(kāi)源EDA工具不能只停留在學(xué)術(shù)論文和軟件代碼,要與其他點(diǎn)工具共同匯聚成工具鏈,支撐完整的芯片流片驗(yàn)證,產(chǎn)生有效的用戶反饋。如美國(guó)的Magic就經(jīng)過(guò)了數(shù)次流片驗(yàn)證,論文就有實(shí)際芯片測(cè)試數(shù)據(jù)。
?。ǘ┴暙I(xiàn)者少:EDA領(lǐng)域相對(duì)小眾,其開(kāi)源社區(qū)更是人丁單薄,Yosys、abc、magic、OpenROAD等開(kāi)源工具的主要貢獻(xiàn)者大多在10余人左右。由于EDA學(xué)科的特點(diǎn),開(kāi)源EDA貢獻(xiàn)者需要同時(shí)具備CS、Math、EE和MicroE的知識(shí),技術(shù)門(mén)檻較高。每個(gè)開(kāi)源EDA工具的開(kāi)發(fā)并不開(kāi)放,基本是某個(gè)學(xué)校、研究機(jī)構(gòu)和公司的內(nèi)部團(tuán)隊(duì),外部參與者很少、也很難參與。解決方法是充分拆解、抽象和描述EDA技術(shù)問(wèn)題,并分類(lèi)轉(zhuǎn)化到數(shù)學(xué)、算法和高性能等專(zhuān)業(yè)領(lǐng)域能夠理解的語(yǔ)言表述,發(fā)動(dòng)多個(gè)學(xué)科的社區(qū)力量。
?。ㄈ┛蚣芙Y(jié)構(gòu)不清晰:代碼不統(tǒng)一且復(fù)用率低是開(kāi)源軟件的一項(xiàng)通病,然而開(kāi)源EDA工具與算法強(qiáng)綁定,問(wèn)題更為突出。設(shè)計(jì)新算法通常需要大量重寫(xiě)代碼,失去了開(kāi)源的意義。解決方案有二。第一,模塊化設(shè)計(jì),從基礎(chǔ)框架設(shè)計(jì)出發(fā),再深入到算法層,抽象共有操作和數(shù)據(jù)格式,從代碼中探索出迭代重構(gòu)規(guī)律,形成精簡(jiǎn)高效和模塊化的基礎(chǔ)框架。這種模塊化設(shè)計(jì)還便于用分布式并行計(jì)算架構(gòu)進(jìn)行EDA設(shè)計(jì)流程的加速。第二,規(guī)范化抽象,用Multi-level Intermediate Representation(MLIR)等優(yōu)秀的編譯器設(shè)計(jì)理念對(duì)整個(gè)設(shè)計(jì)流程(尤其是前端設(shè)計(jì))進(jìn)行多個(gè)抽象層次的劃分,便于各個(gè)領(lǐng)域?qū)<覍?zhuān)注于各自的抽象層次,同時(shí)通過(guò)多個(gè)層次的編譯打通EDA工具鏈,完成敏捷方便的全流程驗(yàn)證。這樣,即使一個(gè)點(diǎn)工具也可以通過(guò)規(guī)范的轉(zhuǎn)換格式,靈活的接入到開(kāi)源的EDA工具鏈中,完整地驗(yàn)證自己所開(kāi)發(fā)工具的性能和質(zhì)量。目前,北美產(chǎn)業(yè)界和學(xué)術(shù)界正在形成這種趨勢(shì)。
落實(shí)到開(kāi)源EDA項(xiàng)目來(lái)說(shuō),無(wú)論從低工藝(110nm)至高工藝(55nm,40nm甚至28nm)。從高校教學(xué)級(jí)應(yīng)用到企業(yè)產(chǎn)品級(jí)應(yīng)用,從小規(guī)模ASIC芯片到更大規(guī)模的SoC項(xiàng)目,都應(yīng)堅(jiān)持研用結(jié)合的策略,以實(shí)用為牽引,以用帶研,研以致用。從工具鏈、點(diǎn)工具、基準(zhǔn)測(cè)試集、示范應(yīng)用以及工業(yè)級(jí)開(kāi)源工藝庫(kù)等五大方面逐個(gè)擊破。
業(yè)界的研究進(jìn)展
值得一提的是,在ASPLOS 2021大會(huì)上,剛剛從Google Brain跳槽到明星RISC-V公司SiFive的Chris Lattner博士(LLVM 項(xiàng)目的主要發(fā)起人與作者之一, Clang編譯器的作者)做了The Golden Age of Compiler Design in an Era of HW/SW Co-design的演講,提出了基于MLIR編譯技術(shù)打造的全新的統(tǒng)一的EDA (Electronic Design Automation)框架,像軟件中的TensorFlow或PyTorch那樣為EDA設(shè)計(jì)工具鏈提供完整、靈活的基礎(chǔ)設(shè)施。CIRCT項(xiàng)目與MLIR同源,在硬件設(shè)計(jì)和軟件編譯的容易形成生態(tài)一致性。
在開(kāi)源EDA軟件之路上,國(guó)內(nèi)EDA學(xué)術(shù)和產(chǎn)業(yè)都在努力尋找合適的位置為開(kāi)源EDA做貢獻(xiàn)。
在開(kāi)源芯片領(lǐng)域,中科院計(jì)算所2019年啟動(dòng)了RISC-V處理器芯片與RISC-V原生操作系統(tǒng)等項(xiàng)目,并且在國(guó)產(chǎn)28nm工藝上構(gòu)建具有性價(jià)比優(yōu)勢(shì)的開(kāi)源芯片技術(shù)體系。此外,他們還在探索開(kāi)源EDA設(shè)計(jì)開(kāi)源芯片,基于現(xiàn)有開(kāi)源工具,構(gòu)建了一套基于Python的RTL到GDSⅡ的設(shè)計(jì)流程;去年8月份,國(guó)科大五位本科生整整歷時(shí)兩年使用開(kāi)源EDA工具設(shè)計(jì)出了果殼-1芯片,并實(shí)現(xiàn)了流片。
中科院還研發(fā)了芯片敏捷設(shè)計(jì)云平臺(tái)AgileServe,該平臺(tái)集成了各種開(kāi)源要素,能支持用戶快速定制處理器芯片與軟件開(kāi)發(fā),降低芯片設(shè)計(jì)門(mén)檻。于學(xué)生來(lái)說(shuō),可以隨時(shí)隨地開(kāi)展芯片設(shè)計(jì);對(duì)老師來(lái)說(shuō),可以實(shí)現(xiàn)在線指導(dǎo)學(xué)生。
南京集成電路設(shè)計(jì)服務(wù)產(chǎn)業(yè)創(chuàng)新中心有限公司(以下簡(jiǎn)稱(chēng)EDA創(chuàng)新中心)常務(wù)副總經(jīng)理陳剛介紹了以開(kāi)源的方式來(lái)打造國(guó)產(chǎn)EDA通用底座(openEDI)??紤]到國(guó)內(nèi)的EDA點(diǎn)工具各自獨(dú)立,建設(shè)國(guó)內(nèi)生態(tài)的通用底座,有望把點(diǎn)工具連接在一起。EDA通用底座的研發(fā)目標(biāo)是支持所有國(guó)產(chǎn)EDA工具,聚合成套的EDA工具鏈,成為國(guó)內(nèi)生態(tài)的通用底座。下圖為EDA通用底座架構(gòu)。最下方的部分是數(shù)據(jù)層,承載所有EDA在內(nèi)存及磁盤(pán)上的數(shù)據(jù)庫(kù)和數(shù)據(jù)模型,其中包括各種解析器的模塊、用戶界面模塊等。上層為通用算法層與計(jì)算框架。
北京大學(xué)的林亦波在會(huì)上介紹了知名的《深度學(xué)習(xí)輔助布局布線優(yōu)化》項(xiàng)目,他講述了利用深度學(xué)習(xí)來(lái)改進(jìn)傳統(tǒng)的布局布線算法,在這個(gè)過(guò)程中必須要利用開(kāi)源的布局布線工具,否則很難獲取深度學(xué)習(xí)樣本。未來(lái)他們將繼續(xù)改進(jìn)算法,提高穩(wěn)定性和泛化能力。預(yù)計(jì)可能發(fā)布如ImageNet那樣的開(kāi)放EDA數(shù)據(jù)集,吸引學(xué)術(shù)界和產(chǎn)業(yè)界的共同競(jìng)爭(zhēng)與發(fā)展。
東南大學(xué)國(guó)家專(zhuān)用集成電路系統(tǒng)工程技術(shù)研究中心的閆浩講述了寬電壓近閾值設(shè)計(jì)方法學(xué)研究與開(kāi)源EDA的進(jìn)展。他介紹到,EDA工具的技術(shù)挑戰(zhàn)是不斷演進(jìn)的工藝和蝕刻尺寸帶來(lái)的偏差建模以及優(yōu)化算法的開(kāi)發(fā)。他指出在做研究時(shí),遇到最大的挑戰(zhàn)是需要耗費(fèi)大量精力復(fù)現(xiàn)別人代碼,因此他們也與如NiiCEDA等國(guó)內(nèi)EDA企業(yè)合作,積極投入到開(kāi)源時(shí)序分析工具的開(kāi)發(fā)中。
寧波大學(xué)的儲(chǔ)著飛分享了在多邏輯域自動(dòng)綜合工具上的研究進(jìn)展。他講到,邏輯綜合是在滿足約束條件下,將所有設(shè)計(jì)數(shù)字電路的RTL級(jí)描述,轉(zhuǎn)化為指定的工藝庫(kù)中單元電路的連接。邏輯綜合主要包括三個(gè)階段:翻譯、優(yōu)化和工藝映射。他指出,不同的邏輯完備集所發(fā)展而來(lái)的綜合方法適用場(chǎng)景不同,現(xiàn)有的這些EDA工具都是基于傳統(tǒng)布爾邏輯發(fā)展而來(lái),新型算符能帶來(lái)更多機(jī)會(huì),比如基于極性變換的Reed-Muller、TB和RM雙邏輯等。在EDA開(kāi)源方面,他指出邏輯綜合工具的發(fā)展趨勢(shì):一、AI for EDA,用AI的方法推斷邏輯綜合優(yōu)化變換的順序,讓沒(méi)有任何經(jīng)驗(yàn)的工程師得到一個(gè)優(yōu)化腳本;二、EDA for AI,用查找表形式反推邏輯操作,達(dá)到與神經(jīng)網(wǎng)絡(luò)訓(xùn)練權(quán)重一樣的目的;三、Optimal Solution,給定一個(gè)數(shù)字電路,現(xiàn)有的方法高度依賴SAT求解器獲得如最小節(jié)點(diǎn)個(gè)數(shù),最小邏輯深度等最優(yōu)解,但是SAT 求解器本身又是啟發(fā)式算法,通過(guò)數(shù)字電路仿真可以輔助SAT進(jìn)行更高效的搜索;四、Technology Enabler,發(fā)展新的邏輯抽象方法,幫助一些諸如二維材料等新工藝的評(píng)估和發(fā)展。無(wú)論訓(xùn)練集,搜索優(yōu)化與新模型都將在開(kāi)源生態(tài)中獲得收益。
開(kāi)源EDA何去何從?
開(kāi)源EDA生態(tài)從0到1所面臨諸多困難,如何打通開(kāi)源EDA的生態(tài)閉環(huán)?如何維護(hù)生態(tài)持續(xù)發(fā)展?如何防范流片失敗、IP泄露、專(zhuān)利等生態(tài)風(fēng)險(xiǎn)?未來(lái)又該何去何從?針對(duì)這些問(wèn)題,在場(chǎng)學(xué)者和專(zhuān)家眾說(shuō)紛紜,進(jìn)行了激烈且有意義的討論。
從0到1,開(kāi)源EDA的生態(tài)從學(xué)術(shù)界開(kāi)始建設(shè)
跟傳統(tǒng)的開(kāi)源軟件不同,開(kāi)源EDA軟件的數(shù)據(jù)結(jié)構(gòu)、代碼質(zhì)量尤其算法的專(zhuān)業(yè)性極高,用戶群體較小,限制了開(kāi)源社區(qū)的規(guī)模??v觀歷史,硅谷渺如星辰大海的高科技公司都是從高校創(chuàng)新開(kāi)始做起的。EDA也一樣,首先在高校培養(yǎng)開(kāi)源EDA的第一批用戶群體,包括老師和學(xué)生,讓他們通過(guò)創(chuàng)新的形式先把開(kāi)源工具用起來(lái),然后通過(guò)不斷的使用和迭代改進(jìn)工具,在將來(lái)達(dá)到可用的程度。
然而,從學(xué)術(shù)界開(kāi)始推廣和維護(hù)EDA生態(tài)閉環(huán)也有挑戰(zhàn)。最主要的是發(fā)展學(xué)術(shù)界參與開(kāi)源EDA和持續(xù)維護(hù)開(kāi)源項(xiàng)目的問(wèn)題。從功利的角度看,當(dāng)高校研究人員轉(zhuǎn)移研究興趣或者課題結(jié)束時(shí),維持開(kāi)源項(xiàng)目的動(dòng)力消失;學(xué)生花幾年的經(jīng)歷學(xué)習(xí)和掌握開(kāi)源EDA工具,不如掌握商業(yè)工具對(duì)找工作更實(shí)用;高質(zhì)量的開(kāi)源工作不多,學(xué)生們重新實(shí)現(xiàn)一個(gè)算法或工具有時(shí)比hack(甚至debug)一個(gè)開(kāi)源項(xiàng)目的代碼更快。學(xué)生畢業(yè)之后,如果沒(méi)有一個(gè)很好的文檔和高質(zhì)量的代碼管理,那么后續(xù)的學(xué)術(shù)繼續(xù)迭代開(kāi)發(fā)的動(dòng)力也不足。
因此論壇建議適當(dāng)引導(dǎo)高校的學(xué)術(shù)評(píng)價(jià)標(biāo)準(zhǔn),使代碼和文檔質(zhì)量高的開(kāi)源項(xiàng)目、Github/Gitee等代碼托管協(xié)作平臺(tái)上星數(shù)多的項(xiàng)目,成為高校學(xué)者、學(xué)生以及企業(yè)專(zhuān)家的學(xué)術(shù)名片,這對(duì)于啟動(dòng)和維護(hù)開(kāi)源EDA項(xiàng)目、對(duì)于學(xué)生就業(yè)將會(huì)是極大的激勵(lì)。
開(kāi)源EDA生態(tài)的建立也需要基準(zhǔn)測(cè)試集,特別是可以完成端到端流程的工業(yè)級(jí)基準(zhǔn)測(cè)試集;如何從學(xué)術(shù)界小規(guī)模數(shù)據(jù)集到工業(yè)級(jí)先進(jìn)設(shè)計(jì),是個(gè)需要繼續(xù)探討的話題。業(yè)界知名的芯片設(shè)計(jì)公司能否提供一些脫敏的設(shè)計(jì),讓開(kāi)源社區(qū)可以以此為參考進(jìn)行學(xué)術(shù)研究、學(xué)生競(jìng)賽,以此擴(kuò)大開(kāi)源社區(qū)的規(guī)模。尤其,在深度學(xué)習(xí)技術(shù)與EDA領(lǐng)域緊密結(jié)合的當(dāng)代,更需要一個(gè)芯片設(shè)計(jì)領(lǐng)域的“ImageNet”來(lái)促進(jìn)社區(qū)繁榮。
產(chǎn)學(xué)研有機(jī)聯(lián)合,提升軟件質(zhì)量,提供開(kāi)源EDA獨(dú)有價(jià)值
前面也提到的開(kāi)源代碼質(zhì)量的問(wèn)題,其實(shí)開(kāi)源EDA工具對(duì)軟件質(zhì)量的要求遠(yuǎn)比其他領(lǐng)域嚴(yán)苛。因?yàn)镋DA軟件與芯片設(shè)計(jì)緊密結(jié)合,一旦設(shè)計(jì)出有問(wèn)題的芯片,不僅要修改軟件代碼,還要重新流片,代價(jià)高昂。因此開(kāi)源EDA軟件無(wú)法像互聯(lián)網(wǎng)/游戲軟件那樣,用敏捷開(kāi)發(fā)模式、低成本試錯(cuò)迭代模式提高軟件質(zhì)量。
學(xué)術(shù)界的開(kāi)源項(xiàng)目要與EDA、IP等工業(yè)界有機(jī)地聯(lián)合。高校的老師和學(xué)生啟動(dòng)項(xiàng)目并實(shí)現(xiàn)原型,企業(yè)提供工程力量和資金用于維護(hù)和推廣,業(yè)界的工程與品控能力可以保障開(kāi)源軟件的質(zhì)量和持續(xù)發(fā)展。業(yè)界不僅可以吸收開(kāi)源項(xiàng)目的精髓,提升自己的產(chǎn)品先進(jìn)性,而且還做了一個(gè)極好的廣告,在人才市場(chǎng)中形成良好口碑。典型的案例就是美國(guó)DARPA項(xiàng)目的openROAD開(kāi)源項(xiàng)目,Cadence參與度甚至遠(yuǎn)高于學(xué)術(shù)界綜合。放眼望去,美國(guó)成功的開(kāi)源項(xiàng)目(LLVM,TVM等)最終都得到了業(yè)界的大力支持。
為實(shí)現(xiàn)高校與企業(yè)的有機(jī)聯(lián)合,開(kāi)源EDA工具必須能提供獨(dú)特的價(jià)值,例如對(duì)新的設(shè)計(jì)方法或者新的制造工藝更為敏銳,提供與商業(yè)工具互補(bǔ)的功能特性。維護(hù)EDA生態(tài)閉環(huán),項(xiàng)目的定位、以及組織者聯(lián)結(jié)需求、資源、人員的作用十分重要。
風(fēng)險(xiǎn)與機(jī)會(huì)并存,合理區(qū)分風(fēng)險(xiǎn),降低整體芯片開(kāi)發(fā)成本
EDA生態(tài)在技術(shù)標(biāo)準(zhǔn)、安全可信、以及流片風(fēng)險(xiǎn)均存在風(fēng)險(xiǎn)。IEEE標(biāo)準(zhǔn)有成熟的運(yùn)作規(guī)范,相對(duì)安全。但很多事實(shí)標(biāo)準(zhǔn)其實(shí)是三大EDA公司的私有標(biāo)準(zhǔn)。即使在開(kāi)源社區(qū)有可免費(fèi)使用的私有標(biāo)準(zhǔn),也存在著跟標(biāo)準(zhǔn)相關(guān)的隱藏專(zhuān)利風(fēng)險(xiǎn)。需要制定國(guó)內(nèi)標(biāo)準(zhǔn),并掌握關(guān)鍵技術(shù)來(lái)防范專(zhuān)利風(fēng)險(xiǎn)。
開(kāi)源EDA軟件的可信和安全則是一把雙刃劍。一方面,開(kāi)源EDA工具中可能存在惡意代碼泄露用戶的核心設(shè)計(jì)數(shù)據(jù),也可能在設(shè)計(jì)里植入惡意的硬件木馬;另一方面,EDA工具代碼開(kāi)源,且貢獻(xiàn)者基本可以溯源,相關(guān)責(zé)任也容易追查,一切都在陽(yáng)光下風(fēng)險(xiǎn)反而可控。
針對(duì)流片失敗的風(fēng)險(xiǎn),可能并非開(kāi)源EDA工具獨(dú)有問(wèn)題。要在指甲蓋大小的硅片上擺放上百億個(gè)幾納米大小的晶體管是當(dāng)今世界最具有挑戰(zhàn)的工程,流片失敗本身是不可避免。商業(yè)公司的EDA工具也不一定能保證成功,特別是支持新技術(shù)新工藝的工具。開(kāi)源許可證有免責(zé)聲明,應(yīng)讓使用開(kāi)源工具進(jìn)行流片的使用方充分認(rèn)清風(fēng)險(xiǎn)和成本。成功流片的開(kāi)源EDA工具,反而是高質(zhì)量的最佳宣傳,有機(jī)會(huì)培育出大量以設(shè)計(jì)服務(wù)為目標(biāo)的公司,憑借開(kāi)源工具的使用經(jīng)驗(yàn)幫助用戶提高流片成功率,有望降低整體的芯片開(kāi)發(fā)和設(shè)計(jì)成本。對(duì)開(kāi)源EDA工具的各種風(fēng)險(xiǎn),需要區(qū)別對(duì)待,隨著開(kāi)源EDA工具實(shí)踐經(jīng)驗(yàn)增加,反復(fù)評(píng)估風(fēng)險(xiǎn)變化。
EDA生態(tài)子系統(tǒng)協(xié)同,尋找可持續(xù)的動(dòng)力,形成價(jià)值鏈閉環(huán)
開(kāi)源EDA生態(tài)有學(xué)術(shù)、企業(yè)等內(nèi)部生態(tài)子系統(tǒng)。高校立足教學(xué)和科研,適合做創(chuàng)新工作,產(chǎn)生有獨(dú)特功能、技術(shù)超前的開(kāi)源EDA工具,獲取學(xué)術(shù)影響力;只要這些獨(dú)特的“優(yōu)勢(shì)”可以轉(zhuǎn)化成企業(yè)明確利益需求,就會(huì)在企業(yè)轉(zhuǎn)化為一個(gè)高質(zhì)量的產(chǎn)品級(jí)項(xiàng)目。但這些產(chǎn)品級(jí)項(xiàng)目不一定會(huì)重新開(kāi)源。應(yīng)該尋找一種激勵(lì)企業(yè)的模式,在其保護(hù)商業(yè)價(jià)值的同時(shí),能持續(xù)對(duì)共性技術(shù)部分保持開(kāi)放,讓學(xué)術(shù)界能在更高質(zhì)量的EDA工具平臺(tái)上繼續(xù)貢獻(xiàn)。為此,可以考慮GPL許可證模式,強(qiáng)迫新增和修改共性功能代碼開(kāi)源,再通過(guò)封裝成云服務(wù)等形式來(lái)約束GPL的作用范圍,保障企業(yè)的投入和產(chǎn)出公平。
開(kāi)源EDA生態(tài)應(yīng)與外部生態(tài)合作共贏。例如,與超算和云計(jì)算的生態(tài)融合,既能解決EDA軟件算法需要消耗大量算力的問(wèn)題,促進(jìn)超算中心的業(yè)務(wù)發(fā)展;也可以借助云服務(wù)吸引更多的工具用戶,降低使用獲取和使用門(mén)檻,同時(shí)也促進(jìn)云計(jì)算廠商的用戶群。Google和微軟的EDA上云就是非常典型的案例。
寫(xiě)在最后
本次論壇由CCF YOCSEF上海AC組織,執(zhí)行主席為CCF YOCSEF上海主席(2021-2022)蔣力,副主席(2020-2021)裴頌文,論壇思辨和閉門(mén)討論分別由北京大學(xué)羅國(guó)杰、浙江大學(xué)卓成共同主持。論壇吸引了50余位高校學(xué)者、企業(yè)專(zhuān)家與研究生參加。
后續(xù)我們還會(huì)繼續(xù)組織敏捷設(shè)計(jì),框架與編譯器等專(zhuān)題論壇,與開(kāi)源EDA,開(kāi)源硬件開(kāi)放指令集關(guān)系緊密,敬請(qǐng)關(guān)注。