中科院計(jì)算所在芯片全自動設(shè)計(jì)研究方向取得進(jìn)展芯片設(shè)計(jì)是一項(xiàng)非常具有挑戰(zhàn)性且耗費(fèi)人力和資源的工作。通常需要由工程師團(tuán)隊(duì)編寫代碼,然后在電子設(shè)計(jì)自動化(EDA)工具的輔助下生成電路邏輯。針對人工編寫的代碼,工程師團(tuán)隊(duì)需反復(fù)對其進(jìn)行迭代的功能驗(yàn)證和性能/功耗優(yōu)化。該過程通常需要上百人團(tuán)隊(duì)迭代數(shù)月或數(shù)年才能完成。 芯片全自動設(shè)計(jì)的目標(biāo)是由機(jī)器代替人自動生成滿足功能和性能需求規(guī)范的電路邏輯,從而極大減少人力和資源投入,加速設(shè)計(jì)迭代。自計(jì)算機(jī)科學(xué)奠基人之一A. Church在1957年提出“邱奇問題”以來,處理器芯片的全自動化設(shè)計(jì)成為人工智能領(lǐng)域的長期愿景。但由于處理器芯片電路準(zhǔn)確率要求高、設(shè)計(jì)空間大,處理器邏輯必須由人類專家進(jìn)行邏輯設(shè)計(jì)。這成為了整個流程中的設(shè)計(jì)效率瓶頸。 中科院計(jì)算技術(shù)研究所處理器芯片全國重點(diǎn)實(shí)驗(yàn)室團(tuán)隊(duì)在實(shí)驗(yàn)室主任陳云霽帶領(lǐng)下,聚焦解決處理器芯片自動設(shè)計(jì)所面臨的精度和規(guī)模兩大挑戰(zhàn),提出了以驗(yàn)證為中心的處理器智能設(shè)計(jì)方法學(xué):從隨機(jī)電路出發(fā),由機(jī)器全自動完成包括驗(yàn)證、調(diào)試和修復(fù)的反復(fù)迭代直到獲得滿足設(shè)計(jì)需求的目標(biāo)電路。 具體而言,團(tuán)隊(duì)將處理器自動設(shè)計(jì)問題轉(zhuǎn)化成從驗(yàn)證程序的輸入輸出(IO)出發(fā)自動生成大規(guī)模的BDD(Binary Decision Diagram)表示問題。針對該問題,團(tuán)隊(duì)設(shè)計(jì)了二元猜測圖(BSD),將傳統(tǒng)BDD中的確定性子圖替換成BSD中通過對IO的蒙特卡洛采樣來確定的猜測節(jié)點(diǎn)。通過對BSD的不斷展開和歸并,使得其生成的電路能夠逐步逼近目標(biāo)電路邏輯。上述方法在5小時內(nèi)自動設(shè)計(jì)出了超過4百萬個邏輯門的通用處理器——啟蒙1號,將現(xiàn)有工作能自動設(shè)計(jì)的電路規(guī)模提升了3至4個數(shù)量級。啟蒙1號芯片是世界上首顆無人工干預(yù)、全自動設(shè)計(jì)的處理器芯片,可以正常運(yùn)行Linux操作系統(tǒng),實(shí)測性能達(dá)到Intel 486的水平。相關(guān)論文Automated CPU Design by Learning from Input-Output Examples已被CCF-A類會議IJCAI 2024接收。 為進(jìn)一步提升自動生成處理器的性能,團(tuán)隊(duì)提出了一種基于門級依賴關(guān)系分析的自動流水線設(shè)計(jì)方法。數(shù)據(jù)依賴分析是影響自動流水線設(shè)計(jì)的關(guān)鍵。與傳統(tǒng)數(shù)據(jù)依賴分析只能在寄存器等高層次進(jìn)行不同,該方法在細(xì)粒度的門電路級別自動進(jìn)行數(shù)據(jù)流分析。在分析結(jié)果基礎(chǔ)上通過二元猜測圖構(gòu)建了細(xì)粒度的流水線控制單元,在保證功能正確前提下,利用門級前遞和猜測提升了程序執(zhí)行效率,達(dá)到了1.57x的性能提升;更重要的是,在某些情況下可以找到比人類設(shè)計(jì)更優(yōu)的流水設(shè)計(jì),平均吞吐效果提升了31%。相關(guān)論文Revisiting Automatic Pipelining: Gate-level Forwarding and Speculation已被CCF-A類會議DAC 2024接收。 關(guān)鍵詞: 芯片
|