人工智慧:驗證技術演進的下一步

眾所周知,晶片的驗證與偵錯(debug)需要花費大量的時間,可說是晶片開發流程中最具挑戰性的環節。隨著晶片設計日益複雜並縮小至奈米等級,這個問題也變得更加困難。而逐漸縮短的市場銷售時機(market window),更加深了這個困境。晶片驗證的工具和技術必須跟上需求,同時要能提供更高的結果品質 (QoR)、更短的達成結果時間(TTR)和更低的達成結果成本(CoR)。問題是,該怎麼做?模擬器的效能一直都是驗證過程中各個環節的關鍵,可是我們該如何突破模擬器的速度和效能,實現最高品質和效率?

在驗證技術的演進過程中,於電子設計自動化(EDA)工具中使用人工智慧 (AI)似乎是最自然的發展。AI一直都處在推動現今電子設備進步的最前線,因此在有助於打造這些設備的技術中使用 AI,也是理所當然的。
在這篇部落格文章中,我們將探討AI應該在驗證技術的演進中發揮關鍵作用的理由。

AI 如何加速晶片驗證流程

讓我們逐一介紹典型的晶片驗證流程,進而深入了解 AI 如何提供幫助。首先,架構團隊會建立一個晶片的虛擬模型來分析系統效能。然後,他們會開發 RTL 模型並執行 linting,以找出任何程式碼錯誤。接下來,他們會執行靜態驗證以啟動驗證流程,藉此偵測設計中的結構錯誤。隨後,便能執行形式驗證(formal verification),以更深入地分析並驗證此設計的主要特性(property)。與此同時,他們會開發一個測試工作台,並進行模擬(simulation)、甚至是仿真(emulation)測試以達成驗證計劃的目標。在為模擬結果偵錯之後,迴歸(regressions)測試會持續進行,直到達成驗證覆蓋率目標為止。

靜態驗證雖然有效,但雜訊數量可能相當多,因為一個設計缺陷就會造成上百甚至上千次違規(violation)。此時,AI 的自動違規叢集(automated violation clustering)和根本原因分析 (RCA) 就能派上用場。舉例來說,靜態驗證使用的 Synopsys VC SpyGlass® 平台和新思科技全面性靜態低功率的驗證解決方案-Synopsys VC LP 就包含這種 AI 技術。在靜態驗證期間,機器學習會基於類似的特徵來叢集違規。接下來,工程師便能利用 RCA聚焦於辨識和修復各叢集中的特定違規行為,進而解決相應叢集中剩餘的違規行為。此自動化方法可將偵錯的效率提升 10 倍之多。

針對偵錯過程中最可能被忽略的深層錯誤,形式驗證是最有效的偵測方法。為了做到這一點,形式驗證會使用大量的強大引擎,來證明在驗證過程中數以千計的必要屬性。而引擎效能的最佳化,是確保形式驗證效率的關鍵。Synopsys VC Formal™ 產品是業界第一款應用 AI 和機器學習(ML)技術的形式驗證解決方案,可最佳化形式驗證引擎運用、發揮極致效能。此產品會在處理各個屬性的時候運用即時機器學習,並將習得的知識應用到後續的行動。接下來,它會儲存為每個屬性做出的決策,以便在未來每次的迴歸測試中使用,以取得更快速、更強大的結果。

機器學習提升模擬的效能和效率

在設計內發現的錯誤,約有 65% 是透過模擬(simulation)找到的。只要 RTL發生變化,就得要快速進行頻繁的迴歸測試。這表示模擬器效能必須最佳化,否則就會發生延遲。AI 非常適合用於幾個實現最佳效能的實例。模擬和迴歸測試的設定可能會花費許多時間,而且可能需要大量地專業知識。隨著程式碼成長和迴歸測試次數增加,這些設定可能需要調整才能實現最佳效能。利用 ML 來學習模擬器選項並根據需求自動調整,可以提高迴歸測試的效能和效率。Synopsys VCS® 動態效能優化(Dynamic Performance Optimization, DPO)技術利用 ML從先前的迴歸執行中學習,而且無需使用者輸入(user input)便能相應地調整模擬器設定。

在整體回歸效能中受影響最大的部分是達成覆蓋收斂(coverage closure)所需的時間。此流程在降低人工作業方面已經取得了長足的進步—利用隨機限制(constrained-random)測試平台,可以自動生成stimulus並聚焦在遺漏的覆蓋範圍上。但是這還是需要大量人力,並浪費許多時間在複製已經覆蓋的範圍。為改善這樣的狀況,Synopsys VCS 模擬器的智慧覆蓋優化 (Intelligent Coverage Optimization, ICO) 功能利用 ML 來優化隨機限制stimulus (constrained-random stimulus) 的品質,藉此更深入、更準確地洞察會影響到覆蓋的測試問題。經證實,此解決方案可以讓覆蓋收斂(coverage convergence)的速度提高 2 到 3 倍。

驗證流程的最後一步是偵錯(debug),而它與模擬密切相關。每一次模擬迴歸測試完成時,都需要針對其回報的失敗報告進行偵錯。隨著錯誤被修復或是功能新增,程式碼會不斷地演進,而新的錯誤也會不斷出現。故障的分析和解決流程仰賴人工執行且十分繁瑣,對此AI 也能派上用場。靜態驗證中使用的自動化 RCA 技術也可以應用於偵錯。Synopsys Verdi® 自動除錯系統中的回歸除錯自動化(Regression Debug Automation, RDA)功能,會根據故障的特徵自動將其分類到多個儲存匣中,然後辨別該失敗是發生於設計亦或是測試平台過程,接著應用RCA指出該失敗發生的根本原因。運用RDA 技術可以將整體除錯效能提升 2 倍左右。

突破 AI 在晶片驗證中的功能極限

一如其他領域,AI也已經找到了在驗證領域中的應用方法。從靜態到形式驗證,再從模擬到偵錯,AI 的觸角幾乎已延伸至驗證技術中的所有層面。而新思科技身處技術最前線,力求突破 AI 在晶片驗證中的功能極限。歡迎點選以下連結,可下載中文或英文版「藉助AI達到更好、更快且更有效率的驗證方式」白皮書,更深入了解新思科技推出的以 AI 驅動的驗證技術。