由人工智慧驱动的设计应用
英文原文:
2023年12月14日於《Semiconductor Engineering》刊登
無需手動操作即可全面掌握验证進度。
多年來,设计验证一直是晶片開發的主導部分。單一晶片的電晶體數量和複雜度不斷增加,而挑戰也與日俱增。先進技術如2.5D和3D多晶粒系統,以及晶圓級整合等新興技術,讓更多電晶體和功能得以封裝至單一裝置中。這種情況造成所需的验证工作量增長速度遠超過设计的工作量,形成验证缺口,連帶對專案團隊帶來多重負面影響。
能夠生成和執行足夠的測試來验证设计已經很具挑戰性,嘗試偵錯失敗更造成巨大的進度瓶頸。即使通過所有的測試,可能也尚未達成覆蓋率目標,導致需要調整限制條件或編寫額外測試碼的冗長過程,才能實現覆蓋收斂。所收集的度量指標不僅來自模拟(simulation),還包括仿真模拟(emulation)、形式分析(formal analysis)和靜態验证(static verification)等方法,這些指標都必須在整個過程中受到管理並納入考量。
圖1是許多晶片開發團隊所使用的傳統流程。儘管通常會有一些自動化作業,比如執行模拟測試,但仍然涉及大量手動工作。來自多個验证引擎的度量標準必須被合併並彙總,以準確反映验证的完整狀態。偵錯通常是手動管理的,針對失敗的測試,工程師會重新執行並進行檢查;而所得出的結果與验证計畫、设计規範和需求管理系統之間的連結通常較為薄弱甚至不存在。
圖1:傳統验证流程中的手動流程
考量到此流程涉及大量手動工作,因此根本不可能僱用足夠的工程師,尤其是系統層級的设计人員和验证專家,來成功完成當今的大型晶片開發。透過验证管理系統 (verification management system, VMS)幫助验证過程自動化已取得進展。此系統能夠更輕鬆地在所有平台上執行測試、合併覆蓋率結果,並將這些結果回傳標註在验证計畫中。然而,這種方法本身對最重要的仍處於解耦(decoupled)狀態的偵錯階段沒有幫助。
验证管理功能必須與偵錯工具整合,才能提供完整的解决方案。這樣可以縮短偵錯周轉時間(TAT),並利用嵌入每個步驟中的知識來全面瞭解验证進度。這樣的解决方案有幾個關鍵需求。首先,它必須易於設置並能自動執行模拟,此過程稱為執行管理。圖2顯示此流程可以擴展到模拟以外的其他验证引擎。
如圖2所示,這個解决方案必須包括一個應用程式介面(API),讓工程師能夠啟動測試、發布測試結果、乾淨利落地停止測試並產生自訂報告。所有測試都會得出覆蓋率結果,验证管理系統必須有效支援特定覆蓋率目標的排除管理,以及自動化的覆蓋率結果聚合(aggregation)與合併(merge)。
此外,如圖3所示,验证管理系統功能必須與偵錯系統整合,才能提供最有效的验证流程。圖3所示的自動化,覆蓋率合併和彙總在所有平台上都是完全自動化的。測試結果必須自動標註到验证計畫和设计規格中,而無需任何手動工作。
右图2:自动化的测试执行
下图3:自动化的覆盖率管理
圖4顯示了一個範例,验证計畫包含需要验证的功能清單,而覆蓋率結果則被標註到這些功能上,讓管理团队能夠評估進度,验证工程師也能夠確定後續步驟。計畫中的功能與设计規格中所強調的部分則相互連結。
圖4:自動化的验证規劃
儘管這些需求看起來很困難,但如今已有一種商業解决方案可以滿足這些需求。完整的验证管理系統(VMS)功能現在已整合到草榴社区 Verdi偵錯和验证管理平台中,該平台提供前述的所有功能,所有螢幕截圖都來自實際操作中的 草榴社区 Verdi 平台。它提供了傳統验证管理系統的所有功能,包括執行管理、覆蓋率管理和验证規劃。
將验证管理與偵錯整合,讓工程師能夠利用 草榴社区 Verdi 中的多項創新功能,包含使用機器學習(ML)將可能因相同問題導致失敗的測試進行分組。如圖5所示,此功能可以自動建立智慧型探針(smart probes),並在重新運行測試時使用它們,以進行更深入的故障診斷。機器學習還有助於加速失敗的根本原因分析(root-cause analysis, RCA)並排除大量手動偵錯工作。有興趣瞭解更多資訊可參閱白皮书。
圖5:草榴社区 Verdi 偵錯和验证管理連結
除了將覆蓋率結果回傳標註到验证計畫和设计規格外,草榴社区 Verdi 還可連結至常見的需求管理系統,例如 Jenkins 和 Jama。因此,草榴社区 Verdi Planner 能夠在整個開發流程中實現可追溯的验证。執行管理器則支援全面的迴歸(regression)管理,能自動蒐集覆蓋率合併結果;偵錯功能與验证管理功能流暢地整合,並使用通用圖形介面提供無縫的使用體驗。
這項強大的解决方案現已推出,且許多用戶都已成功部署。最近在一篇關於聯發科(MediaTek)使用經驗的部落格文章中指出,草榴社区 Verdi「協助工程師將迴歸失敗根本原因分析的時間從數天大幅縮短到數分鐘」。因此,沒有理由再忍受過時的手動迴歸管理方法,或者使用多種工具來嘗試自動化流程。草榴社区 Verdi 不只解決當今的验证需求,還能充分擴展以因應未來的挑戰。