芯片設(shè)計流程
了解谷歌的工作我們首先要知道芯片的設(shè)計過程
首先要確定項目需求,這個階段主要工作室規(guī)劃芯片的功能以及各項指標(biāo),接著進行系統(tǒng)級別的設(shè)計,對芯片的各個子模塊進行建模,然后進入具體的設(shè)計流程,分為前端和后端,前端主要包括RTL設(shè)計與驗證,硬件仿真驗證,DFT還有電路綜合,后端流程中主要包括版圖設(shè)計、物理驗證、版圖后仿真等等,直到最后的GDS
下面是從網(wǎng)上找的一張流程圖
那么谷歌的論文是做的哪部分呢?答案是后端中的版圖任務(wù),具體來說是布局規(guī)劃任務(wù)。
谷歌工作介紹
標(biāo)題
Superhuman floorplans for microchips/在芯片布局任務(wù)中超越人類
標(biāo)題部分其實谷歌就已經(jīng)告訴大家了,我們的研究集中在芯片布局這個任務(wù)
摘要
? A machine-learning system has been trained to place memory blocks in microchip designs. The system beats human experts at the task, and offers the promise of better, more-rapidly produced chip designs than are currently possible ?
? 我們訓(xùn)練了一個機器學(xué)習(xí)系統(tǒng)用于在芯片布局中放置存儲塊。系統(tǒng)在這項任務(wù)中擊敗了人類專家,未來能夠?qū)崿F(xiàn)更快更好的芯片設(shè)計 ?
芯片的布局任務(wù)究竟在做什么?
經(jīng)過前端的RTL設(shè)計,再使用綜合工具,將RTL代碼轉(zhuǎn)換為門級網(wǎng)表。最后在布局任務(wù)中,將門級網(wǎng)表作為輸入,劃分成不同的模塊,對模塊進行布局,布局的意義在于,通過合理的拓?fù)鋬?yōu)化,減少信號的延遲,提高時鐘的質(zhì)量,保證芯片的工作頻率。一顆高端芯片的晶體管數(shù)量可以達到上百億,這么多晶體管分布在大大小小很多模塊中,所以這部分工作,原本就是由EDA工具通過算法實現(xiàn)的,傳統(tǒng)的布局布線算法采用模擬退火算法。
論文將布局規(guī)劃問題總結(jié)為
? 芯片布局規(guī)劃涉及將網(wǎng)表放置在芯片畫布(二維網(wǎng)格)上,以便優(yōu)化性能指標(biāo)(例如,功耗、時序、面積和線長),同時遵守對密度的嚴(yán)格限制和路由擁塞。?
這個問題的實現(xiàn),完全不涉及芯片本身的功能設(shè)計,更加不涉及芯片的架構(gòu)設(shè)計,是一個單純的算法問題,抽象起來就是給很多方塊,擺放在指定區(qū)域內(nèi),對他們的密度、走線、時序具有要求,這是一個搜索空間很大的圖論問題。所以傳統(tǒng)的EDA中才會使用模擬退火等算法去實現(xiàn)它。
谷歌做了什么
簡要的概括就是在芯片設(shè)計的后端流程--布局規(guī)劃中,提出使用強化學(xué)習(xí)的模型去取待傳統(tǒng)的人工配合算法的方法,與媒體所宣稱的AI自舉完全對不上。
媒體的標(biāo)題是
? 人類需要幾個月才能設(shè)計出的芯片,谷歌的人工智能在不到六個小時的時間內(nèi)設(shè)計出來。?
可實際上是
? 在后端的布局布線任務(wù)中,谷歌的人工智能能夠在不到六個小時的時間內(nèi)完成,傳統(tǒng)的版圖工程師需要幾個月時間 ?
而整個芯片設(shè)計周期占據(jù)主導(dǎo)地位的架構(gòu)規(guī)劃、RTL實現(xiàn)、RTL驗證等任務(wù),谷歌并沒有涉足,這些步驟的時間比后端所需要的時間可能會更加長,從半年到兩三年不等。
系統(tǒng)具體如何工作
芯片布局規(guī)劃類似于具有不同部分(例如,網(wǎng)表拓?fù)?、宏計?shù)、宏尺寸和縱橫比)、棋盤(不同的畫布尺寸和縱橫比)和獲勝條件(不同評估的相對重要性)的游戲指標(biāo)或不同的密度和路由擁塞約束)
上面這張圖是強化學(xué)習(xí)的一個簡要表示,其實簡單理解就是一個反復(fù)迭代系統(tǒng),從當(dāng)前的布局中根據(jù)密度、線長、延時等等計算出加權(quán)獎勵,同時使用神經(jīng)網(wǎng)絡(luò)從布局中進行特征提取,最后智能體通過強化學(xué)習(xí)決策,得到調(diào)整布局的動作,然后去調(diào)整布局。反復(fù)的重復(fù)這個過程,就能不斷地優(yōu)化布局。
強化學(xué)習(xí)系統(tǒng)需要精心設(shè)計的獎勵,谷歌的·布局規(guī)劃系統(tǒng)的獎勵設(shè)計為“線長、擁塞和密度的加權(quán)總和”。
值得注意的是,系統(tǒng)中使用的深度神經(jīng)網(wǎng)絡(luò)是使用監(jiān)督學(xué)習(xí)開發(fā)的。監(jiān)督機器學(xué)習(xí)需要標(biāo)記數(shù)據(jù)在訓(xùn)練期間調(diào)整模型的參數(shù)。谷歌的科學(xué)家創(chuàng)建了“一個包含 10,000 個芯片placements的數(shù)據(jù)集,其中輸入是與給定布局相關(guān)的狀態(tài),標(biāo)簽是該布局的獎勵。”
總結(jié)
未來的EDA工具中,AI算法的介入肯定會越來越多,例如在綜合階段,利用AI實現(xiàn)更好的電路綜合方案,在驗證階段,利用AI去搜索驗證空間中更加可能出現(xiàn)bug的用例,時鐘樹綜合的時候,也可能使用AI算法去優(yōu)化時鐘樹,未來可期。
但是,媒體現(xiàn)在宣傳的神經(jīng)網(wǎng)絡(luò)幾個小時就能實現(xiàn)芯片設(shè)計,就是標(biāo)題黨,外行的總結(jié),希望各位不要被這種觀點迷惑了。
END