草榴社区

客戶案例亮點:AMD 對新思科技 AI 验证工具進行實測

英文原文:

2023年8月28日於《厂别尘颈奥颈办颈》刊登

由各種不同的演算法(algorithms)構築而成的人工智慧 (artificial intelligence, AI)正逐步滲透到晶片设计流程中。而加速先進 AI 演算法的幕後推手正是急劇增加的晶片设计複雜性;然而,為解決晶片複雜度問題,演算法也正設法尋求優化晶片设计流程之道。由此可見,AI 既是問題,也是解决方案,「用AI簡化AI晶片设计問題」已經是實際應用的技術。新思科技長期以來致力於發展AI輔助设计功能。自 開始,新思科技又發布了多項全新功能,大幅擴展旗下AI 輔助产物藍圖。您可以由此瞭解概觀。新思科技产物組合的其中一項功能專注於验证空間最佳化 (VSO.ai),藉由客戶在實際设计上使用所有新功能,進行真正的測試,而這也是本篇文章的主題。請繼續閱讀,探索AMD 如何對新思科技 AI 验证工具進行實測。

VSO.ai 具備什麼功能

设计的測試覆蓋率(test coverage)是半導體验证的核心問題。有一句作戰口號是這樣說的:「如果您從未實行過測試,您就未曾真正完成验证。」我們可以使用多種技術生成刺激(stimulus)向量,其中限制隨機 (constrained random)向量是一種常見的方法。接著,將這些向量應用在设计的模拟中,並找出與預期結果不符的測試結果。

透過實行更多次電路測試,找到功能设计缺陷的機會也隨之增加。

验证團隊選擇相關結構程式碼覆蓋率指標(行、運算式、區塊等),並在執行模拟時,自動納入這些指標。隨著每一次測試迭代(iteration)產生出與規則相符的隨機限制向量,模拟器就會收集其中的所有覆蓋率形式指標。測試結果會受到監控,目標是調整限制以嘗試提高覆蓋率。到了某一時機點,團隊會選擇在專案排程和资源限制範圍內所達成的最佳測試結果,接著進行投片(tape out)。

程式碼覆蓋率並不會反映出該设计的預期功能,因此由使用者定義的覆蓋率就顯非常重要。這通常是手動的工作,僅涵蓋有限百分比的设计行為(design behavior)。要收斂覆蓋率並實現验证目標極為困難。

一般的晶片專案會執行數千次限制隨機模拟測試,在设计中進行大量重複性活動。因此,測試覆蓋率會逐漸降低,隨著時間推移,每次進行新測試的優勢也因而減少。

測試覆蓋率曲線通常會在實現目標前趨於平緩。團隊必須嘗試掌握問題所在,並在時間和资源限制範圍內盡可能提高覆蓋率。此過程的「關鍵最後一哩路」深具挑戰性。運行測試所收集到的資料量十分龐大,且嘗試分析資料並判定覆蓋率漏洞的根本原因既困難又耗費人力。比方說,我們要如何判別這個測試設定到底是illegal bin,還是真正的覆蓋漏洞?

繁複的晶片设计面臨的各種問題,不外乎是需要分析大量資料,並識別最佳開發方向。好消息是,AI 技術在因應這類問題上有絕佳的表現。

針對覆蓋率的定義,新思科技 VSO.ai 可以推斷超出傳統程式碼覆蓋率範圍外的某些覆蓋率類型,進而完善使用者指定的覆蓋率。機器學習 (Machine learning, ML)可以從經驗中學習,並在適當情況下智慧化地重複利用覆蓋率結果。即使是在單一專案中,從早期覆蓋率結果中學習也有助於改善覆蓋率模型。

此外,草榴社区 VSO.ai 可在粗略測試階段(coarse-grained test level)中運作,並針對測試結果的變化反覆學習,提供自動且適應性(adaptive)的測試優化結果。在消除冗餘測試(redundant test)的同時,VSO.ai將優先執行投資報酬率(ROI)最高的測試,從而加速覆蓋率收斂並節省運算资源。

而該工具還能在精密階段(fine-grained level)的模拟器中執行測試,透過限制隨機stimulus的調整,更精準地鎖定尚未實行的覆蓋點,進而提高測試結果品質(quality of results, QoR)。此方式不僅加速了覆蓋率收斂,也促使收斂水準達到更高的百分比。

而收斂挑戰的關鍵最後一哩路,會透過運用自動化、AI 驅動的覆蓋率結果分析來實現。VSO.ai可執行根本原因分析(root cause analysis, RCA),以判定未達到特定覆蓋點的原因。如果此問題能夠由VSO.ai自行解決,那麼此工具就會自動進行問題排除。否則,VSO.ai會向團隊提供可操作的結果,像是識別相互衝突的限制條件。

下圖總結了 VSO.ai 能帶來的優勢。這些方法的首要優勢在於设计人員可以在更短時間內,花費更少的设计精力,實現卓越的結果。且让我们先继续瞭解实验成果,稍后再回头探讨这个论述。

痴厂翱.补颈的优势

础惭顿的发现

AMD 在新思科技2023年3月於矽谷舉辦的使用者大會 (草榴社区 Users Group, SNUG) 中發表了一篇論文,標題為「揭開神秘面紗:在隨機限制模拟中使用 VSO.ai(验证空間優化),實現覆蓋率迴歸(regression)最佳化」。這篇論文詳細說明AMD在多項设计中使用VSO.ai的經驗。而AMD 對這項工作抱持著重大目標和期待:

在RTL和设计變量(design variant)微調的情況下,以自動化且最佳化的方式持續實現100%覆蓋率。

AMD 運用VSO.ai在四種不同设计的迴歸樣本中應用詳細紀錄的方法論。下圖為這四種實驗做了一 個總結。

四項设计中的迴歸特性

接著,AMD 詳細介紹這些设计、挑戰,並比對使用 VSO.ai實現的成果以及未使用 VSO.ai 的原始結果。回想一下前述將 AI 應用於设计流程的指標性優勢之一:

设计人員可以在更短時間內,花費更少的设计精力,實現卓越的結果

AMD 在新思科技SNUG年度使用者大會的演講獲選為10大最佳演講之一,總結了AMD團隊在實驗中所觀察到的優勢:

  • 在實現相同覆蓋率目標的情況下,四項设计中執行的測試數量減少 1.5 – 16 倍
  • 快速、随选即用(辞苍-诲别尘补苍诲)的迴归认可(辩耻补濒颈蹿颈别谤)
    • 当使用者不确定所需的反覆迭代(颈迟别谤补迟颈辞苍),可用它来衡量迴归测试分佈的良好程度
  • 在相同预算下尽可能锁定更多范围
    • 如果預設迴歸沒有達到 100% 覆蓋率,VSO.ai 可能會超越鎖定的範圍(例如實驗 #1)
  • 在覆盖率迴归中,移除无用的测试案例
  • 让随机限制测试分级更稳定
    • 統一報告生成器(Unified Report Generator, URG):基於種子相關(seed-based)分析法的 v/s
    • 痴厂翱.补颈:基於机率(辫谤辞产补产颈濒颈迟测-产补蝉别诲)的方法
  • 除错(诲别产耻驳)
    • 发现命中机率低於预期的覆盖率项目

該篇SNUG演講內容旨在對 VSO.ai 工具進行測試,並記錄該工具的正面影響。如前所述,AMD 對新思科技 AI 验证工具進行測試的方法,是使用者在真實设计中的應用案例,也正是對新技術的真正試驗。