人工智能 VS 芯片工程師
那么機器學習和人工智能如何幫助布局布線呢?
本文引用地址:http://www.ex-cimer.com/article/201902/397478.htm事實上,這里的機器學習的幫助主要來自于從大數(shù)據(jù)中的學習能力。傳統(tǒng)的啟發(fā)式算法本質(zhì)上并未考慮算法應(yīng)用的具體語境,每次在探索的過程中理論上會以等概率去探索各種方向。雖然在長達數(shù)十年的工程實踐中,人們會在布線的啟發(fā)式算法中加入各種優(yōu)化,但是人類工程師對于布線這個高維度的復(fù)雜問題的把握程度畢竟有限。舉例來說,當運行布線的時候發(fā)現(xiàn)本地布線非常擁擠,而右邊若干距離的地方布線較為寬松,那么應(yīng)該把多少本地走線移動到右邊?
如果移動過少難以完全緩解布線擁擠問題,而移動過多無非就是把本地的擁擠移動到了右邊,也并非最優(yōu)。這種變量維度過高的問題對于人類是很難把握的,而機器學習則可以從大量布局布線的實際案例中去學習如何最優(yōu)化啟發(fā)式算法的探索過程,從而使布線過程優(yōu)化結(jié)果更好,同時也能減少探索次數(shù),也就是減低了算法運行時間。Cadence在去年宣布已經(jīng)在布局布線引擎中加入了機器學習的元素,其結(jié)果是能夠?qū)⑦\行結(jié)果的total negative slack改善15%,這可以說是一個很不錯的起步。
在布局布線領(lǐng)域,人工智能的另一個重要應(yīng)用就是能為流程加入預(yù)測能力,從而減少迭代次數(shù)。眾所周知,數(shù)字電路布局布線是一個反復(fù)迭代的過程,流程前后的環(huán)節(jié)會互相影響。布局的過程會影響布線的結(jié)果,而如果布線的結(jié)果太差又會導(dǎo)致工程師去再次優(yōu)化布局以獲得改善。這樣的反復(fù)迭代流程顯然會對設(shè)計時間帶來影響,那么能否在布局的時候就去預(yù)測其對于布線的影響,從而不要等到真的布線結(jié)果出來之后再去優(yōu)化布局呢?
之前也有不少嘗試,而使用機器學習通過學習大量的布局和布線擁擠程度之間的關(guān)系去做預(yù)測可以大大提升預(yù)測的精準度,從而減少迭代次數(shù)。在ISSCC 2017,臺積電的研發(fā)副總裁Cliff Hou就在其演講中重點介紹了這種基于機器學習的后端設(shè)計方法,并認為它將會為未來的集成電路研發(fā)帶來更多效率提升。
人工智能與電路設(shè)計師
在之前的分析中,我們可以看到目前人工智能的主要優(yōu)勢還是在于高維數(shù)據(jù)的處理和定量統(tǒng)計分析能力。這一波的人工智能在抽象推理方面仍然較弱,因此難以全面勝任復(fù)雜的設(shè)計任務(wù)。我們?nèi)祟愒谔幚韽?fù)雜設(shè)計的任務(wù)時,普遍的方法是將其降維處理,分解成多個較簡單的子任務(wù)并分而治之,當子任務(wù)全部都完成時復(fù)雜的設(shè)計任務(wù)自然就完成了。而人工智能目前尚缺乏這種自適應(yīng)將復(fù)雜任務(wù)分而治之的分解能力。
如果說這種從復(fù)雜的客觀中抽象出簡單的規(guī)律的能力稱之為“降維”,而從復(fù)雜世界中把握高維數(shù)據(jù)之間的復(fù)雜關(guān)系的能力就可以說是“升維”了。人類的降維能力較強,而人工智能的升維能力較強,因此人類與人工智能最好的合作方法就是人類負責降維,抽象出設(shè)計框架,并將復(fù)雜的設(shè)計分解成較簡單的子任務(wù),而人工智能則在每個子任務(wù)中充分探索高維設(shè)計空間,幫助完成最優(yōu)化設(shè)計。
從這種意義上來說,人工智能在短期內(nèi)并不會替代真人工程師,而是會在設(shè)計流程中幫助提升效率,減少算法和設(shè)計流程層面上不必要的迭代,而這一切對于真人設(shè)計師來說都是好事。因此,我們認為,人工智能將會是電路工程師的好朋友。
評論