人們正在角逐如何在巨大的市場和應(yīng)用中應(yīng)用分析,、數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí),,而半導(dǎo)體設(shè)計和制造領(lǐng)域無疑是最有前景的一個領(lǐng)域。
機(jī)器學(xué)習(xí)/深度學(xué)習(xí)/人工智能(ML / DL / AI)的關(guān)鍵是了解設(shè)備如何對真實事件和刺激作出反應(yīng),以及如何優(yōu)化未來設(shè)備,。這需要篩選越來越多的數(shù)據(jù),通過自動化來識別復(fù)雜模式,、異常情況以及找到適當(dāng)?shù)奈恢谩?/p>
eSilicon營銷副總裁Mike Gianfagna說,,“我們收集的數(shù)據(jù)用來開發(fā)我們自己的方法。目前的存儲器,,我們看的是設(shè)計,、內(nèi)存以及對不同的內(nèi)存配置建模。你可以在它上面運行模型與真實應(yīng)用作比較,。所以我們采用參數(shù)化的通用內(nèi)存模型并將其映射至實際內(nèi)存,。我們也可以從之前的設(shè)計中看人力和時間表,,還可以對計算資源和EDA許可做同樣的工作。如果你只有12000個CPU但需要24000個,,那么你需要使用基于云的解決方案來實現(xiàn),。但那不會很快發(fā)生,你需要對此進(jìn)行規(guī)劃,,很大一部分是圍繞存儲器的,。”
這只是縮短設(shè)計周期并基于經(jīng)驗減少潛在問題的一系列活動的開始,。
Synopsys驗證組營銷副總裁Michael Sanie說,,“整個行業(yè)正在學(xué)習(xí)如何使用人工智能和機(jī)器學(xué)習(xí)來構(gòu)建和調(diào)試系統(tǒng)。有許多關(guān)于何種堆??梢杂糜贏I算法的建模和模擬,,這里的目標(biāo)是將人工智能用于工具以及其它地方?!?/p>
在很大程度上,,這是對系統(tǒng)級設(shè)計和復(fù)雜程度的認(rèn)識,即使這些工具需要其它工具的幫助,。
Cadence的營銷總監(jiān)Steven Lewis說,,“現(xiàn)在,隨著EDA生態(tài)系統(tǒng)在機(jī)器 學(xué)習(xí)方面的工作,,我們正試圖弄清楚它如何能夠幫我們解決更大的驗證問題,,整個問題就回歸到,‘這不是早期的10個晶體管’,。我很贊同這點,。構(gòu)成一個存儲器要10億個晶體管,那就需要知道如何布局,,如何在物理層面布線,。如何對這些電路執(zhí)行最最好的布局,如何放置這些組件,?這一直是機(jī)器學(xué)習(xí)任務(wù)的一部分,。然而我們不把它稱為機(jī)器學(xué)習(xí),但它確實是我們試圖找出最佳方法的算法的一部分,。
如果你可以處理特定的拓?fù)浣Y(jié)構(gòu),,開始了解7nm晶體管的行為方式,那你就知道了大部分流程了,,因此你可以更好地判斷什么時候開始放置它們,,什么時候開始布局,什么時候開始分析?!?/p>
前段時間,,芯片制造商開始推動六西格瑪設(shè)計(six-sigma designs),但是一旦復(fù)雜到一定程度,,達(dá)到要求的六西格瑪質(zhì)量所需的模擬開始花費大量時間時,,他們就不再討論這種方案了。但隨著汽車制造商對無缺陷電子產(chǎn)品的需求,,又掀起了關(guān)于六西格瑪?shù)挠懻?,在合理的時間內(nèi)實現(xiàn)這一目標(biāo)的唯一方法就是利用機(jī)器學(xué)習(xí)。
Lewis說,,“通過機(jī)器學(xué)習(xí),,我們可以對晶體管的行為進(jìn)行編程,因此從統(tǒng)計角度講,,我不必進(jìn)行1000萬次的模擬,。我可以使用算法和機(jī)器學(xué)習(xí)技術(shù)來保持一定精度的條件下確定需要運行的最少模擬次數(shù)。如果我可以編程更多的算法,,如果我可以對更多我進(jìn)行的工作編程,,那我就可以只收集這些數(shù)據(jù)的同時還保證工作的質(zhì)量。這就是機(jī)器學(xué)習(xí)可以幫助我們的地方,?!?/p>
這一定程度上已經(jīng)在設(shè)計領(lǐng)域發(fā)生了,但它在未來會有更加顯著的使用,。
ArterisIP的首席技術(shù)官Ty Garibay說,,“這項技術(shù)可以使你實現(xiàn)過去不能實現(xiàn)的事情。你可以通過這種技術(shù)來確定通孔位置,。如果你無法證明某件事,,你可以使用排除法。使用傳統(tǒng)的功能安全的形式,,你可以放下兩件相同的事情,,就像在汽車制動系統(tǒng),發(fā)動機(jī)控制,,安全氣囊控制系統(tǒng)那樣,。但當(dāng)我們通過電線驅(qū)動時,通常是在你的汽車中創(chuàng)建一個服務(wù)器,,將功能整合到系統(tǒng)中并通過電線進(jìn)行通信,。目前777型噴氣式飛機(jī)可以做到這一點,,但是成本/功能差別很大,。為了將它應(yīng)用于汽車,我們需要開發(fā)新技術(shù)并找到應(yīng)用它們的方法,取代過去已驗證但太貴且速度很慢的技術(shù),,”
大量的數(shù)據(jù)
這將需要篩選大量的數(shù)據(jù),。
NetSpeed Systems營銷和業(yè)務(wù)開發(fā)副總裁Anush Mohandass說,“在硅谷,,幾乎每個人都擅長獲取某種形式的數(shù)據(jù),。但真正厲害的人是那些經(jīng)歷完整鏈條的人,他們理解了從了解到行動的數(shù)據(jù)鏈,。我們已將此放回到我們的設(shè)計環(huán)境和IP中,。機(jī)器學(xué)習(xí)是其中的一個方面?!?/p>
Mohandass說,,利用機(jī)器學(xué)習(xí)關(guān)鍵的一點就是挖掘第一手?jǐn)?shù)據(jù)?!澳闶褂玫挠?xùn)練數(shù)據(jù)是什么,?它有多大?它們之間有偏差嗎,?你是否偏向于某種形式的設(shè)計或其它設(shè)計,?我們花了大量時間讓我們的訓(xùn)練加快速度,沒有任何偏差,。第二個方面是一量你獲得了數(shù)據(jù),,你如何將它深刻理解?第三是我們的機(jī)器學(xué)習(xí)環(huán)境,,驅(qū)動力是什么,?如何驅(qū)動客戶?
在生成數(shù)據(jù)時,,尤其如果你輸入到了機(jī)器學(xué)習(xí)引擎時,,數(shù)據(jù)量對于你來說會爆炸。你看的不是數(shù)百和數(shù)千行,,而是數(shù)百萬行,,因此,突然看到一百萬事物的圖表是沒有任何意義的,,所以你試圖使它們聚集并觀察其趨勢,。”
在數(shù)據(jù)挖掘的情況下,,機(jī)器學(xué)習(xí)的一個非常實際的用途是搜索異常,。
UltraSoC首席執(zhí)行官Rupert Baines表示,“我們已經(jīng)完成了很多本地工作,,所以呈現(xiàn)的結(jié)果價值很高,,內(nèi)容很好?,F(xiàn)在大多數(shù)情況下,這意味著一位工程師正在看它,、閱讀并繪制它,。在某個時候,她會說,,'看起來很奇怪',,并且會運行一些腳本來試圖找出它看起來很古怪的原因?!?/p>
通過幫助他們找到問題,,引起他們對突然改變的行為模式的注意,可以幫助加速工程師的工作,。
Baines說,,“這可能是像相機(jī)應(yīng)用中那些不變的像素。你說,,'看起來很奇怪',,你期望像素發(fā)生變化。這可能意味著攝像頭出現(xiàn)故障,,卡住了,。也可能是一個安全應(yīng)用程序,其中永遠(yuǎn)不訪問安全內(nèi)存的一個特定進(jìn)程,,并且它會嘗試這樣做,,異常檢測器會說'這是不對的,開燈并發(fā)出警報,。至少好的一方面,,是會發(fā)出警報。這就像一個防盜報警器,。如果夜間有人在你家外面踱步,,你有一個可以檢測到他們移動的光線感應(yīng)器,此時它打開燈并發(fā)出警報——即使他們沒有真正嘗試進(jìn)入,,即使你的鎖仍然完好無損,,他們無法進(jìn)入房子,但你會知道有人在試圖做一些事情,。它是TrustZone,、OmniSecure或諸如此類的之上的一個額外的安全層?!?/p>
機(jī)器學(xué)習(xí)和仿真
正在使用機(jī)器學(xué)習(xí)的另一個領(lǐng)域是確定如果在下個月運行仿真或者如果將仿真與其他仿真器進(jìn)行比較,,仿真的可重復(fù)性如何。這也適用于制造測試,,結(jié)果的周期之間要相關(guān),,信號之間也要相關(guān),。
西門子公司Mentor的產(chǎn)品營銷經(jīng)理Mark Olen說,“機(jī)器學(xué)習(xí)帶來的挑戰(zhàn)是你放棄了人類控制事物的能力,,這是關(guān)鍵所在,。如果我使用帶有便攜式激勵的機(jī)器學(xué)習(xí)技術(shù)在我的1000個CPU上進(jìn)行模擬,,它將根據(jù)設(shè)計響應(yīng)的方式產(chǎn)生一組結(jié)果,,因為它從設(shè)計的響應(yīng)中學(xué)習(xí)。
但假設(shè)在運行幾個小時后,,我們發(fā)現(xiàn)設(shè)計中存在兩個bug,,我們將設(shè)計發(fā)送給設(shè)計人員,他們修復(fù)以太網(wǎng)模塊或修復(fù)結(jié)構(gòu)仲裁方案或其他之后,,再次運行仿真,。如果使用機(jī)器學(xué)習(xí)再次仿真,則會得到不同的結(jié)果,。你不會得到完全相同的周期間相關(guān)性,,因為設(shè)計運行不同,可能是因為對它的修復(fù),。然而,,這對工程師造成了很大的不確定性,因為他們表示他們想要在完全相同的條件下運行完全相同的激勵,,但實際上設(shè)計發(fā)生了改變,。
正因為如此,我們在我們的某些技術(shù)中進(jìn)行了切換,,這些技術(shù)可以關(guān)閉部分機(jī)器學(xué)習(xí)功能,,以便能夠以前所做的某種模擬模式運行。與此同時,,有一些先進(jìn)的客戶對這一理念感到滿意,,并且正在使用全部功能?!?/p>
隨著設(shè)計團(tuán)隊反復(fù)運行仿真,,將進(jìn)入片外指標(biāo)的數(shù)據(jù)挖掘。這里,,Mentor內(nèi)部和其客戶有用的是一個名為Jenkins的開源軟件生態(tài)系統(tǒng),。 Olen 說,“這是一個非常熱門的話題,,所有人都喜歡它,,因為它是免費的。但也不是完全免費的,,因為即使它是一個開源的生態(tài)系統(tǒng),,你必須作為用戶進(jìn)行投資來進(jìn)行實際整合,。我們投入了大量資金將我們的系統(tǒng)整合到Jenkins環(huán)境中?!?/p>
Jenkins的主要優(yōu)勢之一就是它能夠像觸發(fā)器一樣,。 他說,“你可以有一個定時觸發(fā)器表明每個人在星期五晚上回家時,,有10000臺臺式電腦閑置,,讓我們使用它們。因此,,在周五下午9點,,無論是否需要都會免費地開始回歸運行。然后,,一旦這些回歸運行的結(jié)果完成,,我們可以將所有結(jié)果合并后發(fā)回給Jenkins,以便它可以在周一早上出現(xiàn)在工程師辦公桌的某個副總裁的電子郵件中,,‘好消息是,,我們進(jìn)行了800小時的模擬,沒有失敗,?!硪粋€觸發(fā)事件不是基于時間,而是基于條件,。例如,,如果設(shè)計中存在一定程度的代碼更改,或每次修改文件時,,可啟動回歸運行,。你可以在晚上8點結(jié)束時自動發(fā)言。如果白天有超過三個文件被修改,,那么晚上開始回歸運行,。”
這會在運行后運行并伴隨數(shù)據(jù)的高峰之后產(chǎn)生回歸運行,。這不是交易數(shù)據(jù),。這不是關(guān)于總線確認(rèn)、取指或芯片上實際發(fā)生的事情,。相反,,這是模擬的所有結(jié)果,例如檢測到的錯誤,,覆蓋率以及周期運行,。但其中一個問題是,從那里有必要弄清楚如何組合多種類型的數(shù)據(jù)并將其放入可開采的大型數(shù)據(jù)庫中,。
Olen說,,“所以,,如果我運行了10000個CPU,并且考慮到這一點,,并在遍布全球的模擬農(nóng)場中找出多少工作是多余的和無用的,,是否有機(jī)會實際完成相同的工作量下一次使用5000個CPU而不是10000? 當(dāng)然,,從來沒有人這樣做,。他們實際上是仍然使用10000個CPU使工作量翻倍,這樣就能擴(kuò)大范圍”
解決重大難題
Cadence研發(fā)部高級主管David White自20世紀(jì)90年代初期一直致力于機(jī)器學(xué)習(xí),,他們合作編輯并共同編寫了機(jī)器學(xué)習(xí)的第一本教科書,。他說這是一套有趣的工具,,可以解決特定問題,。 “在2009年左右,當(dāng)我與越來越多的客戶合作時,,我開始看到相同類型的問題越來越嚴(yán)重,。問題主要在三個方面。第一個是規(guī)模,。我們正在處理越來越大的設(shè)計,,更多的設(shè)計規(guī)則和更多的限制,結(jié)果就是越來越多的數(shù)據(jù),。無論是模擬數(shù)據(jù),,提取數(shù)據(jù),處理越來越多的形狀和幾何圖形,,更大的技術(shù)文件,,數(shù)據(jù)對我們造成的壓力越來越大。
現(xiàn)在你已經(jīng)有了更復(fù)雜的設(shè)計和電子規(guī)則,,芯片,,封裝和電路板之間有更多的相互作用,散熱成了一個問題,,所以現(xiàn)在復(fù)雜度和總體規(guī)模都在增長,。第三,這兩者都開始影響半導(dǎo)體設(shè)計團(tuán)隊的生產(chǎn)力,,因為規(guī)模和復(fù)雜性會造成越來越多的不確定性,,導(dǎo)致更多的重新設(shè)計,進(jìn)度錯亂等問題,?!?/p>
White說,這些問題的核心是,,該行業(yè)正在處理更多的數(shù)據(jù)驅(qū)動問題,,這需要數(shù)據(jù)驅(qū)動的解決方案,。而且,關(guān)鍵是要將數(shù)據(jù)轉(zhuǎn)換為可用于數(shù)據(jù)挖掘的格式,。 White說,,“任何使用機(jī)器學(xué)習(xí)的操作或解決方案都會在前端使用某種形式的分析和數(shù)據(jù)挖掘,機(jī)器學(xué)習(xí)優(yōu)化和某種形式的并行化,,通常情況下,,人們會稱之為機(jī)器學(xué)習(xí),即使它們之間并沒有明確的界限,?!?/p>
—Ed Sperling contributed to this report.
致謝:本文由電子科技大學(xué)低功耗集成電路與系統(tǒng)研究所黃樂天老師和陳家豪同學(xué)協(xié)助校對。
原文鏈接:https://semiengineering.com/applying-machine-learning-to-chips/