田春生 陳 雷 王 源 王 碩 周 婧王卓立 龐永江 杜 忠
①(北京微電子技術(shù)研究所 北京 100076)
②(北京大學(xué)集成電路學(xué)院 北京 100871)
集成電路電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation, EDA)軟件依托計(jì)算機(jī)及相關(guān)平臺(tái)[1,2],實(shí)現(xiàn)集成電路的設(shè)計(jì)、綜合、驗(yàn)證、物理設(shè)計(jì)(包括布局、布線、版圖、設(shè)計(jì)規(guī)則檢查)、硬件安全檢測(cè)等功能,極大地提高了集成電路的設(shè)計(jì)效率,保證了設(shè)計(jì)的安全性,是整個(gè)產(chǎn)業(yè)鏈最上游的核心子區(qū)域,貫穿了設(shè)計(jì)、制造以及封裝測(cè)試的全部環(huán)節(jié)[3]。隨著集成電路制造工藝尺寸的不斷縮小,芯片的復(fù)雜度和芯片設(shè)計(jì)成本不斷增加。2001年,國(guó)際半導(dǎo)體技術(shù)路線圖(International Technology Roadmap for Semiconductors, ITRS)曾指出集成電路設(shè)計(jì)成本是制約半導(dǎo)體發(fā)展的最大威脅[4]。EDA與半導(dǎo)體材料、設(shè)備共同構(gòu)成集成電路的3大基礎(chǔ),如今的一顆芯片上面至少包含數(shù)億到數(shù)十億個(gè)以上的晶體管,制造和研發(fā)的費(fèi)用也越來(lái)越昂貴,多次流片失敗直接導(dǎo)致公司倒閉的案例更是數(shù)不勝數(shù),所以在芯片設(shè)計(jì)環(huán)節(jié)不允許出現(xiàn)絲毫差錯(cuò)。EDA工具的發(fā)展極大程度提高了芯片的設(shè)計(jì)效率,一直以來(lái)都是推動(dòng)芯片設(shè)計(jì)成本保持在合理范圍內(nèi)的重要方式。實(shí)際上,EDA一直都在扮演一種“成本殺手”的角色。根據(jù)加州大學(xué)圣迭戈分校Andrew Kahng教授在2013年的推測(cè),2011年設(shè)計(jì)一款消費(fèi)級(jí)處理器芯片的成為約為4×107美元,如果不考慮1993~2009年EDA技術(shù)的進(jìn)步,相關(guān)設(shè)計(jì)成本可能高達(dá)7.7×109美元,EDA技術(shù)使得設(shè)計(jì)費(fèi)用降低了200倍[5]。由此可見(jiàn),EDA技術(shù)的重要性對(duì)于整個(gè)集成電路產(chǎn)業(yè)的發(fā)展不言而喻。
EDA工具的工作流程跨越了邏輯綜合、布局規(guī)劃、布局、時(shí)鐘樹綜合(Clock Tree Synthesis,CTS)、布線、測(cè)試等多個(gè)階段,此外還囊括硬件安全檢測(cè)等多個(gè)步驟[6–11],隨著設(shè)計(jì)復(fù)雜度增加、工藝向物理極限推進(jìn),EDA工具的設(shè)計(jì)難度日趨增加。為應(yīng)對(duì)出現(xiàn)的挑戰(zhàn),越來(lái)越多的研究將機(jī)器學(xué)習(xí)技術(shù)引入到EDA工具的設(shè)計(jì)流程中,用以提高建模、搜索和優(yōu)化過(guò)程的性能和效率,從而進(jìn)一步解決設(shè)計(jì)規(guī)模大、設(shè)計(jì)目標(biāo)與約束復(fù)雜以及設(shè)計(jì)流程冗長(zhǎng)的問(wèn)題[12,13]。通過(guò)機(jī)器學(xué)習(xí)方法對(duì)電路設(shè)計(jì)過(guò)程中的關(guān)鍵參數(shù)進(jìn)行提取、可預(yù)測(cè)性建模以及EDA算法優(yōu)化可以非常高效地提升芯片設(shè)計(jì)效率,縮短芯片版圖的生成時(shí)間,從而達(dá)到敏捷設(shè)計(jì)的目標(biāo)[2,14]。但為了做出準(zhǔn)確的預(yù)測(cè)或是更好地優(yōu)化EDA工具的服務(wù)質(zhì)量(Quality of Service, QoS)信息,機(jī)器學(xué)習(xí)算法需要深度依賴代表底層設(shè)計(jì)的輸入向量,并且鑒于電路網(wǎng)表的本質(zhì)是一種圖數(shù)據(jù)結(jié)構(gòu),圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network, GNN)在EDA流程中的應(yīng)用正變得越來(lái)越普遍。
圖是以一種使用節(jié)點(diǎn)和邊來(lái)表示的數(shù)據(jù)結(jié)構(gòu),能夠用來(lái)建模一系列實(shí)體間的關(guān)系。近年來(lái),基于圖的深度學(xué)習(xí)模型,例如GNN在學(xué)術(shù)界以及工業(yè)界受到了廣泛的關(guān)注,GNN遵循消息傳遞方案,其目標(biāo)是通過(guò)遞歸地聚合和轉(zhuǎn)換初始特征,在整個(gè)圖或節(jié)點(diǎn)級(jí)別構(gòu)建特征的有效表示方法,正是基于上述特性,GNN被普遍應(yīng)用于社交網(wǎng)絡(luò)[15]、知識(shí)圖譜[16]、生物醫(yī)學(xué)[17]等各個(gè)領(lǐng)域,并且許多不同的GNN模型也被提出用來(lái)執(zhí)行在圖上的學(xué)習(xí)。盡管GNN在這些領(lǐng)域取得了巨大的成功,但目前尚不明確GNN在EDA領(lǐng)域中取得類似成功的緣由。為此,文獻(xiàn)[18]分析了圖神經(jīng)網(wǎng)絡(luò)在EDA流程中應(yīng)用的有效性來(lái)源,即GNN中隱式地嵌入了與特定的超大規(guī)模集成電路設(shè)計(jì)相關(guān)知識(shí)與歸納偏差。文獻(xiàn)[19]首先回顧了GNN在EDA物理設(shè)計(jì)中所取得的最新研究進(jìn)展,在此基礎(chǔ)上,作者分析了GNN之所以能夠在EDA物理設(shè)計(jì)領(lǐng)域取得上述成就的原因。文獻(xiàn)[20,21]則關(guān)注了EDA技術(shù)與GNN間的聯(lián)系,Ma等人[20]的研究首先指出了GNN在EDA問(wèn)題求解過(guò)程中的巨大潛力,相關(guān)的研究表明,圖結(jié)構(gòu)對(duì)于布爾函數(shù)、網(wǎng)表以及版圖等的表示是非常直觀的,并且在結(jié)果質(zhì)量 (Quality of Result, QoR)的改進(jìn)效果方面能夠超過(guò)傳統(tǒng)的淺層學(xué)習(xí)或是基于解析式的求解方法,文獻(xiàn)最終以測(cè)試點(diǎn)的插入和時(shí)序模型的選擇兩種測(cè)試用例說(shuō)明了GNN在EDA技術(shù)中應(yīng)用所具備的優(yōu)勢(shì)。文獻(xiàn)[21]則是對(duì)卷積神經(jīng)網(wǎng)絡(luò)在EDA底層的應(yīng)用進(jìn)行了回顧,綜述了機(jī)器學(xué)習(xí)等相關(guān)技術(shù)能夠通過(guò)預(yù)測(cè)設(shè)計(jì)空間探索、功耗分析、物理設(shè)計(jì)等不同階段的重要指標(biāo)來(lái)提升設(shè)計(jì)的QoR的方法。文獻(xiàn)[20,21]的研究明確說(shuō)明了在EDA流程中引入GNN是非常重要的,但沒(méi)有完全給出如何將GNN與EDA兩個(gè)研究方向進(jìn)行有效結(jié)合,其關(guān)注點(diǎn)仍大部分停留在淺層學(xué)習(xí)方法在EDA領(lǐng)域的應(yīng)用。
本文針對(duì)基于GNN的EDA問(wèn)題進(jìn)行討論,首先對(duì)GNN與EDA技術(shù)的問(wèn)題背景與應(yīng)用框架進(jìn)行簡(jiǎn)要介紹,在此基礎(chǔ)上,對(duì)當(dāng)前國(guó)內(nèi)外基于GNN的EDA技術(shù)(高層次綜合、邏輯綜合、布圖規(guī)劃與布局、布線、反向工程、硬件木馬檢測(cè)以及測(cè)試)的相關(guān)工作進(jìn)行綜述,最后總結(jié)出基于GNN的EDA設(shè)計(jì)中所面臨的一系列的挑戰(zhàn)以及相關(guān)的解決途徑。
在過(guò)去的幾年,隨著人工智能(Artificial Intelligence, AI)和深度學(xué)習(xí)的不斷發(fā)展,深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network, DNN)已成為深度學(xué)習(xí)的重要計(jì)算模型之一,在越來(lái)越多的領(lǐng)域取得了突出乃至超過(guò)人類專家的表現(xiàn)。為了具備更好的學(xué)習(xí)與表達(dá)能力,DNN“熱衷”于堆積多層的神經(jīng)網(wǎng)絡(luò)層,這使得DNN能夠高效地處理圖像、語(yǔ)音、文本等形式的歐幾里得(Euclid)數(shù)據(jù)[22]。圖1(a)所示便是一種歐氏數(shù)據(jù)結(jié)構(gòu),其特點(diǎn)可表現(xiàn)為數(shù)據(jù)結(jié)構(gòu)中的節(jié)點(diǎn)包含有固定的排列規(guī)則和順序,例如2維網(wǎng)格或是1維序列。但當(dāng)前越來(lái)越多的實(shí)際應(yīng)用中,必須對(duì)非歐氏數(shù)據(jù)加以考慮。例如,作為一類能夠描述關(guān)系的通用的數(shù)據(jù)結(jié)構(gòu)表示方法,圖能夠非常自然地表現(xiàn)出現(xiàn)實(shí)場(chǎng)景中實(shí)體與實(shí)體間的復(fù)雜關(guān)系,在工業(yè)界的應(yīng)用前景極其廣闊,具體如圖1(b)所示,在該非歐氏數(shù)據(jù)結(jié)構(gòu)所表示的圖中,節(jié)點(diǎn)沒(méi)有固定的排列規(guī)則和順序,這就使得我們無(wú)法將傳統(tǒng)的深度學(xué)習(xí)模型直接應(yīng)用到非歐氏結(jié)構(gòu)數(shù)據(jù)的任務(wù)中。如果我們強(qiáng)制將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)應(yīng)用至圖1(b)所示的數(shù)據(jù)結(jié)構(gòu)中,由于非歐氏數(shù)據(jù)中心節(jié)點(diǎn)的鄰居節(jié)點(diǎn)數(shù)量和排列順序均不固定,并且不滿足平移不變性,導(dǎo)致很難在非歐氏數(shù)據(jù)中定義卷積核[23]。
為了有效解決上述問(wèn)題,研究學(xué)者開(kāi)始了GNN技術(shù)的研究,GNN起源于2005年,通過(guò)將深度學(xué)習(xí)與圖數(shù)據(jù)結(jié)構(gòu)進(jìn)行融合, GNN概念的提出,使得DNN在與圖數(shù)據(jù)相關(guān)的場(chǎng)景中得到了更加廣泛的利用。針對(duì)GNN的研究工作,最初始的工作主要針對(duì)如何將鄰居節(jié)點(diǎn)的數(shù)量固定以及如何對(duì)鄰居節(jié)點(diǎn)進(jìn)行排序而展開(kāi)。在完成上述研究工作后,便完成了從非歐氏數(shù)據(jù)至歐氏數(shù)據(jù)的轉(zhuǎn)化過(guò)程,在此基礎(chǔ)上便可以利用CNN對(duì)轉(zhuǎn)換后得到的數(shù)據(jù)進(jìn)行處理。圖是一種具有節(jié)點(diǎn)和邊的典型的非歐氏數(shù)據(jù),一般情形下,圖定義為G=(V,E),其中V表示節(jié)點(diǎn)的集合,E表示邊的集合。VRvw表示兩頂點(diǎn)之間關(guān)系的集合,它是集合E的 子集,若〈v,w〉∈VRvw,則〈v,w〉表示從v到w的一條弧,且稱v為弧頭節(jié)點(diǎn),w表示弧尾或終端節(jié)點(diǎn),此時(shí)的圖稱為有向圖;若對(duì)于任意的 〈v,w〉∈VRvw必有〈w,v〉∈VRvw,即VR是對(duì)稱的,則以無(wú)序?qū)?v, w)代替這兩個(gè)有序?qū)?,表示v和w之間的一條邊,此時(shí)稱此圖為無(wú)向圖。在實(shí)際問(wèn)題中,可以將各種非歐氏數(shù)據(jù)問(wèn)題抽象為圖結(jié)構(gòu),例如在一個(gè)日常生活中所熟知的交通系統(tǒng)內(nèi),利用基于圖的學(xué)習(xí)模型,可以對(duì)當(dāng)前以及未來(lái)一段時(shí)間內(nèi)的路況信息進(jìn)行有效預(yù)測(cè)。再比如,在計(jì)算機(jī)視覺(jué)模型中,同樣可以將人與物的交互當(dāng)作是一種基于圖的數(shù)據(jù)結(jié)構(gòu),從而進(jìn)行有效的檢測(cè)識(shí)別。
研究GNN對(duì)于推動(dòng)EDA技術(shù)的發(fā)展、深度學(xué)習(xí)及人類的進(jìn)步具有重大意義,EDA工具的輸入,即電路網(wǎng)表文件便可以抽象為非歐氏結(jié)構(gòu)數(shù)據(jù),由于圖數(shù)據(jù)的不規(guī)則性,傳統(tǒng)的深度學(xué)習(xí)模型對(duì)于這種結(jié)構(gòu)數(shù)據(jù)的處理顯得力不從心,這便亟需研究設(shè)計(jì)一種新的DNN模型,而GNN所能夠處理的數(shù)據(jù)正是這種具有不規(guī)則結(jié)構(gòu)的圖數(shù)據(jù)。此外,圖數(shù)據(jù)的結(jié)構(gòu)和任務(wù)是十分豐富的,這種豐富的數(shù)據(jù)結(jié)構(gòu)和任務(wù)也正與EDA流程中要處理的實(shí)際問(wèn)題相貼合。所以,GNN的研究為解決EDA領(lǐng)域中的實(shí)際問(wèn)題找到了一種新的方法和途徑。
根據(jù) 市場(chǎng)研究公司(Research and Markets)相關(guān)數(shù)據(jù),2025年全球EDA市場(chǎng)規(guī)模將達(dá)1.45×1010美元,直接支撐起的半導(dǎo)體制造市場(chǎng)規(guī)模達(dá)7×1010美元,再向上將是繼續(xù)支撐起萬(wàn)億規(guī)模的數(shù)字經(jīng)濟(jì),杠桿效應(yīng)接近200倍?,F(xiàn)階段的全球市場(chǎng)上,EDA市場(chǎng)的集中度較高,新思科技(Synopsys)、楷登電子(Cadence)以及Siemens EDA(原Mentor,已被西門子收購(gòu))占據(jù)了市場(chǎng)的主要份額。在摩爾定律的推動(dòng)下,5 nm的芯片能夠容納1.25×1010個(gè)晶體管,必須依賴EDA工具才能夠完成集成電路設(shè)計(jì)、版圖設(shè)計(jì)、版圖驗(yàn)證、性能分析、硬件木馬檢測(cè)等一系列工作[24]。但美國(guó)《2022芯片與科學(xué)法案》中對(duì)5 nm及其以下的最先進(jìn)制程EDA工具也進(jìn)行了封鎖,由此可見(jiàn)EDA軟件工具已經(jīng)成為集成電路芯片設(shè)計(jì)制造環(huán)節(jié)中必不可少的戰(zhàn)略支撐要素。
EDA工具的設(shè)計(jì)流程主要分為前端設(shè)計(jì)與后端設(shè)計(jì)兩大組成部分[25],具體如圖2所示,其中前端設(shè)計(jì)負(fù)責(zé)邏輯實(shí)現(xiàn)并驗(yàn)證,包含功能設(shè)計(jì)、系統(tǒng)設(shè)計(jì)、高層次綜合(High Level Synthesis, HLS)、邏輯綜合與驗(yàn)證等幾個(gè)部分,后端設(shè)計(jì)負(fù)責(zé)生成相應(yīng)邏輯設(shè)計(jì)的物理實(shí)現(xiàn)部分,即將邏輯網(wǎng)表數(shù)據(jù)映射到物理版圖上,并確保后續(xù)制造過(guò)程的魯棒性。后端的設(shè)計(jì)環(huán)節(jié)具體包含物理設(shè)計(jì)、物理驗(yàn)證、掩模設(shè)計(jì)與驗(yàn)證以及封裝測(cè)試等幾個(gè)重要的步驟。在實(shí)際設(shè)計(jì)實(shí)現(xiàn)的過(guò)程中,由于前端設(shè)計(jì)與后端設(shè)計(jì)的各個(gè)流程間的信息需要相互依賴,各個(gè)步驟之間需要反復(fù)迭代才能夠最終實(shí)現(xiàn)設(shè)計(jì)的收斂[25]。此外,硬件安全技術(shù),例如反向工程或是硬件木馬檢測(cè)貫穿了上述的各個(gè)流程,用以保證集成電路設(shè)計(jì)過(guò)程的安全可靠。
圖2 EDA設(shè)計(jì)流程
隨著成本的越來(lái)越高、分工越來(lái)越復(fù)雜,不論是學(xué)術(shù)界或是工業(yè)界都在嘗試新的技術(shù)與解決方案,試圖超越摩爾法則,以此來(lái)實(shí)現(xiàn)功耗最低、性能表現(xiàn)最佳、成本最優(yōu)。特別是在超越摩爾定律的先進(jìn)集成電路技術(shù)這條道路上,即新材料、新器件、新架構(gòu)或是新集成與新工具等對(duì)EDA工具不論是從設(shè)計(jì)效率、對(duì)更強(qiáng)復(fù)雜功能設(shè)計(jì)的支撐能力亦或方法學(xué)上的創(chuàng)新都提出了更高的要求。只有這樣我們才能夠在工藝不占優(yōu)勢(shì)的情形下,研制出與先進(jìn)工藝性能相匹配的高端芯片,從而突破被“卡脖子”的不利局面。幸好,GNN技術(shù)的出現(xiàn)為EDA技術(shù)的發(fā)展指明了一條全新的發(fā)展思路,走一條電子設(shè)計(jì)智能化的新賽道是實(shí)現(xiàn)“后摩爾時(shí)代先進(jìn)集成電路技術(shù)”彎道超車的有效途徑。
在邏輯綜合階段,描述硬件設(shè)計(jì)的寄存器傳輸級(jí)(Register-Transfer Level, RTL)設(shè)計(jì)代碼將被映射為事先定義好的技術(shù)映射庫(kù)中的一系列邏輯單元,與此同時(shí),上述過(guò)程必須滿足相應(yīng)的時(shí)序約束,以便在考慮面積以及功耗等QoR指標(biāo)的條件下,在所需要的時(shí)鐘頻率下能夠正常運(yùn)行。因此,邏輯綜合是一個(gè)可以應(yīng)用強(qiáng)化學(xué)習(xí)進(jìn)行求解的復(fù)雜優(yōu)化問(wèn)題。在邏輯綜合執(zhí)行的初期進(jìn)行QoR預(yù)測(cè),可以避免多次重復(fù)的迭代。例如,為了更加準(zhǔn)確地預(yù)測(cè)現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array, FPGA)中邏輯單元的延遲信息,文獻(xiàn)[26]對(duì)FPGA中算術(shù)運(yùn)算的映射和聚類模式進(jìn)行了有效的學(xué)習(xí),進(jìn)一步提出了一種全新的架構(gòu)D型采樣與特征聚合 (D- Sample and AggreGatE, D-SAGE),具體如圖3所示,在D-SAGE工作流程中,HLS的中間表示將被映射為數(shù)據(jù)流圖(Data Flow Graph,DFG),并在執(zhí)行技術(shù)映射后將DFG操作與網(wǎng)表對(duì)象進(jìn)行匹配。DFG中節(jié)點(diǎn)表示相關(guān)的操作信息,例如加法或是乘法。邊表示節(jié)點(diǎn)間的數(shù)據(jù)依賴關(guān)系,數(shù)據(jù)的節(jié)點(diǎn)類型與位寬信息被視為節(jié)點(diǎn)的屬性,隨后根據(jù)端到端的任務(wù)將節(jié)點(diǎn)和邊進(jìn)行標(biāo)記即可。即如果節(jié)點(diǎn)被映射到DSP模塊或是查找表LUT,則可以分別將它們標(biāo)記為1或0。類似地,如果邊的連接點(diǎn)映射到相同的邏輯單元,則相應(yīng)的邊將被標(biāo)記為1。上述標(biāo)簽信息將被用于GNN模型的訓(xùn)練,模型訓(xùn)練完成后便可以使用訓(xùn)練好的GNN模型從給定的數(shù)據(jù)流圖中推斷出相對(duì)應(yīng)的映射模式。D-SAGE可以成功地將操作映射學(xué)習(xí)到對(duì)應(yīng)的邏輯資源中,從而有效地避免了將HLS子圖匹配到FPGA資源的繁瑣過(guò)程。
圖3 算術(shù)密集型設(shè)計(jì)中基于GNN的運(yùn)算映射與聚類學(xué)習(xí)
為了盡可能早地從設(shè)計(jì)階段加快對(duì)電路性能的評(píng)估,美國(guó)加州大學(xué)圣塔芭芭拉分校謝源教授團(tuán)隊(duì)[27]提出了一種快速準(zhǔn)確的性能建模方法,通過(guò)將C/C++程序表示為圖從而充分利用圖神經(jīng)網(wǎng)絡(luò)的特征表示能力,完成性能的預(yù)測(cè)。本文的具體貢獻(xiàn)主要體現(xiàn)為以下3個(gè)方面:(1)首先,構(gòu)建了一個(gè)包含40K的C語(yǔ)言可綜合的測(cè)試基準(zhǔn),其中包括綜合程序以及3套來(lái)自真實(shí)世界的HLS的測(cè)試基準(zhǔn),每個(gè)程序都在FPGA上進(jìn)行了實(shí)現(xiàn),用以生成真實(shí)的性能指標(biāo)。(2)在圖上對(duì)性能預(yù)測(cè)問(wèn)題進(jìn)行了建模,并利用預(yù)測(cè)及時(shí)性(即早期預(yù)測(cè)或是晚期預(yù)測(cè))與準(zhǔn)確性之間的不同權(quán)重,提出了多種基于GNN的建模策略。(3)進(jìn)一步對(duì)GNN進(jìn)行了分層處理,在不犧牲性能預(yù)測(cè)及時(shí)性的前提下,大幅度提升性能預(yù)測(cè)的準(zhǔn)確性。通過(guò)對(duì)不同測(cè)試用例的對(duì)比評(píng)估,在資源使用和時(shí)序預(yù)測(cè)方面,該方法平均絕對(duì)百分比誤差(Mean Absolute Percentage Error,MAPE)對(duì)比HLS方法最高降低了近40倍。
此外文獻(xiàn)[27]同時(shí)對(duì)基于GNN的HLS設(shè)計(jì)空間探索方法進(jìn)行了研究,并提出了IRONMAN (Design Space Exploration in High-Level Synthesis via Reinforcement Learning)架構(gòu)[28],該架構(gòu)主要由基于GNN的性能預(yù)測(cè)器(GNN-based Performance Predictor, GPP)、基于強(qiáng)化學(xué)習(xí)的多目標(biāo)設(shè)計(jì)空間探索(RL-based Multi-objective DSE, RLMD)以及代碼轉(zhuǎn)換器(Code Transformer, CT) 3個(gè)部分構(gòu)成,具體如圖4所示。其中,GPP主要負(fù)責(zé)HLS設(shè)計(jì)的性能預(yù)測(cè),具體包括邏輯資源(DSP以及LUT)的利用率以及關(guān)鍵路徑的時(shí)序信息,同時(shí)GPP也適用于從DFG中進(jìn)行性能的預(yù)測(cè)評(píng)估。RLMD主要負(fù)責(zé)HLS的資源分配,在GPP的協(xié)助下,RLMD能夠充分完成用戶指定約束下的資源優(yōu)化分配策略,同時(shí)還能夠提供不同目標(biāo)之間帕累托最優(yōu)解決方案,而這正是HLS工具所無(wú)法提供的。CT是一個(gè)代碼轉(zhuǎn)換器,能夠從原始的HLS C/C++代碼中提取出DFG,并能夠在RLMD優(yōu)化后的HLS指令的基礎(chǔ)上,重新生成可綜合的代碼,CT能夠在用戶指定的約束下實(shí)現(xiàn)靈活且更細(xì)粒度的DSE。通過(guò)上述3個(gè)模塊的相輔相成,IRONMAN能夠?qū)LS工具在資源使用上的預(yù)測(cè)誤差降低10.9倍,關(guān)鍵時(shí)序信息的預(yù)測(cè)誤差降低5.7倍。相比遺傳算法或是模擬退火方法,IRONMAN所獲得的帕累托解決方案分別提升了 12.7%與12.9%。并且在實(shí)際的測(cè)試基準(zhǔn)中,IRONMAN能夠?qū)ふ业綕M足各種DSP約束的解決方案,與HLS工具相比,DSP的數(shù)量減少了2.54倍,延遲縮短了6倍,同時(shí)相比啟發(fā)式方法和HLS工具其求解速度提升了400倍。在上述工作的基礎(chǔ)上,文獻(xiàn)[29]對(duì)IRONMAN作了進(jìn)一步改進(jìn),提出了IRONMAN-PRO (Multi-objective Design Space Exploration in High-Level Synthesis via Reinforcement Learning and Graph Neural Network based Model)架構(gòu),GPP, RLMD以及CT的性能都得到了進(jìn)一步的提升。
圖4 IRONMAN體系架構(gòu)示意圖
邏輯綜合是將所設(shè)計(jì)數(shù)字電路的RTL級(jí)描述,在滿足約束的條件下,將RTL級(jí)描述轉(zhuǎn)化為指定的工藝庫(kù)中單元電路的連接的過(guò)程。邏輯綜合主要包括翻譯、優(yōu)化與工藝映射3個(gè)階段。在翻譯階段,硬件描述語(yǔ)言(Hardware Description Language,HDL)將被翻譯為相應(yīng)的功能塊以及功能塊之間的拓?fù)浣Y(jié)構(gòu),在此基礎(chǔ)上,邏輯綜合器將根據(jù)所施加的時(shí)序和面積約束,按照一定的算法對(duì)翻譯結(jié)果進(jìn)行邏輯重組并優(yōu)化,最后便是從目標(biāo)邏輯資源庫(kù)中搜索符合條件的邏輯單元來(lái)構(gòu)成實(shí)際電路的邏輯網(wǎng)表的過(guò)程。因此,邏輯綜合是一個(gè)非常復(fù)雜的設(shè)計(jì)空間探索的過(guò)程。在邏輯綜合階段,電路網(wǎng)表中邏輯單元的位置信息與布線信息并沒(méi)有事先確定,GNN概念的引入為上述問(wèn)題的求解指明了方向,在GNN的模型中,整個(gè)網(wǎng)表被抽象為一張有向圖,節(jié)點(diǎn)和邊也不再是單個(gè)獨(dú)立的樣本,而是通過(guò)圖結(jié)構(gòu)實(shí)現(xiàn)了互聯(lián),這樣整個(gè)圖中所包含的信息更加全局化,由此也彌補(bǔ)了在邏輯綜合階段由于電路網(wǎng)表中邏輯單元位置信息和布線信息的缺失而帶來(lái)的影響。
2022年謝源教授團(tuán)隊(duì)[30]研究了GNN在EDA邏輯綜合領(lǐng)域的應(yīng)用,提出了一種全新的性能預(yù)測(cè)方法,具體如圖5所示。針對(duì)邏輯綜合的工作流程,利用混合圖神經(jīng)網(wǎng)絡(luò)提供精度更高的結(jié)果指令的預(yù)測(cè)以及更加強(qiáng)大的泛化能力,該方法的關(guān)鍵在于能夠利用來(lái)自硬件設(shè)計(jì)和邏輯綜合流程的空時(shí)信息來(lái)預(yù)測(cè)不同設(shè)計(jì)上各種邏輯綜合流程的性能,主要包括延時(shí)以及面積等信息。具體而言,首先使用GNN來(lái)提煉出硬件設(shè)計(jì)內(nèi)部的結(jié)構(gòu)特征,在此基礎(chǔ)上,利用增加的虛擬節(jié)點(diǎn)與傳統(tǒng)GNN模型相結(jié)合的方式,將邏輯綜合流程中的時(shí)間知識(shí)添加到硬件設(shè)計(jì)上,相關(guān)實(shí)驗(yàn)結(jié)果表明,該方法能夠更加快速地預(yù)測(cè)出不同設(shè)計(jì)在面積以及延時(shí)方面的性能,其平均絕對(duì)百分比誤差相比現(xiàn)有研究而言分別降低了7倍與15倍。
圖5 HLS性能預(yù)測(cè)方法體系架構(gòu)示意圖
集成電路布圖規(guī)劃與布局作為典型的超大規(guī)模NP困難組合優(yōu)化問(wèn)題,對(duì)集成電路的性能指標(biāo)將產(chǎn)生重大影響。同時(shí)由于過(guò)去幾十年芯片架構(gòu)的急劇演進(jìn),布圖規(guī)劃與布局的流程變得越來(lái)越富有挑戰(zhàn)性。隨著越來(lái)越大的設(shè)計(jì)以及越來(lái)越復(fù)雜化的設(shè)計(jì)約束和目標(biāo),都使得研究人員越來(lái)越追求依托更大的計(jì)算量和更多的計(jì)算資源來(lái)尋找滿足所有約束的合法解決方案,但這也導(dǎo)致了更長(zhǎng)的物理設(shè)計(jì)周期以及更慢的性能收斂速度。
基于上述問(wèn)題,Google公司在2021年提出了一項(xiàng)具有跨時(shí)代意義的工作,并將其發(fā)表在《Nature》上,Google公司在GNN的基礎(chǔ)上,提出了一種基于邊的神經(jīng)網(wǎng)絡(luò)(Edge-GNN),同時(shí)將其納入到強(qiáng)化學(xué)習(xí)的架構(gòu)當(dāng)中以完成對(duì)不同狀態(tài)的編碼過(guò)程,并成功將該方法應(yīng)用于Google自身的張量處理器(Tensor Processing Unit, TPU)的設(shè)計(jì)流程中,能夠在數(shù)小時(shí)內(nèi)設(shè)計(jì)出與人類專家QoR相當(dāng)?shù)脑O(shè)計(jì)結(jié)果[31]。
為了進(jìn)一步加速布局的流程,文獻(xiàn)[32]與文獻(xiàn)[33]基于圖采樣與特征聚合(Graph SAmple and aggreGatE, D-SAGE)構(gòu)建了基于圖學(xué)習(xí)的體系架構(gòu),用來(lái)輔助布局工具進(jìn)行有效的決策,從而加速布局流程的收斂。PL-GNN首先將網(wǎng)表轉(zhuǎn)換為一個(gè)有向的超圖,其中節(jié)點(diǎn)和邊的特征是基于層次信息以及線網(wǎng)與內(nèi)存塊的關(guān)聯(lián)性而構(gòu)建的。在此基礎(chǔ)上,GNN模型被用來(lái)學(xué)習(xí)節(jié)點(diǎn)的嵌入,并通過(guò)加權(quán)的K-Means算法完成聚類操作,由此產(chǎn)生的聚類解便是一個(gè)最佳的布局解決方案。與商業(yè)工具相比較,基于圖學(xué)習(xí)的體系架構(gòu)的線長(zhǎng)優(yōu)化了3.9%、功耗優(yōu)化了2.8%。
除以上方法,上海交通大學(xué)嚴(yán)駿馳教授團(tuán)隊(duì)[34]針對(duì)大規(guī)模集成電路中宏模塊與標(biāo)準(zhǔn)單元的布局問(wèn)題,在2021年提出了一種基于強(qiáng)化學(xué)習(xí)與GNN的DeepPlace布局框架,即通過(guò)強(qiáng)化學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)所形成的梯度優(yōu)化分別完成對(duì)宏模塊與標(biāo)準(zhǔn)單元的布局自動(dòng)化過(guò)程,該工作也是學(xué)術(shù)界內(nèi)首篇應(yīng)用神經(jīng)網(wǎng)絡(luò)方法同時(shí)考慮宏模塊與標(biāo)準(zhǔn)單元布局的研究工作。
在布局的過(guò)程中進(jìn)行設(shè)計(jì)規(guī)則違例的預(yù)測(cè)同樣是一項(xiàng)非常重要的研究工作,因?yàn)榉欠ǖ牟季謱?huì)造成布線擁塞等設(shè)計(jì)違例問(wèn)題的出現(xiàn),進(jìn)而使得布線資源緊張,從而降低芯片性能[1]。因此,在布局階段進(jìn)行規(guī)則違例預(yù)測(cè)模型的構(gòu)建變得極其重要。在違例預(yù)測(cè)模型構(gòu)建完成后,便能夠在布局階段進(jìn)行例如布線后擁塞結(jié)果的預(yù)測(cè),從而方便對(duì)布局方案進(jìn)行實(shí)時(shí)調(diào)整,提前對(duì)布局質(zhì)量進(jìn)行優(yōu)化。隨著GNN相關(guān)研究的興起,應(yīng)用GNN來(lái)實(shí)現(xiàn)設(shè)計(jì)規(guī)則違例的預(yù)測(cè)正逐步成為一種趨勢(shì)。
國(guó)外在這方面的研究起步相對(duì)較早,Nvidia公司研究人員首先在2019年提出了一種基于圖的深度學(xué)習(xí)方法[35],相比于其他方法,擁塞預(yù)測(cè)準(zhǔn)確率提升到了75%。同時(shí),該方法對(duì)于大規(guī)模的網(wǎng)表文件同樣是適用的,例如,對(duì)于一個(gè)包含1.3×106標(biāo)準(zhǔn)單元的電路而言,該方法能夠在19 s內(nèi)給出較為準(zhǔn)確的擁塞預(yù)測(cè)結(jié)果,而其他同類方法的耗時(shí)為10~60 min。
除國(guó)外上述研究外,國(guó)內(nèi)華為公司諾亞方舟實(shí)驗(yàn)室團(tuán)隊(duì)首先在2021年提出了一種基于GNN的擁塞預(yù)測(cè)方法,并在DREAMPlace以及OpenRoad等開(kāi)源EDA工具中進(jìn)行了測(cè)試,相關(guān)結(jié)果表明,該方法能夠有效提升預(yù)測(cè)性能,并且能夠節(jié)省90%以上的運(yùn)行時(shí)間[36]。西南交通大學(xué)邸志雄教授團(tuán)隊(duì)[37]在2022年提出了基于GraphSAGE的方法,通過(guò)訓(xùn)練圖神經(jīng)網(wǎng)絡(luò)模型來(lái)建立布局的特征與詳細(xì)布線后短路違例的關(guān)系,以進(jìn)一步提高預(yù)測(cè)的精確性。該方法的具體工作流程如圖6所示。整個(gè)流程分為物理設(shè)計(jì)階段、特征提取階段以及訓(xùn)練與評(píng)估階段。在物理設(shè)計(jì)階段,通過(guò)EDA工具的布局器與布線器對(duì)指定網(wǎng)表完成布局與布線的操作,在完成布局操作后,文章使用了類似文獻(xiàn)[38]中的方法將布局進(jìn)行了拆分,形成了一塊一塊的非重疊的正方形的圖塊(Tile),每個(gè)圖塊的規(guī)模均為3×3的全局布線單元(Global Routing Cell, GRC)。隨后便可以基于圖塊間的位置關(guān)系建立鄰接矩陣,并在每個(gè)圖塊中提取影響可布線性的關(guān)鍵特征因素,例如標(biāo)準(zhǔn)單元的引腳以及線網(wǎng)等信息。最后,用布線后的短路違例來(lái)標(biāo)記這些圖塊,其中包含短路的圖塊標(biāo)記為正實(shí)例(Positive Instance, PI)1,相反則標(biāo)記為負(fù)實(shí)例(Negative Instance, NI)0。在此基礎(chǔ)上,將鄰接矩陣、特征信息以及標(biāo)記好的數(shù)據(jù)加載到圖神經(jīng)網(wǎng)絡(luò)GraphSAGE模型中進(jìn)行訓(xùn)練。模型訓(xùn)練完成后,將新的布局網(wǎng)表中的鄰接矩陣和特征信息輸入到訓(xùn)練好的模型中即可快速精確地確定每個(gè)圖塊中是否會(huì)出現(xiàn)短路違例。最終的實(shí)驗(yàn)結(jié)果表明,該預(yù)測(cè)模型能夠在具有更多短路違例的設(shè)計(jì)中實(shí)現(xiàn)更好的2元分類性能,并且在實(shí)際應(yīng)用中的性能也要優(yōu)于先前的基于歸納學(xué)習(xí)的相關(guān)工作。
圖6 基于GraphSAGE的短路違例預(yù)測(cè)方法
在超大規(guī)模集成電路設(shè)計(jì)中,布線的目的是在規(guī)定的布線區(qū)域內(nèi)實(shí)現(xiàn)電路內(nèi)部各個(gè)模塊間的物理連接,它是超大規(guī)模集成電路物理設(shè)計(jì)階段非常關(guān)鍵的步驟之一。隨著工藝的不斷發(fā)展,集成電路變得越來(lái)越復(fù)雜,單位面積中晶體管的數(shù)量呈指數(shù)增長(zhǎng),元器件間的連接關(guān)系也越來(lái)越復(fù)雜,從而導(dǎo)致超大規(guī)模集成電路的布線任務(wù)越來(lái)越困難。然而現(xiàn)階段的自動(dòng)布線算法布通率較低且速度緩慢,當(dāng)前在工業(yè)應(yīng)用中仍然需要大量依賴于工程師手動(dòng)進(jìn)行布線,導(dǎo)致了大量的時(shí)間和人力資源被消耗在布線工作中。因此,亟需一種能夠?qū)嶋H應(yīng)用于現(xiàn)代大規(guī)模集成電路設(shè)計(jì)的智能布線算法來(lái)提升EDA工具的設(shè)計(jì)效率。針對(duì)當(dāng)前EDA工具布線智能化程度低、自動(dòng)化率低、效果差的問(wèn)題,文獻(xiàn)[34]提出了一種依賴GNN的布線方法。該文提出了兩個(gè)強(qiáng)化學(xué)習(xí)的架構(gòu)DeepPlace和DeepPR,其中DeepPlace僅僅用來(lái)優(yōu)化布局流程,DeepPR則能夠同時(shí)對(duì)布局與布線的流程進(jìn)行優(yōu)化。DeepPR使用來(lái)自GCN的詳細(xì)節(jié)點(diǎn)嵌入作為強(qiáng)化學(xué)習(xí)架構(gòu)的策略網(wǎng)絡(luò),相應(yīng)的實(shí)驗(yàn)結(jié)果表明,DeepPR可以非常高效地從歷史經(jīng)驗(yàn)中進(jìn)行學(xué)習(xí),布局、布線后的半周線長(zhǎng)(Half-Perimeter Wire-Length, HPWL)指標(biāo)較現(xiàn)有方法而言優(yōu)化了8.41%。
隨著現(xiàn)代信息技術(shù)的發(fā)展,大規(guī)模集成電路的應(yīng)用范圍也越來(lái)越廣泛,小至各類電子產(chǎn)品,大至航天器、導(dǎo)彈、雷達(dá)等國(guó)家戰(zhàn)略軍工產(chǎn)品。集成電路的廣泛應(yīng)用為我們帶來(lái)信息時(shí)代紅利的同時(shí),也帶來(lái)眾多不可避免的安全問(wèn)題。近年來(lái),集成電路芯片受到的惡意攻擊和探測(cè)出的硬件漏洞層出不窮,甚至集成電路芯片設(shè)計(jì)流程中,在某些不能做到自主可控的環(huán)節(jié)鏈條,還可能被進(jìn)行反向或惡意植入硬件木馬,在國(guó)家信息安全被越來(lái)越重視的時(shí)代,硬件安全引起了國(guó)內(nèi)外研究人員的廣泛關(guān)注。
在EDA的工作流程中,反向工程是通過(guò)分析芯片的每一層來(lái)獲取知識(shí)產(chǎn)權(quán)(Intellectual Property,IP)或集成電路設(shè)計(jì)功能的過(guò)程。此類分析的結(jié)果往往可被用于功能驗(yàn)證以及安全保護(hù)的目的。集成電路的反向工程主要可以分為以下幾個(gè)階段,即產(chǎn)品拆解、系統(tǒng)級(jí)分析、過(guò)程分析以及電路提取[39–42]。產(chǎn)品拆解有助于對(duì)集成電路的內(nèi)部組件進(jìn)行識(shí)別,而系統(tǒng)級(jí)分析則有助于完成對(duì)底層功能以及邏輯門之間的互連等關(guān)系進(jìn)行分析。過(guò)程分析主要是為了對(duì)電路的結(jié)構(gòu)和材料進(jìn)行分析,以此來(lái)挖掘出集成電路可制造性方面的信息,最終進(jìn)行電路提取以完成電路級(jí)原理圖的構(gòu)建。近年來(lái),一些研究學(xué)者提出了基于GNN的方法來(lái)進(jìn)一步提升數(shù)字集成電路反向工程系統(tǒng)的性能,例如,文獻(xiàn)[43]提出了一種面向門級(jí)網(wǎng)表的基于GNN的反向工程方法GNN-RE,用于進(jìn)行子電路的提取和分類。具體如圖7所示,GNN-RE首先將門級(jí)網(wǎng)表映射為一個(gè)無(wú)向圖,圖中的節(jié)點(diǎn)對(duì)應(yīng)于標(biāo)準(zhǔn)門單元,圖中的邊則對(duì)應(yīng)于門單元間的連接關(guān)系。在無(wú)向圖中,每個(gè)節(jié)點(diǎn)的特征向量包括當(dāng)前節(jié)點(diǎn)所連接到的主輸入與主輸出的數(shù)量、按類型劃分的兩跳連接門的數(shù)量以及輸入與輸出的度。此外,GNN-RE還廣泛地比較了不同種類的GNN模型以及計(jì)算模塊,最終的實(shí)驗(yàn)結(jié)果表明,通過(guò)將GAT與GraphSAINT的采樣模塊結(jié)合使用可以獲得最佳的結(jié)果,在EPFL與ISCAS-85等70余個(gè)基準(zhǔn)電路上能夠獲得98.82%的平均精度。與GNN-RE相類似,為了解決門級(jí)網(wǎng)表中算術(shù)塊識(shí)別過(guò)程所存在的可擴(kuò)展性問(wèn)題,文獻(xiàn)[44]提出了一種基于異步雙向圖神經(jīng)網(wǎng)絡(luò)(Asynchronous Bidirectional Graph Neural Network, ABGNN)的方法,專門用于有向無(wú)環(huán)圖的表示學(xué)習(xí)。對(duì)開(kāi)源RISCV中央處理器設(shè)計(jì)的實(shí)驗(yàn)結(jié)果表明,相比于傳統(tǒng)方法,該求解方案能夠以最快的運(yùn)行時(shí)間實(shí)現(xiàn)最高的預(yù)測(cè)準(zhǔn)確度。
圖7 基于GNN的子電路提取與分類方法示意圖
RTL級(jí)的第三方IP復(fù)雜而靈活,能夠支持不同應(yīng)用程序下的多種配置,但同時(shí)也為硬件木馬的插入提供了途徑。硬件木馬在龐大的電路設(shè)計(jì)中所占面積很小。因此,它可以悄悄地隱藏在集成電路的設(shè)計(jì)中,人們往往很難通過(guò)肉眼或者簡(jiǎn)單的檢測(cè)手段發(fā)現(xiàn)硬件木馬的存在。并且在不可信的第三方IP的情況下,IP的Golden模型是無(wú)法獲取的,那么便無(wú)法使用基于測(cè)試或是測(cè)信道的方法來(lái)進(jìn)行硬件木馬的檢測(cè)。此外,一些破壞性方法,例如反向工程,雖然能夠檢查集成電路是否感染了硬件木馬,但只能在制造后進(jìn)行。其他的一些硬件木馬檢測(cè)方法,例如基于圖相似性的方法,雖然能夠進(jìn)行硬件木馬的檢測(cè),但其復(fù)雜度偏高并且無(wú)法對(duì)一些未知的硬件木馬進(jìn)行有效的識(shí)別。
為此,文獻(xiàn)[45]提出了一種基于GNN的硬件木馬檢測(cè)平臺(tái)GNN4TJ, GNN4TJ能夠在事先不了解設(shè)計(jì)IP或硬件木馬結(jié)構(gòu)的前提下完成硬件木馬的檢測(cè)識(shí)別,GNN4TJ首先將RTL設(shè)計(jì)轉(zhuǎn)換為相應(yīng)的數(shù)據(jù)流圖DFG,隨后將DFG輸入到GNN模型內(nèi)部用以進(jìn)行特征的提取以及底層設(shè)計(jì)結(jié)構(gòu)和行為的學(xué)習(xí)。在此基礎(chǔ)上,GNN將執(zhí)行圖形分類任務(wù)以進(jìn)行硬件木馬的識(shí)別。最后,該文在TrustHub測(cè)試基準(zhǔn)上對(duì)模型進(jìn)行了驗(yàn)證,相關(guān)的實(shí)驗(yàn)結(jié)果表明,GNN4TJ能夠在21.1 ms內(nèi)以97%的真陽(yáng)率非常快速地檢測(cè)到未知的硬件木馬。除上述研究外,研究人員也提出了其他基于GNN的硬件木馬檢測(cè)平臺(tái)[46–49],以進(jìn)行硬件木馬的檢測(cè)與定位,相關(guān)工作流程與GNN4TJ大致相同,這里不再進(jìn)行贅述。
為了保證芯片設(shè)計(jì)過(guò)程中的性能與可靠性,僅僅關(guān)注硬件安全是遠(yuǎn)遠(yuǎn)不夠的,還需要對(duì)芯片設(shè)計(jì)過(guò)程中的測(cè)試驗(yàn)證環(huán)節(jié)進(jìn)行關(guān)注。一般情況下,測(cè)試的工作發(fā)生在封裝的流程之后,設(shè)計(jì)的規(guī)模越大,測(cè)試工具的復(fù)雜性和執(zhí)行時(shí)間便越高。此外,測(cè)試還需保證較高的覆蓋率、避免冗余的測(cè)試用例,并且測(cè)試在很大程度上需要研究人員的專業(yè)知識(shí),通常情況下不具備擴(kuò)展性[50]。為了克服以上問(wèn)題,有研究學(xué)者將GNN的方法引入到了測(cè)試的流程中,例如,為了能夠在設(shè)計(jì)中通過(guò)提供最佳的測(cè)試點(diǎn)來(lái)降低測(cè)試的復(fù)雜性,文獻(xiàn)[51]提出了一種高性能的圖卷積神經(jīng)網(wǎng)絡(luò)(Graph Convolution Neural Networks, GCNNs)模型,用于處理數(shù)字邏輯電路的不規(guī)則圖表示,同時(shí)能夠最大限度地提高故障覆蓋率。為了實(shí)現(xiàn)上述目標(biāo),文獻(xiàn)[51]首先訓(xùn)練了一個(gè)GCNNs分類器來(lái)預(yù)測(cè)網(wǎng)表中的候選觀測(cè)點(diǎn),隨后GCNNs分類器將被用作迭代過(guò)程的一部分,基于分類的結(jié)果從而進(jìn)一步給出觀測(cè)點(diǎn)的插入位置。相關(guān)的實(shí)驗(yàn)結(jié)果表明,該文獻(xiàn)所提出的GCNNs模型在一些難以觀測(cè)的節(jié)點(diǎn)的預(yù)測(cè)方面具有優(yōu)于典型機(jī)器學(xué)習(xí)模型的精度,與現(xiàn)有商業(yè)可測(cè)試性分析工具相比較,文獻(xiàn)[51]所提出的觀測(cè)點(diǎn)插入流程實(shí)現(xiàn)了類似的故障覆蓋,從而進(jìn)一步將觀測(cè)點(diǎn)減少了11%,觀測(cè)模式數(shù)量減少了6%。
最后,表1對(duì)上述基于GNN的EDA技術(shù)進(jìn)行比較分析。
表1 基于GNN的EDA技術(shù)
基于GNN的EDA技術(shù)的主要目標(biāo)是EDA工具通過(guò)自主學(xué)習(xí)的過(guò)程實(shí)現(xiàn)無(wú)人參與的設(shè)計(jì)自動(dòng)化,盡可能減少人工干預(yù)以及設(shè)計(jì)的返工迭代。隨著集成電路技術(shù)的發(fā)展,工藝特征的尺寸也在減小,導(dǎo)致當(dāng)今芯片設(shè)計(jì)面臨巨大的挑戰(zhàn),基于GNN的EDA技術(shù)可以顯著地提升集成電路的設(shè)計(jì)效率,是未來(lái)實(shí)現(xiàn)無(wú)人參與的敏捷設(shè)計(jì)的重要研究?jī)?nèi)容[2]。目前,基于GNN的EDA技術(shù)的研究尚處于起步發(fā)展階段,其未來(lái)的發(fā)展方向也存在著很大的不確定性。因此,接下來(lái)將從相關(guān)的局限性出發(fā),對(duì)基于GNN的EDA技術(shù)所面臨的挑戰(zhàn)及其可能的應(yīng)對(duì)措施進(jìn)行說(shuō)明。
(1)毋庸置疑,基于GNN的EDA體系架構(gòu)要明顯優(yōu)于淺層機(jī)器學(xué)習(xí)、深度學(xué)習(xí)方法或是一些已有的解決方案,這主要是由于GNN能夠?qū)ν負(fù)浣Y(jié)構(gòu)以及相應(yīng)的特征信息進(jìn)行有效的提取,但這同時(shí)也是以構(gòu)建更大的數(shù)據(jù)集和更長(zhǎng)的模型訓(xùn)練時(shí)長(zhǎng)為代價(jià)的。GNN與其他的神經(jīng)網(wǎng)絡(luò)相類似,其表現(xiàn)形式類似一個(gè)黑盒。因此,如果想要在真實(shí)的EDA流程中應(yīng)用GNN, GNN預(yù)測(cè)的安全性以及可解釋性是我們不可忽視的一個(gè)重要問(wèn)題。
(2)GNN模型的訓(xùn)練過(guò)程通常對(duì)運(yùn)行時(shí)間以及對(duì)應(yīng)數(shù)據(jù)集的大小具有嚴(yán)格的要求,需要針對(duì)EDA工具的輸出結(jié)果對(duì)數(shù)據(jù)進(jìn)行收集并標(biāo)記。但現(xiàn)階段相關(guān)數(shù)據(jù)集的獲取是非常困難的,一方面涉及具體商業(yè)保密問(wèn)題,集成電路的設(shè)計(jì)企業(yè)不會(huì)主動(dòng)將這部分?jǐn)?shù)據(jù)進(jìn)行公開(kāi)。另一方面,開(kāi)源數(shù)據(jù)的獲取也同樣缺乏相關(guān)渠道,雖然近年來(lái)一些研究團(tuán)隊(duì)專門針對(duì)基于機(jī)器學(xué)習(xí)的EDA開(kāi)源數(shù)據(jù)集進(jìn)行了研究,例如北京大學(xué)林亦波教授團(tuán)隊(duì)在2022年發(fā)布了針對(duì)機(jī)器學(xué)習(xí)的EDA數(shù)據(jù)集CircuitNet[52],但這并不是為GNN模型而定制的。針對(duì)這一問(wèn)題,可以采用像訓(xùn)練其他神經(jīng)網(wǎng)絡(luò)一樣事先進(jìn)行模型的預(yù)訓(xùn)練過(guò)程,進(jìn)而采用遷移學(xué)習(xí)的方式,將已訓(xùn)練好的模型遷移至與之相類似的問(wèn)題。例如,文獻(xiàn)[31]便采用了遷移學(xué)習(xí)的策略,能夠大幅度縮短GNN模型的訓(xùn)練時(shí)間以及所需要的訓(xùn)練數(shù)據(jù)量。再比如,可以采用“共享”與“微調(diào)”相結(jié)合的方式,即對(duì)于某一類基于GNN的EDA方法而言,可以將GNN模型的構(gòu)建過(guò)程劃分為“共享層”與“微調(diào)層”兩個(gè)部分,一些EDA求解問(wèn)題的共性參數(shù)可以放到“共享層”中進(jìn)行訓(xùn)練,對(duì)于某些EDA求解問(wèn)題所獨(dú)有的參數(shù)則可以在“微調(diào)層”中進(jìn)行訓(xùn)練,那么對(duì)于一個(gè)已預(yù)訓(xùn)練好的GNN模型而言,在向另一個(gè)EDA求解問(wèn)題進(jìn)行遷移的過(guò)程中,便只需針對(duì)GNN模型的“微調(diào)層”參數(shù)進(jìn)行訓(xùn)練即可,這對(duì)于降低訓(xùn)練GNN所需要的樣本數(shù)量以及訓(xùn)練時(shí)間是非常有利的。
(3)從EDA的角度來(lái)看,輸入到GNN模型中的圖數(shù)據(jù)大多是不同抽象級(jí)別的電路網(wǎng)表,通常情況下這些電路網(wǎng)表的規(guī)模會(huì)非常大,這樣便導(dǎo)致輸入到GNN模型的圖數(shù)據(jù)需要維護(hù)一個(gè)非常巨大的并且稀疏的鄰接矩陣,這對(duì)計(jì)算量的要求是非常巨大的。與一些簡(jiǎn)單的有向圖或是無(wú)向圖相比較,EDA工作流程中的電路網(wǎng)表往往表現(xiàn)為一個(gè)復(fù)雜且有向的超圖結(jié)構(gòu),因此,研究特定的GNN架構(gòu)以使其能夠更好地處理EDA電路網(wǎng)表的超圖結(jié)構(gòu)數(shù)據(jù)仍然是一個(gè)非常值得探索的研究方向。
(4)現(xiàn)階段GNN架構(gòu)的實(shí)現(xiàn)大多依賴圖形處理器(Graphics Processing Unit, GPU)及其相關(guān)的生態(tài)環(huán)境,例如PyTorch的PyTorch Geometric(PyG),TensorFlow與Keras的Spektral,以及與架構(gòu)無(wú)關(guān)的深度圖形庫(kù)(Deep Graph Library, DGL)。但需要注意的一點(diǎn)在于上述工具生態(tài)距離完全自主可控仍存在較大的差距,現(xiàn)階段仍需依賴國(guó)外科技巨頭的GPU顯卡,還做不到相應(yīng)國(guó)產(chǎn)GPU生態(tài)的支持,相應(yīng)的基于GNN的EDA技術(shù)仍存在較大的被“卡脖子”的風(fēng)險(xiǎn),這一點(diǎn)與傳統(tǒng)的基于機(jī)器學(xué)習(xí)的EDA技術(shù)相類似,但不同之處在于,傳統(tǒng)的機(jī)器學(xué)習(xí)算子庫(kù)的兼容相對(duì)而言較易實(shí)現(xiàn),國(guó)內(nèi)外也出現(xiàn)了許多相似的研究,例如,在半定制的FPGA上實(shí)現(xiàn)對(duì)普通PyTorch庫(kù)的兼容,從而可以完美實(shí)現(xiàn)對(duì)GPU的替代[53]。但GNN相關(guān)的研究現(xiàn)階段仍停留在理論探索階段,尚未出現(xiàn)實(shí)際替代產(chǎn)品。因此,大力發(fā)展國(guó)產(chǎn)GNN算子庫(kù)相兼容的生態(tài),構(gòu)建具有自主可控的軟硬件環(huán)境是我們下一步需要重點(diǎn)考慮的內(nèi)容。
(5)上面提到的基于GNN的EDA技術(shù)的解決方案最終需要嵌入到實(shí)際的EDA工具內(nèi)部,以此來(lái)指導(dǎo)EDA設(shè)計(jì)流程的優(yōu)化,依據(jù)GNN模型對(duì)EDA工具設(shè)計(jì)流程的影響程度,現(xiàn)階段主要可以總結(jié)為以下3類:EDA工具調(diào)用GNN模型、將EDA工具與GNN模型進(jìn)行有效集成以及基于GNN模型的輔助優(yōu)化決策,在上述3個(gè)層次中,無(wú)人參與的程度由低到高不斷遞進(jìn),在最后一個(gè)層次中,可以根據(jù)EDA工具的輸出結(jié)果給出合理的性能優(yōu)化建議,這樣可以顯著減少EDA設(shè)計(jì)流程中由于人為參與所導(dǎo)致的一系列的不確定性因素,提供智能化的輔助設(shè)計(jì)方法。與此同時(shí),GNN模型優(yōu)化輸出結(jié)果的可兼容性是非常重要的,如何將GNN模型的優(yōu)化結(jié)果與現(xiàn)有主流EDA工具的中間結(jié)果相兼容,是實(shí)現(xiàn)上述將GNN逐步融入到EDA工具內(nèi)部的關(guān)鍵。
將GNN技術(shù)應(yīng)用于解決EDA流程,通過(guò)這種方式EDA工具可以從先前的經(jīng)驗(yàn)中進(jìn)行學(xué)習(xí),并能夠更有針對(duì)性地解決一些模型構(gòu)建、性能預(yù)測(cè)以及最優(yōu)求解問(wèn)題。截至目前,GNN技術(shù)已在EDA體系的各個(gè)流程中得到了應(yīng)用。本文圍繞基于GNN的EDA技術(shù),將GNN在EDA流程中各不同階段的應(yīng)用情況進(jìn)行了綜合性的闡述,在此基礎(chǔ)上,總結(jié)了當(dāng)前基于GNN的EDA技術(shù)所面臨的一系列挑戰(zhàn),給出了相對(duì)應(yīng)的發(fā)展建議。作為前沿領(lǐng)域最新的發(fā)展方向,基于GNN的EDA技術(shù)中仍存在許多未知的問(wèn)題值得進(jìn)一步研究,這需要集成電路設(shè)計(jì)及相關(guān)領(lǐng)域的專家學(xué)者共同攜手,共同提升現(xiàn)有EDA工具的結(jié)果質(zhì)量。同時(shí)作為先進(jìn)集成電路技術(shù)未來(lái)的一個(gè)重要發(fā)展方向,相信隨著相關(guān)研究的不斷深入,基于GNN的EDA技術(shù)將成為未來(lái)我國(guó)芯片產(chǎn)業(yè)突破“卡脖子”問(wèn)題的重要途徑。