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