由人工智慧驅動的設計應用
英文原文:AMD Puts Synopsys AI Verification Tools to the Test
2023年8月28日於《SemiWiki》刊登
由各種不同的演算法(algorithms)構築而成的人工智慧 (artificial intelligence, AI)正逐步滲透到晶片設計流程中。而加速先進 AI 演算法的幕後推手正是急劇增加的晶片設計複雜性;然而,為解決晶片複雜度問題,演算法也正設法尋求優化晶片設計流程之道。由此可見,AI 既是問題,也是解決方案,「用AI簡化AI晶片設計問題」已經是實際應用的技術。新思科技長期以來致力於發展AI輔助設計功能。自 2020 年推出設計空間最佳化功能 (DSO.ai) 開始,新思科技又發布了多項全新功能,大幅擴展旗下AI 輔助產品藍圖。您可以由此瞭解新思科技正在開發的技術概觀。新思科技產品組合的其中一項功能專注於驗證空間最佳化 (VSO.ai),藉由客戶在實際設計上使用所有新功能,進行真正的測試,而這也是本篇文章的主題。請繼續閱讀,探索AMD 如何對新思科技 AI 驗證工具進行實測。
設計的測試覆蓋率(test coverage)是半導體驗證的核心問題。有一句作戰口號是這樣說的:「如果您從未實行過測試,您就未曾真正完成驗證。」我們可以使用多種技術生成刺激(stimulus)向量,其中限制隨機 (constrained random)向量是一種常見的方法。接著,將這些向量應用在設計的模擬中,並找出與預期結果不符的測試結果。
透過實行更多次電路測試,找到功能設計缺陷的機會也隨之增加。
驗證團隊選擇相關結構程式碼覆蓋率指標(行、運算式、區塊等),並在執行模擬時,自動納入這些指標。隨著每一次測試迭代(iteration)產生出與規則相符的隨機限制向量,模擬器就會收集其中的所有覆蓋率形式指標。測試結果會受到監控,目標是調整限制以嘗試提高覆蓋率。到了某一時機點,團隊會選擇在專案排程和資源限制範圍內所達成的最佳測試結果,接著進行投片(tape out)。
程式碼覆蓋率並不會反映出該設計的預期功能,因此由使用者定義的覆蓋率就顯非常重要。這通常是手動的工作,僅涵蓋有限百分比的設計行為(design behavior)。要收斂覆蓋率並實現驗證目標極為困難。
一般的晶片專案會執行數千次限制隨機模擬測試,在設計中進行大量重複性活動。因此,測試覆蓋率會逐漸降低,隨著時間推移,每次進行新測試的優勢也因而減少。
測試覆蓋率曲線通常會在實現目標前趨於平緩。團隊必須嘗試掌握問題所在,並在時間和資源限制範圍內盡可能提高覆蓋率。此過程的「關鍵最後一哩路」深具挑戰性。運行測試所收集到的資料量十分龐大,且嘗試分析資料並判定覆蓋率漏洞的根本原因既困難又耗費人力。比方說,我們要如何判別這個測試設定到底是illegal bin,還是真正的覆蓋漏洞?
繁複的晶片設計面臨的各種問題,不外乎是需要分析大量資料,並識別最佳開發方向。好消息是,AI 技術在因應這類問題上有絕佳的表現。
針對覆蓋率的定義,新思科技 VSO.ai 可以推斷超出傳統程式碼覆蓋率範圍外的某些覆蓋率類型,進而完善使用者指定的覆蓋率。機器學習 (Machine learning, ML)可以從經驗中學習,並在適當情況下智慧化地重複利用覆蓋率結果。即使是在單一專案中,從早期覆蓋率結果中學習也有助於改善覆蓋率模型。
此外,Synopsys 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 能帶來的優勢。這些方法的首要優勢在於設計人員可以在更短時間內,花費更少的設計精力,實現卓越的結果。且讓我們先繼續瞭解實驗成果,稍後再回頭探討這個論述。
VSO.ai的優勢
AMD 在新思科技2023年3月於矽谷舉辦的使用者大會 (Synopsys 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團隊在實驗中所觀察到的優勢:
該篇SNUG演講內容旨在對 VSO.ai 工具進行測試,並記錄該工具的正面影響。如前所述,AMD 對新思科技 AI 驗證工具進行測試的方法,是使用者在真實設計中的應用案例,也正是對新技術的真正試驗。