科研進(jìn)展

計算所在芯片全自動設(shè)計研究方向取得進(jìn)展

日期: 2024-07-30

|  來源: 【字號:

芯片設(shè)計是一項非常具有挑戰(zhàn)性且耗費人力和資源的工作。通常需要由工程師團隊編寫代碼,然后在電子設(shè)計自動化(EDA)工具的輔助下生成電路邏輯。針對人工編寫的代碼,工程師團隊需反復(fù)對其進(jìn)行迭代的功能驗證和性能/功耗優(yōu)化。該過程通常需要上百人團隊迭代數(shù)月或數(shù)年才能完成。

芯片全自動設(shè)計的目標(biāo)是由機器代替人自動生成滿足功能和性能需求規(guī)范的電路邏輯,從而極大減少人力和資源投入,加速設(shè)計迭代。自計算機科學(xué)奠基人之一A. Church在1957年提出“邱奇問題”以來,處理器芯片的全自動化設(shè)計成為人工智能領(lǐng)域的長期愿景。但由于處理器芯片電路準(zhǔn)確率要求高、設(shè)計空間大,處理器邏輯必須由人類專家進(jìn)行邏輯設(shè)計。這成為了整個流程中的設(shè)計效率瓶頸。

中國科學(xué)院計算技術(shù)研究所處理器芯片全國重點實驗室團隊在實驗室主任陳云霽帶領(lǐng)下,聚焦解決處理器芯片自動設(shè)計所面臨的精度和規(guī)模兩大挑戰(zhàn),提出了以驗證為中心的處理器智能設(shè)計方法學(xué):從隨機電路出發(fā),由機器全自動完成包括驗證、調(diào)試和修復(fù)的反復(fù)迭代直到獲得滿足設(shè)計需求的目標(biāo)電路。

具體而言,團隊將處理器自動設(shè)計問題轉(zhuǎn)化成從驗證程序的輸入輸出(IO)出發(fā)自動生成大規(guī)模的BDD(Binary Decision Diagram)表示問題。針對該問題,團隊設(shè)計了二元猜測圖(BSD),將傳統(tǒng)BDD中的確定性子圖替換成BSD中通過對IO的蒙特卡洛采樣來確定的猜測節(jié)點。通過對BSD的不斷展開和歸并,使得其生成的電路能夠逐步逼近目標(biāo)電路邏輯。上述方法在5小時內(nèi)自動設(shè)計出了超過4百萬個邏輯門的通用處理器——啟蒙1號,將現(xiàn)有工作能自動設(shè)計的電路規(guī)模提升了3至4個數(shù)量級。啟蒙1號芯片是世界上首顆無人工干預(yù)、全自動設(shè)計的處理器芯片,可以正常運行Linux操作系統(tǒng),實測性能達(dá)到Intel 486的水平。相關(guān)論文Automated CPU Design by Learning from Input-Output Examples已被CCF-A類會議IJCAI 2024接收。

為進(jìn)一步提升自動生成處理器的性能,團隊提出了一種基于門級依賴關(guān)系分析的自動流水線設(shè)計方法。數(shù)據(jù)依賴分析是影響自動流水線設(shè)計的關(guān)鍵。與傳統(tǒng)數(shù)據(jù)依賴分析只能在寄存器等高層次進(jìn)行不同,該方法在細(xì)粒度的門電路級別自動進(jìn)行數(shù)據(jù)流分析。在分析結(jié)果基礎(chǔ)上通過二元猜測圖構(gòu)建了細(xì)粒度的流水線控制單元,在保證功能正確前提下,利用門級前遞和猜測提升了程序執(zhí)行效率,達(dá)到了1.57x的性能提升;更重要的是,在某些情況下可以找到比人類設(shè)計更優(yōu)的流水設(shè)計,平均吞吐效果提升了31%。相關(guān)論文Revisiting Automatic Pipelining: Gate-level Forwarding and Speculation已被CCF-A類會議DAC 2024接收。


附件: