AI for Chip Design,NVIDIA做了這些精彩的工作
NVIDIA于2020年在IEEE Micro上刊出了一篇題為 “Accelerating Chip Design with Machine Learning”的文章。該文章總結(jié)了NV在AI for EDA領(lǐng)域做的研究工作,包括設(shè)計(jì)空間探索、功耗分析、可布線性預(yù)測、模擬芯片設(shè)計(jì)等,并提出了AI 輔助芯片設(shè)計(jì)的一些愿景。
以下為原文翻譯。原文很長,筆者只翻譯了一些關(guān)鍵工作。

由于摩爾定律使芯片晶體管密度呈指數(shù)增長,我們現(xiàn)在可以包含在大型芯片中的獨(dú)特功能不再主要受面積限制的限制。 相反,新功能越來越受到與數(shù)字設(shè)計(jì)、驗(yàn)證和實(shí)現(xiàn)相關(guān)的工程工作的限制。在后摩爾定律時(shí)代,隨著應(yīng)用程序?qū)I(yè)化要求更高的性能和能效,我們預(yù)計(jì)所需的復(fù)雜性和設(shè)計(jì)工作量會增加。
從歷史上看,這些挑戰(zhàn)是通過抽象和自動化級別來解決的。在過去的幾十年里,電子設(shè)計(jì)自動化 (EDA) 算法和方法被開發(fā)用于芯片設(shè)計(jì)的所有方面——設(shè)計(jì)驗(yàn)證和模擬、邏輯綜合、布局和布線以及時(shí)序和物理簽核分析。隨著自動化程度的不斷提高,每個(gè)芯片的總工作量增加了,但更多的工作從手動工作轉(zhuǎn)移到了軟件上。隨著機(jī)器學(xué)習(xí) (ML) 在許多領(lǐng)域轉(zhuǎn)換軟件,我們預(yù)計(jì)這種趨勢會隨著基于機(jī)器學(xué)習(xí)的 EDA 自動化而繼續(xù)。
在本文中,重點(diǎn)介紹了我們的研究小組將 ML 應(yīng)用于芯片設(shè)計(jì)任務(wù)的一些代表性工作。我們還提出了未來 AI 輔助設(shè)計(jì)流程的愿景,包括 GPU 加速、神經(jīng)網(wǎng)絡(luò)預(yù)測器和強(qiáng)化學(xué)習(xí)技術(shù)相結(jié)合,以實(shí)現(xiàn) VLSI 設(shè)計(jì)的自動化。
典型的芯片設(shè)計(jì)規(guī)范到布局流程是一個(gè)迭代過程。 大型、復(fù)雜的 SoC 被分成幾十個(gè)單元。 每個(gè)單元都經(jīng)過微架構(gòu)、RTL 設(shè)計(jì)和驗(yàn)證、邏輯綜合、時(shí)序分析、功耗分析、布局規(guī)劃、布局、時(shí)鐘樹綜合 (CTS)、布線和最終簽收。設(shè)計(jì)團(tuán)隊(duì)通常通過以流水線方式在不同芯片修訂版上運(yùn)行每個(gè)階段來重疊流程的這些步驟。然而,為流片準(zhǔn)備芯片仍然需要多次迭代。即使有 EDA 工具的幫助,每個(gè)流水線階段通常也需要數(shù)天的手動工作。 對于復(fù)雜的芯片,通過 RTL 到布局流程的完整迭代通常需要數(shù)周到數(shù)月的時(shí)間。
經(jīng)過訓(xùn)練的 ML 模型可以通過預(yù)測芯片設(shè)計(jì)流程中的下游結(jié)果來幫助加快流片時(shí)間,這可以減少每次迭代的時(shí)間或提高結(jié)果質(zhì)量 (QoR),例如性能、功耗或面積。無需等待數(shù)小時(shí)或數(shù)天才能獲得準(zhǔn)確結(jié)果,只需幾秒鐘即可提供預(yù)測。
我們重點(diǎn)介紹了四種可以使用預(yù)測的方式:微架構(gòu)設(shè)計(jì)空間探索、功耗分析、VLSI 物理設(shè)計(jì)和模擬設(shè)計(jì)。
1.微架構(gòu)設(shè)計(jì)空間探索
芯片設(shè)計(jì)人員通常編寫參數(shù)化的 RTL,以支持不同的產(chǎn)品規(guī)格,并通過探索性能、面積和功率的權(quán)衡來進(jìn)行微架構(gòu)調(diào)整。 只需幾個(gè)參數(shù),設(shè)計(jì)空間就可以變得非常大。對于以高級 RTL 生成器語言建?;蛲ㄟ^高級綜合 (HLS) 映射到 RTL 的加速器,工具調(diào)參可以增加潛在的微架構(gòu)選擇。使用蠻力搜索并不總是能夠駕馭這個(gè)龐大的設(shè)計(jì)空間,尤其是在機(jī)器或許可證資源有限的情況下。
作為替代方法,我們開發(fā)了 MAGNet 來自動搜索 CNN 推理加速器的設(shè)計(jì)空間。它包含 14 個(gè)可調(diào)設(shè)計(jì)時(shí)參數(shù),用于控制各種內(nèi)存大小、并行功能單元、數(shù)據(jù)路徑寬度、數(shù)據(jù)類型精度和其他微架構(gòu)參數(shù)。MAGNet 流程通過模擬 HLS 生成的 RTL 來衡量性能,并分析合成大小的門級網(wǎng)表的功耗。
MAGNet工作對應(yīng)論文
R. Venkatesan et al., “MAGNet: A modular accelerator generator for neural networks,” in Proc. IEEE/ACM Int. Conf. Comput.-Aided Des., 2019, pp. 1–8.)
2.功耗和 IR 壓降分析
流片前功耗估計(jì)和優(yōu)化是當(dāng)今所有芯片設(shè)計(jì)流程的一個(gè)關(guān)鍵方面。 準(zhǔn)確的分析需要在帶有注釋電容寄生的門級網(wǎng)表上運(yùn)行邏輯仿真。 然而,這些模擬非常緩慢,通常每秒運(yùn)行 10-1000 個(gè)時(shí)鐘周期,具體取決于活動因素和設(shè)計(jì)大小。 為了提供更快而準(zhǔn)確的功率估計(jì),ML 模型可以通過在沒有仿真的情況下通過邏輯網(wǎng)表估計(jì)開關(guān)活動因子的傳播來預(yù)測動態(tài)功率。
GRANNITE以 PRIMAL 流程為基礎(chǔ),通過 GNN 實(shí)現(xiàn)模型可遷移到新設(shè)計(jì)。門網(wǎng)表被轉(zhuǎn)換成具有每節(jié)點(diǎn)(門)和每邊(網(wǎng))特征的圖形,例如每個(gè)門的固有狀態(tài)概率。GNN 可以從圖和輸入激活特征中學(xué)習(xí),同樣 GRANNITE 可以從 RTL 模擬跟蹤數(shù)據(jù)和輸入圖(網(wǎng)表)數(shù)據(jù)中學(xué)習(xí)。 通過這種方式,模型變得能夠轉(zhuǎn)移到新圖(網(wǎng)表)和新工作負(fù)載。 結(jié)果表明,GRANNITE 在對高達(dá) 50k 門的設(shè)計(jì)進(jìn)行快速(<1 秒)平均功率估計(jì)時(shí)實(shí)現(xiàn)了良好的準(zhǔn)確性(在各種基準(zhǔn)測試中誤差小于 5.5%)。
PowerNet 通過直接從每個(gè)單元的功率分布預(yù)測 IR 降來克服這一挑戰(zhàn)。 PowerNet 使用時(shí)序窗口期間每個(gè)單元的開關(guān)功耗作為輸入特征。它通過使用真實(shí)模擬結(jié)果作為標(biāo)簽的監(jiān)督學(xué)習(xí)進(jìn)行訓(xùn)練,以預(yù)測所有時(shí)序窗口中每個(gè)單元的最大 IR 降。由于其特征和模型遵循來自 IR 壓降分析的首要原則,因此 PowerNet 可以推斷訓(xùn)練期間未見過的設(shè)計(jì)的 IR 壓降。與之前提出的用于無向量 IR 壓降預(yù)測的最佳 ML 方法相比,它的準(zhǔn)確度提高了 9%,并且與商用 IR 壓降分析工具相比,速度提高了 30倍。
GRANNITE對應(yīng)論文
Y. Zhang et al., “GRANNITE: Graph neural network inference for transferable power estimation,” in Proc. Des. Autom. Conf., 2020, pp. 1–6.
PowerNet 對應(yīng)論文
Z. Xie et al., “PowerNet: Transferable dynamic IR drop estimation via maximum convolutional neural network,” in Proc. 25th Asia South Pacific Des. Autom. Conf., 2020.
3.物理設(shè)計(jì)
詳細(xì)布線可能是現(xiàn)代物理設(shè)計(jì)流程中最耗時(shí)的階段。 在執(zhí)行詳細(xì)布線后,很難準(zhǔn)確確定綜合設(shè)計(jì)或布局設(shè)計(jì)在滿足時(shí)序約束的同時(shí)是否不會違反 DRC。 然而,較早的綜合和布局階段對設(shè)計(jì)的可布線性影響最大。因此,希望從這些早期階段預(yù)測可布線性。VLSI 設(shè)計(jì)流程中使用擁塞和其他布局后啟發(fā)式方法來估計(jì)可布線性。然而,它們通常是不準(zhǔn)確的,需要設(shè)計(jì)工程師的直覺來排除誤報(bào)并識別真正的問題。
基于圖像的 DL 模型提供了一個(gè)極好的預(yù)測可路由性的機(jī)會。 例如,RouteNet利用全卷積網(wǎng)絡(luò) (FCN) 從布局后全局布線結(jié)果中預(yù)測詳細(xì)布線后 DRC。 由于 FCN 可以訪問全局信息和局部窗口信息,因此它們的預(yù)測比基于局部窗口或擁塞啟發(fā)式的現(xiàn)有技術(shù)更準(zhǔn)確。 Route Net 特別適合帶有宏單元的設(shè)計(jì),這會極大地影響可布線性。 對于 DRC 熱點(diǎn)預(yù)測,與擁塞啟發(fā)式和基于 SVM 的方法相比,RouteNet 將準(zhǔn)確度提高了 50%。
在某些情況下,在邏輯綜合之后,甚至可以在流程中更早地識別可路由性問題。 CongestionNet 利用圖注意力網(wǎng)絡(luò)僅根據(jù)電路圖來估計(jì)路由擁塞。它的預(yù)測是可能的,因?yàn)槟承┞酚蓳砣麊栴}與某些數(shù)字電路拓?fù)涓叨认嚓P(guān),其特征可以被 GNN 識別。 與使用之前的指標(biāo)在沒有放置信息的情況下預(yù)測擁塞熱點(diǎn)相比,CongestionNet 將 Kendall 排名相關(guān)性得分提高了 29%。
Route Net對應(yīng)的論文
Z. Xie et al., “RouteNet: Routability prediction for mixedsize designs using convolutional neural network,” in Proc. Int. Conf. Comput. Aided Des., 2018, pp. 1–8.
CongestionNet對應(yīng)的論文
R. Kirby et al., “CongestionNet: Routing congestion prediction using deep graph neural networks,” in Proc. IFIP/IEEE 27th Int. Conf. Very Large Scale Integr ., 2019, pp. 217–222.
4.模擬版圖
模擬設(shè)計(jì),尤其是模擬版圖,是一個(gè)仍然缺乏高質(zhì)量設(shè)計(jì)自動化工具的勞動密集型過程。 與受限于標(biāo)準(zhǔn)單元行的數(shù)字設(shè)計(jì)相比,一個(gè)困難是更大的自由度。 此外,模擬電路 QoR 指標(biāo)取決于設(shè)計(jì),而數(shù)字 QoR 指標(biāo)(如時(shí)序、面積和功率)則是通用的。AI 的進(jìn)步為自動化模擬設(shè)計(jì)過程提供了很好的機(jī)會。最近的一個(gè)例子是 ParaGraph,一種 GNN,它可以直接從電路原理圖中預(yù)測布局寄生和器件參數(shù)。
布局后寄生預(yù)測是自動匹配模擬布局生成的關(guān)鍵,因?yàn)樗兄谠韴D和布局收斂、布局規(guī)劃可行性或 QoR 估計(jì)。Para Graph 通過觀察相似的電路拓?fù)浜途w管配置通常具有相似的布局并因此具有相似的寄生效應(yīng)來做出準(zhǔn)確的預(yù)測。它的 GNN 架構(gòu)使用異構(gòu)圖表示,結(jié)合了來自 GraphSage、關(guān)系 GCN 和圖注意力網(wǎng)絡(luò)等模型的思想。 在大型工業(yè)電路數(shù)據(jù)集上進(jìn)行訓(xùn)練,ParaGraph 實(shí)現(xiàn)了 0.772 的平均預(yù)測 R2(比 XGBoost 好 110%),并且與設(shè)計(jì)人員當(dāng)前使用的手動啟發(fā)式相比,平均模擬錯(cuò)誤從 100% 以上減少到 10%。
Para Graph對應(yīng)論文
H. Ren et al., “ParaGraph: Layout parasitics and device parameter prediction using graph neural
networks,” in Proc. Des. Autom. Conf., 2020, pp. 1–6.
AI 輔助的芯片設(shè)計(jì)的愿景:
使用基于 ML 的預(yù)測器增強(qiáng)當(dāng)今的半自動 VLSI 流程可以帶來立竿見影的好處。 展望未來,我們預(yù)計(jì)部署 AI 以在無需人工干預(yù)的情況下直接優(yōu)化芯片設(shè)計(jì),并增強(qiáng)或替換 EDA 工具中現(xiàn)有的最知名算法,將帶來更大的突破。我們設(shè)想了一個(gè) AI 驅(qū)動的物理設(shè)計(jì)流程,如圖所示,以智能地探索潛在物理布局規(guī)劃、時(shí)序和工具約束以及布局的設(shè)計(jì)空間。

該流程可以利用快速 GPU 加速布局器和基于深度學(xué)習(xí)的深度 QoR 預(yù)測器,在 AI 驅(qū)動的循環(huán)中實(shí)現(xiàn)數(shù)千次快速迭代,并通過下游黑盒工具避免代價(jià)高昂的迭代。 通過在 DRL 優(yōu)化循環(huán)中運(yùn)行,AI 驅(qū)動的流程可以自動快速地找到高質(zhì)量的布局規(guī)劃、時(shí)序約束和標(biāo)準(zhǔn)單元布局,這些布局可以實(shí)現(xiàn)良好的下游 QoR,然后將這些候選布局分配到 下游 CTS 和路由步驟。 該流程由三項(xiàng)關(guān)鍵技術(shù)實(shí)現(xiàn):1) 用于物理約束優(yōu)化的 DRL; 2) 運(yùn)行在 GPU 等加速計(jì)算平臺上的快速 VLSI 布局器; 和 3) 基于深度學(xué)習(xí)的深度 QoR 預(yù)測器對放置后結(jié)果進(jìn)行分類。
使用 DRL 學(xué)習(xí) EDA 算法我們還設(shè)想機(jī)器學(xué)習(xí)可用于自動學(xué)習(xí)新的或改進(jìn) EDA 算法本身。 許多 EDA 問題可以表述為組合優(yōu)化問題。 然而,準(zhǔn)確地解決它們可能是棘手的。 因此,EDA 工具求助于啟發(fā)式方法。在某些情況下,例如 SAT 求解器,ML 可能能夠改進(jìn)啟發(fā)式方法。在其他情況下,DRL 可能是合適的。例如,邏輯綜合引擎反復(fù)對子電路應(yīng)用諸如平衡、重寫、重構(gòu)和重新替換之類的轉(zhuǎn)換,以逐漸提高 QoR。如果我們將這樣的變換視為動作,將每次變換后的電路視為狀態(tài),那么優(yōu)化就是一個(gè)馬爾可夫決策過程,可以用 DRL 進(jìn)行優(yōu)化。
DRL 還可以減少 VLSI 后端工具中時(shí)序優(yōu)化的運(yùn)行時(shí)間。 使用當(dāng)今的工具,在具有數(shù)百萬個(gè)單元的設(shè)計(jì)上運(yùn)行布局、CTS 和布線可能需要長達(dá)一周的時(shí)間。 大部分運(yùn)行時(shí)間都用于重復(fù)和增量地優(yōu)化相同的單元以及昂貴的靜態(tài)時(shí)序分析 (STA) 更新。DRL 可能能夠?qū)W習(xí)避免對相似小區(qū)重復(fù)優(yōu)化并減少 STA 更新總數(shù)的最佳策略。
結(jié)論
將 ML 預(yù)測器應(yīng)用于 VLSI 的初步研究表明,人工智能在跨各種工具的芯片設(shè)計(jì)流程中具有潛力。未來,我們希望基于 ML 的方法(例如 DRL)適用于許多 EDA 優(yōu)化問題,尤其是在難以對精確目標(biāo)或約束進(jìn)行建模時(shí)。DRL 可以成為 EDA 的一種新的通用算法,就像模擬退火、遺傳算法和線性/非線性規(guī)劃一樣。由于 DL 模型經(jīng)過優(yōu)化,可以在 GPU 等加速計(jì)算系統(tǒng)上高效運(yùn)行,因此我們希望看到利用世界上最強(qiáng)大的計(jì)算機(jī)來設(shè)計(jì)下一代芯片的良性循環(huán),這反過來將提高未來 EDA 算法的性能。