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