博客專欄

EEPW首頁 > 博客 > Layout工程師危矣?谷歌推出芯片自動設(shè)計工具:聯(lián)發(fā)科已采用!

Layout工程師危矣?谷歌推出芯片自動設(shè)計工具:聯(lián)發(fā)科已采用!

發(fā)布人:芯智訊 時間:2024-12-03 來源:工程師 發(fā)布文章

image.png

雖然近年來各大EDA公司都在積極的將AI引入到自己的芯片設(shè)計工具當(dāng)中。但是早在2020年,谷歌就發(fā)布了題為《Chip Placement with Deep Reinforcement Learning》預(yù)印本論文,介紹了其設(shè)計芯片布局的新型強化學(xué)習(xí)方法。隨后在2021年,谷歌又在 Nature上發(fā)表了論文并將其開源了。

近日,谷歌詳細(xì)介紹了其用于芯片設(shè)計布局的強化學(xué)習(xí)方法,并將該模型命名為“AlphaChip” ,據(jù)稱AlphaChip有望大大加快芯片布局規(guī)劃的設(shè)計,并使它們在性能、功耗和面積方面更加優(yōu)化。目前AlphaChip已發(fā)布在Github上與公眾共享,同時谷歌還開放了一個在 20 個 TPU 模塊上預(yù)訓(xùn)練的檢查點。據(jù)介紹,AlphaChip在設(shè)計谷歌的張量處理單元 (TPU) 方面發(fā)揮了重要作用,并已被包括聯(lián)發(fā)科(MediaTek)在內(nèi)的其他公司采用。

谷歌首席科學(xué)家 Jeff Dean 表示,開放預(yù)訓(xùn)練 AlphaChip 模型檢查點以后,外部用戶可以更容易地使用 AlphaChip 來啟動自己的芯片設(shè)計。

從數(shù)個月縮短至數(shù)小時

通常芯片設(shè)計布局或平面圖是芯片開發(fā)中時間最長、勞動強度最高的階段。近年來,新思科技(Synopsys)開發(fā)了 AI 輔助芯片設(shè)計工具,可以加速開發(fā)并優(yōu)化芯片的布局規(guī)劃。但是,這些工具非常昂貴。谷歌希望在一定程度上使這種 AI 輔助芯片設(shè)計方法大眾化。

如今,如果由人類來為 GPU 等復(fù)雜芯片設(shè)計平面圖大約需要 24 個月。不太復(fù)雜的芯片的平面規(guī)劃可能也至少需要幾個月的時間,而這意味著數(shù)百萬美元的成本,因為維持一個設(shè)計團(tuán)隊通常需要一大筆費用。

谷歌表示,AlphaChip 加快了這一時間表,可以在短短幾個小時內(nèi)創(chuàng)建芯片布局。此外,據(jù)說它的設(shè)計非常出色,因為它們優(yōu)化了電源效率和性能。谷歌還展示了一張圖表,顯示與人類開發(fā)人員相比,各種版本的 TPU 和 Trillium 的平均線長(wirelength)都有所減少。

image.png

△圖中展示了 AlphaChip 在三代 Google 張量處理單元 (TPU) 中的平均線長(wirelength)減少量,并與 TPU 物理設(shè)計團(tuán)隊生成的位置進(jìn)行了比較。

AlphaChip 是如何工作的?

芯片設(shè)計并非易事,部分原因在于計算機芯片由許多相互連接的塊組成,這些塊具有多層電路元件,所有元件都通過極細(xì)的導(dǎo)線連接。此外,芯片還有很多復(fù)雜且相互交織的設(shè)計約束,設(shè)計時必須同時滿足所有約束。由于這些復(fù)雜性,芯片設(shè)計師們在 60 多年來一直在努力實現(xiàn)芯片布局規(guī)劃過程的自動化。

與 AlphaGo 和 AlphaZero 類似,谷歌構(gòu)建時 AlphaChip,也將芯片的布局規(guī)劃視為一種博弈。

AlphaChip 從空白網(wǎng)格開始,一次放置一個電路元件,直到完成所有元件的放置。然后根據(jù)最終布局的質(zhì)量給予獎勵。谷歌提出了一種新穎的「基于邊」的圖神經(jīng)網(wǎng)絡(luò)使 AlphaChip 能夠?qū)W習(xí)互連芯片元件之間的關(guān)系,并在整個芯片中進(jìn)行推廣,讓 AlphaChip 在其設(shè)計的每一個布局中不斷進(jìn)步。

image.png

△左圖:AlphaChip 在沒有任何經(jīng)驗的情況下放置開源處理器 Ariane RISC-V CPU的電路元件;右圖:AlphaChip 在對 20 個 TPU 相關(guān)設(shè)計進(jìn)行練習(xí)后放置相同的電路元件。

AlphaChip 還使用強化學(xué)習(xí)模型,其中代理在預(yù)設(shè)環(huán)境中采取行動,觀察結(jié)果,并從這些經(jīng)驗中學(xué)習(xí),以便在未來做出更好的選擇。在 AlphaChip 的情況下,系統(tǒng)將 chip floorplanning 視為一種游戲,一次將一個 circuit 元件放置在空白網(wǎng)格上。該系統(tǒng)隨著解決更多布局而改進(jìn),使用圖形神經(jīng)網(wǎng)絡(luò)來理解組件之間的關(guān)系。

谷歌TPU及聯(lián)發(fā)科天璣芯片設(shè)計均已采用

自 2020 年以來,AlphaChip 一直被用于設(shè)計谷歌自己的 TPU AI 加速器,這些加速器驅(qū)動著谷歌的許多大規(guī)模 AI 模型和云服務(wù)。這些處理器運行基于 Transformer 的模型,為谷歌的 Gemini 和 Imagen 提供支持。

為了設(shè)計 TPU 布局,AlphaChip 首先在前幾代的各種芯片塊上進(jìn)行練習(xí),例如片上和芯片間網(wǎng)絡(luò)塊、內(nèi)存控制器和數(shù)據(jù)傳輸緩沖區(qū)。這個過程稱為預(yù)訓(xùn)練。然后谷歌在當(dāng)前的 TPU 塊上運行 AlphaChip 以生成高質(zhì)量的布局。與之前的方法不同,AlphaChip 解決了更多芯片布局任務(wù)實例,因此變得更好、更快,就像人類專家所做的那樣。

可以說AlphaChip 改進(jìn)了每一代 TPU 的設(shè)計,包括最新的第 6 代 Trillium 芯片,確保了更高的性能和更快的開發(fā)。盡管如此,谷歌和聯(lián)發(fā)科目前仍都只是依賴 AlphaChip 來制作芯片當(dāng)中有限的一些區(qū)塊,而人類開發(fā)人員仍然承擔(dān)了大部分的設(shè)計工作。不過,隨著持續(xù)AlphaChip的持續(xù)迭代,其所承擔(dān)的區(qū)塊也越來越多,已經(jīng)從TPU v5e的10個區(qū)塊提升到了Trillium的25個區(qū)塊。

image.png

△谷歌最近三代張量處理單元 (TPU)(包括 v5e、v5p 和 Trillium)中 AlphaChip 設(shè)計的芯片塊的數(shù)量

到目前為止,AlphaChip 已被用于開發(fā)各種處理器,包括谷歌的 TPU 和聯(lián)發(fā)科旗艦級天璣 5G SoC芯片,這些處理器廣泛用于各種智能手機。此外,還包括谷歌首款基于 Arm 的通用數(shù)據(jù)中心 CPU—— Axion。因此,AlphaChip 能夠在不同類型的處理器中進(jìn)行泛化。

谷歌表示,它已經(jīng)在各種芯片模塊上進(jìn)行了預(yù)訓(xùn)練,這使得 AlphaChip 能夠在實踐更多設(shè)計時生成越來越高效的布局。雖然人類專家可以學(xué)習(xí),而且許多人學(xué)得很快,但機器的學(xué)習(xí)速度要高出幾個數(shù)量級。

擴展AI在芯片開發(fā)中的應(yīng)用

谷歌表示,AlphaChip 的成功激發(fā)了一波新的研究浪潮,將人工智能用于芯片設(shè)計的不同階段。這包括將AI技術(shù)擴展到邏輯綜合、宏選擇和時序優(yōu)化等領(lǐng)域,Synopsys和Cadence已經(jīng)提供了這些技術(shù),盡管需要很多錢。據(jù)谷歌稱,研究人員還在探索如何將 AlphaChip 的方法應(yīng)用于芯片開發(fā)的更進(jìn)一步階段。

“AlphaChip 激發(fā)了芯片設(shè)計強化學(xué)習(xí)的全新研究路線,跨越了從邏輯綜合到布局規(guī)劃、時序優(yōu)化等的設(shè)計流程,”谷歌的一份聲明中寫道。

展望未來,谷歌看到了 AlphaChip 徹底改變整個芯片設(shè)計生命周期的潛力:從架構(gòu)設(shè)計到布局再到制造,人工智能驅(qū)動的優(yōu)化可能會帶來更快的芯片、更?。锤阋耍┖透?jié)能的芯片。雖然目前谷歌的服務(wù)器和基于聯(lián)發(fā)科天璣 5G 的智能手機受益于 AlphaChip,但未來應(yīng)用程序可能會擴展到幾乎所有領(lǐng)域。

目前AlphaChip 的未來版本已經(jīng)在開發(fā)中,因此或許未來在AI的驅(qū)動下,芯片設(shè)計將會變得更加的簡單。

編輯:芯智訊-浪客劍


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: 芯片

技術(shù)專區(qū)

關(guān)閉