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