從2017年Google提出Transformer模型,再到去年ChatGPT的橫空出世,人們對深度學習能力邊界的認知一次次被打破,人工智能(AI)似乎正在加速融入我們每個人的工作和生活。人們不再問AI能做什么,而是它不能做什么。從當下熱門的ChatGPT等聊天機器人到自動駕駛汽車,AI已經應用到我們日常生活的方方面面。即便是芯片設計這種過去視為可能不適用于AI的行業,現在也受益于越來越智能的AI技術。
如果AI可以在芯片開發最耗時和耗力的環節助我們一臂之力,讓芯片設計更快地一次成功,那將是如何的景象?試想一下,假如我們將AI整合到芯片驗證和調試階段,尤其是在芯片只會越來越精密和復雜的當下,又會帶來怎樣的變化。
當然,應用AI的最終目標是找出更多錯誤,加速實現驗證覆蓋率目標。數字設計存在巨大的設計狀態空間,要對所有這些空間進行人工分析,并獲得足夠的可行見解用以改進設計,幾乎是不可能完成的任務。
但如果AI能在這方面有效發揮作用,驗證開發者就可以專注于發現和修復錯誤。想想這對芯片設計會有多大幫助。
芯片設計的復雜性與日俱增,半導體行業正面臨著一系列重大挑戰。從發展埃米級設計到Multi-Die集成再到快速節點遷移,開發者從未如此迫切地希望提高開發效率,尋找創新的解決方案。然而,受限于邏輯和功能問題,大多數片上系統(SoC)都難以避免代價高昂的重新流片。正因如此,開發者需要盡可能全面地進行SoC驗證。但是,由于成本和上市時間方面的壓力,開發者不可能一直反復運行驗證和調試循環。
芯片的RTL代碼設計完成以及設計狀態空間配置就緒后,便可啟動驗證流程。芯片驗證開發者需要逐一檢查這些空間,確保最終的SoC設計能夠正常運行。覆蓋率收斂的目的是確保整個設計能按預期的功能正常運行。
覆蓋率收斂流程存在三大挑戰:
-
覆蓋率規劃。開發者很難確定測試平臺的覆蓋率定義中要寫哪些內容(需要什么類型的coverage group,哪里有差距,還需要寫些什么等等)。確保實現100%覆蓋就表示所有的錯誤都已找到,這非常重要。
-
覆蓋率收斂。開發者很難確定什么測試用例對覆蓋最有用。開發者可能要運行同一個測試用例1000次,才能達到50%的覆蓋。隨著覆蓋率越來越接近100%,開發者會發現,覆蓋剩下的幾個百分點可能需要幾周時間才能完成。直接用例是一種有效的覆蓋手段,但要投入大量的人力去開發。
-
激勵開發和根本原因分析。開發者可能會遇到激勵本不應該執行某個特定配置或錯誤的情況。或許激勵的編寫方式導致其根本無法達到覆蓋目標。
在傳統芯片驗證周期中,驗證開發者會設定一個目標并運行其回歸環境。在此過程中,開發者會設置測試平臺來生成隨機激勵,從而觀察設計的響應情況。一個設計運行10000到15000條用例十分常見,而且驗證團隊往往對每條測試用例的ROI沒什么概念。回歸的運行可能長達數日,并占用寶貴的計算資源。
在SoC驗證周期中,有兩個迭代循環占用了大部分的時間,其一是在運行回歸后進行故障調試與錯誤修復,其二是覆蓋率收斂(圖1)。這兩項迭代工作都非常耗時,內容包括覆蓋率分析、發現覆蓋漏洞后作出調整,以及一次又一次的重新再來。發現故障后,驗證團隊需要對故障進行分析,在RTL或測試平臺中進行修改,并重新運行回歸,確保這些錯誤確實得到了修復。同樣,這部分工作也需要迭代循環。
圖1:典型驗證周期中的迭代循環。
此外,覆蓋率收斂流程最后的收尾工作通常最為棘手。對整個流程生成大量數據進行全面的人工分析是不太可行的,因此團隊一般都需要對芯片設計缺陷的根本原因有更多了解。
迭代循環有一個好處是可以從中學習,因此AI,尤其是機器學習(ML),正好派上用場。如果ML引擎能夠從某些模式中學習,便能夠完成相應工作,比如從測試平臺的一行代碼中識別出可能的錯誤。學到相應知識后,它就能將這種洞察應用于未來的回歸,從而加快覆蓋收斂速度,尤其是隨著系統不斷得到訓練,也許還能提高覆蓋水平。
AI在半導體行業的應用已經取得了顯著進展。新思科技屢獲殊榮的DSO.ai芯片設計AI應用最近率先實現了首個100次生產流片。DSO.ai可以自動搜索芯片設計大型解決方案空間中的優化目標,有助于提高開發效率并改善芯片的功耗、性能和面積(PPA)。
在驗證方面,為了縮短調試和修復的周期,新思科技推出了采用回歸調試自動化(RDA)技術的Verdi自動調試系統等解決方案,為開發者帶來AI驅動的芯片驗證工具。通過這一功能,開發者可以利用預測性分析,讓容易出錯的人工流程實現自動化,更輕松地找到被測設計和測試平臺故障的根本原因。更多助力實現調試自動化的創新方案即將推出,最終將把調試和修復循環變成一個無需人工干預的全自動化流程。
這些應用僅僅是一個開始,未來必將會有更多應用。在越來越多的EDA流程中,愈發智能的AI技術有助于開發者提高工作效率,取得更好的成效。例如,AI幫助開發者更好地了解還需要其它哪些覆蓋、越來越智能的AI技術有助于最大限度地減少回歸運行的時間和精力,以及AI有助于加快根本原因分析,等等。或許,原本需要長達數日的任務,在AI技術的幫助下只要幾個小時便可完成,節省下來的資源就可以用來開發其它項目,或者完成更多的增值任務。
我們的世界充斥著各種復雜問題,解決這些問題需要更加復雜的計算系統來處理。自動化和智能化可以完善開發者的工作,有助于開發者提高工作效率,讓設計和驗證開發者專注于打造差異化的芯片,推動這樣的計算系統問世。如果AI驅動的EDA流程可以承擔重復性任務,開發者就有更多精力來處理錯誤修復并進一步推進他們的設計。從設計空間探索到覆蓋率和調試周期等,AI必將對諸多領域產生深遠的影響。
-
新思科技
+關注
關注
5文章
787瀏覽量
50307
原文標題:AI如何顛覆傳統芯片驗證方式?
文章出處:【微信號:Synopsys_CN,微信公眾號:新思科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論