目前,生成式人工智能浪潮正席卷全球各行各業,重新定義全球的工作方式。通過利用 AI 自動化處理重復性工作流程,企業得以將工作重點放在創新而非迭代上。
驗證領域也不例外 ——Cadence 利用生成式人工智能開發了一系列 AI 工具,助力驗證工程師縮短繁瑣的調試周期,從而將工作重心放在創新上。
傳統上,驗證工程師需要首先設計芯片和測試平臺,并使用 Xcelium 進行仿真,確保功能和代碼覆蓋率滿足要求,或在未滿足時進行調試跟蹤。然后,在調試完成后更新設計和測試平臺,最后再重復上述流程。這一過程既耗時又繁瑣,占據了整體開發時間的相當大一部分。
是否存在更好的方式呢?
Cadence 提供了幾款用于調試和分析的 AI 驗證工具:Verisium WaveMiner、AutoTriage、CodeMiner和PinDown。這些工具可在分析和調試流程的各個階段協助工程師,將調試總時間縮短達 10倍。
在回歸測試完成后,首先使用 Verisium AutoTriage 進行故障分類。手動分析故障成本高昂且效率低下,其中的一大原因是不同的故障容易被歸類至類似的組別中。例如,內存訪問沖突問題就可能導致多個不同的測試失敗。而 AutoTriage 可以通過分析由共有問題導致的失敗測試來創建故障集群列表——這些共有問題可能是基于發送錯誤消息、測試名稱以及發生故障的運行時間等多種因素。然后識別這些故障間的共同線索,從而助力工程師快速找到故障的根本原因。
圖1:Verisium AutoTriage 故障整理
和所有的 AI 工具一樣,AutoTriage 接受的回歸測試訓練次數越多,其準確性和有效性就越高。在工程師審查 AutoTriage 的初步輸出、驗證聚類結果并進行調整后,AutoTriage 會根據這些修改進行自我學習,從而在后續運行中提供更好、更精準的分類結果。
然而,僅僅了解導致測試失敗的問題類型是遠遠不夠的。此時,Verisium PinDown 可助力工程師確定哪些代碼提交導致測試失敗。
圖2:Verisium PinDown 風險預測
PinDown 可以利用機器學習來確定導致測試用例失敗的原因,而且甚至能通過重新運行選定測試來自動驗證該原因。PinDown 可與 Git、Perforce 和 Subversion 等多種版本控制系統兼容,并利用這些系統中的數據來識別可能影響代碼完整性的共有外部因素,如提交錯誤代碼的時間、有提交錯誤代碼歷史的用戶,以及在同一區域內提交代碼的不同用戶的數量等。
完成這一步后,您還可以使用其他工具來查找故障的根本原因。例如,您可以用 Verisium WaveMiner 來分析一個或多個通過或失敗的波形,并對波形中的異常行為進行隔離。可通過對仿真時間進行排序和縮減信號列表來標注這些異常行為,從而為工程師快速縮小問題范圍。
圖3:Verisium WaveMiner 流程
WaveMiner可以直接啟動Verisium Debug平臺,方便工程師采取相應措施。WaveMiner 不是一個波形比較工具,而是可用于深入分析可能引發異常行為的行為和信號。該流程的自動化大幅縮短了調試周期,已有用戶見證調試周期(TAT)從數天縮減至數小時。
同樣,您可以使用 Verisium CodeMiner 對代碼上下文進行類似的驗證。CodeMiner 可識別不同 Xcelium Snapshot 版本間的語義變化、對其進行排序,并智能忽視那些無關緊要的變化,同時對代碼中的重要邏輯變更進行復雜度排序,從而使工程師了解代碼中發生的重大變更位置。
圖4:Verisium CodeMiner 流程
借助這些 AI 工具,工程師可以在大大減少測試次數、大幅提高測試效率的同時達成覆蓋率目標。當然,這還只是個開始。目前,Cadence 正在研發一系列全新的 AI 工具,以進一步實現驗證流程各部分的自動化,從而將工程師從各種繁瑣測試和調試工作中解放出來。
-
Cadence
+關注
關注
65文章
921瀏覽量
142073 -
AI
+關注
關注
87文章
30728瀏覽量
268886 -
驗證工具
+關注
關注
0文章
10瀏覽量
7484 -
人工智能
+關注
關注
1791文章
47183瀏覽量
238245
原文標題:未來工具:Cadence 如何運用人工智能改變驗證流程
文章出處:【微信號:gh_fca7f1c2678a,微信公眾號:Cadence楷登】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論