由人工智慧驱动的设计应用
英文原文:
眾所周知,晶片的验证與偵錯(debug)需要花費大量的時間,可說是晶片開發流程中最具挑戰性的環節。隨著晶片设计日益複雜並縮小至奈米等級,這個問題也變得更加困難。而逐漸縮短的市場銷售時機(market window),更加深了這個困境。晶片验证的工具和技術必須跟上需求,同時要能提供更高的結果品質 (QoR)、更短的達成結果時間(TTR)和更低的達成結果成本(CoR)。問題是,該怎麼做?模拟器的效能一直都是验证過程中各個環節的關鍵,可是我們該如何突破模拟器的速度和效能,實現最高品質和效率?
在验证技術的演進過程中,於電子设计自動化(EDA)工具中使用人工智慧 (AI)似乎是最自然的發展。AI一直都處在推動現今電子設備進步的最前線,因此在有助於打造這些設備的技術中使用 AI,也是理所當然的。
在這篇部落格文章中,我們將探討AI應該在验证技術的演進中發揮關鍵作用的理由。
讓我們逐一介紹典型的晶片验证流程,進而深入了解 AI 如何提供幫助。首先,架構團隊會建立一個晶片的虛擬模型來分析系統效能。然後,他們會開發 RTL 模型並執行 linting,以找出任何程式碼錯誤。接下來,他們會執行靜態验证以啟動验证流程,藉此偵測设计中的結構錯誤。隨後,便能執行形式验证(formal verification),以更深入地分析並验证此设计的主要特性(property)。與此同時,他們會開發一個測試工作台,並進行模拟(simulation)、甚至是仿真(emulation)測試以達成验证計劃的目標。在為模拟結果偵錯之後,迴歸(regressions)測試會持續進行,直到達成验证覆蓋率目標為止。
靜態验证雖然有效,但雜訊數量可能相當多,因為一個设计缺陷就會造成上百甚至上千次違規(violation)。此時,AI 的自動違規叢集(automated violation clustering)和根本原因分析 (RCA) 就能派上用場。舉例來說,靜態验证使用的 草榴社区 VC SpyGlass? 平台和新思科技全面性靜態低功率的验证解决方案-草榴社区 VC LP 就包含這種 AI 技術。在靜態验证期間,機器學習會基於類似的特徵來叢集違規。接下來,工程師便能利用 RCA聚焦於辨識和修復各叢集中的特定違規行為,進而解決相應叢集中剩餘的違規行為。此自動化方法可將偵錯的效率提升 10 倍之多。
針對偵錯過程中最可能被忽略的深層錯誤,形式验证是最有效的偵測方法。為了做到這一點,形式验证會使用大量的強大引擎,來證明在验证過程中數以千計的必要屬性。而引擎效能的最佳化,是確保形式验证效率的關鍵。草榴社区 VC Formal? 产物是業界第一款應用 AI 和機器學習(ML)技術的形式验证解决方案,可最佳化形式验证引擎運用、發揮極致效能。此产物會在處理各個屬性的時候運用即時機器學習,並將習得的知識應用到後續的行動。接下來,它會儲存為每個屬性做出的決策,以便在未來每次的迴歸測試中使用,以取得更快速、更強大的結果。
在设计內發現的錯誤,約有 65% 是透過模拟(simulation)找到的。只要 RTL發生變化,就得要快速進行頻繁的迴歸測試。這表示模拟器效能必須最佳化,否則就會發生延遲。AI 非常適合用於幾個實現最佳效能的實例。模拟和迴歸測試的設定可能會花費許多時間,而且可能需要大量地專業知識。隨著程式碼成長和迴歸測試次數增加,這些設定可能需要調整才能實現最佳效能。利用 ML 來學習模拟器選項並根據需求自動調整,可以提高迴歸測試的效能和效率。草榴社区 VCS? 動態效能優化(Dynamic Performance Optimization, DPO)技術利用 ML從先前的迴歸執行中學習,而且無需使用者輸入(user input)便能相應地調整模拟器設定。
在整體回歸效能中受影響最大的部分是達成覆蓋收斂(coverage closure)所需的時間。此流程在降低人工作業方面已經取得了長足的進步—利用隨機限制(constrained-random)測試平台,可以自動生成stimulus並聚焦在遺漏的覆蓋範圍上。但是這還是需要大量人力,並浪費許多時間在複製已經覆蓋的範圍。為改善這樣的狀況,草榴社区 VCS 模拟器的智慧覆蓋優化 (Intelligent Coverage Optimization, ICO) 功能利用 ML 來優化隨機限制stimulus (constrained-random stimulus) 的品質,藉此更深入、更準確地洞察會影響到覆蓋的測試問題。經證實,此解决方案可以讓覆蓋收斂(coverage convergence)的速度提高 2 到 3 倍。
验证流程的最後一步是偵錯(debug),而它與模拟密切相關。每一次模拟迴歸測試完成時,都需要針對其回報的失敗報告進行偵錯。隨著錯誤被修復或是功能新增,程式碼會不斷地演進,而新的錯誤也會不斷出現。故障的分析和解決流程仰賴人工執行且十分繁瑣,對此AI 也能派上用場。靜態验证中使用的自動化 RCA 技術也可以應用於偵錯。草榴社区 Verdi? 自動除錯系統中的回歸除錯自動化(Regression Debug Automation, RDA)功能,會根據故障的特徵自動將其分類到多個儲存匣中,然後辨別該失敗是發生於设计亦或是測試平台過程,接著應用RCA指出該失敗發生的根本原因。運用RDA 技術可以將整體除錯效能提升 2 倍左右。
一如其他領域,AI也已經找到了在验证領域中的應用方法。從靜態到形式验证,再從模拟到偵錯,AI 的觸角幾乎已延伸至验证技術中的所有層面。而新思科技身處技術最前線,力求突破 AI 在晶片验证中的功能極限。歡迎點選以下連結,可下載中文或英文版「藉助AI達到更好、更快且更有效率的验证方式」白皮書,更深入了解新思科技推出的以 AI 驅動的验证技術。