晶片設計一次到位!AI 如何加速實現晶片驗證覆蓋率與偵錯?

最近,人工智慧議題話鋒一轉,從「AI 可以做什麼」延伸到了「AI 不能做什麼」。從 ChatGPT 等熱門的聊天機器人到自動駕駛汽車,AI 在我們的日常生活中無處不在。即使是晶片設計等各種看似非直接相關的產業,竟也出乎意料地適合人工智慧應用,並受益於更先進的AI技術。

如果在開發晶片的過程中,借助人工智慧處理最費力耗時的步驟,讓晶片設計更快一次到位,會是怎樣的情況呢?特別是在晶片設計日益繁複的前提下,試想一下將 AI 整合至晶片驗證與偵錯(debug)階段的可行性。

當然,最終目的是更快達成驗證覆蓋率目標,並找出更多錯誤。數位設計流程具有大量可操作的設計狀態空間(state space),而手動分析所有空間並獲得足夠的可操作見解(actionable insights)以進行改善,幾乎是不可能的任務。

然而,若是 AI 可以介入晶片設計並助其一臂之力,驗證工程師就得以專注於修正發現的錯誤。如此一來,AI對晶片設計帶來什麼好處呢?

長達數天的迴歸測試將成為歷史?

晶片設計複雜度發展一日千里,而半導體產業正面臨一系列備受矚目的挑戰。從半導體埃米(angstroms)世代的演進、多晶粒(multi-die)整合,乃至於製程節點間的快速移轉,我們從未面臨如此強烈的需求,因此勢必要在提升工程效能的同時找出創新的解決方案。然而,因為邏輯與功能等問題,系統單晶片(SoC)往往需要進行成本高昂的重製或重新設計(respin),伴隨而來的是永無止境的驗證流程。而來自晶片成本及上市時程(time-to-market)的壓力,則會讓驗證及偵錯的循環無法一直持續下去。

一旦設定好晶片設計的暫存器轉換層級(RTL)及設計狀態空間,驗證流程就會啟動。晶片驗證工程師需要檢查每個空間,確保 SoC 設計成品能夠正常運作。覆蓋率收斂(coverage closure)的目標在於確保整體設計能依照其所應執行的方式順利運作。

覆蓋率收斂面臨三個主要挑戰:

  • 覆蓋率的測試計畫:由於難以掌握該為測試工作台(testbench)的覆蓋率定義寫入的內容,譬如需要何種類型的coverage group跟實際行為的差距(gaps),以及其他仍需寫入的測試工作台等;因此覆蓋率的規劃對於能發現所有錯誤,確保100% 的覆蓋率至關重要。
  • 覆蓋率的收斂:瞭解哪個測試工作台能達成最高覆蓋率在隨機測試中是另一項難事。執行 1,000 次相同的測試可能只會達成 50% 的覆蓋率,越接近 100% 的覆蓋率,會發現要收斂最後幾個百分比可能得花費數週的時間。找出高覆蓋率的測試工作台為關鍵所在,但開發這種測試流程非常耗費人力。
  • Stimulus 開發與根本原因分析(root-cause analysis):可能會遇到 stimulus不應執行特定配置或錯誤的情況。又或許,stimulus 的編寫方式根本無法達成覆蓋目標。

驗證工程師在傳統的晶片驗證週期中會設定一個目標,並執行迴歸(regression)測試。作為過程的一部分,工程師們會設置測試工作台來產生隨機 stimulus,藉此查看晶片設計如何反應。驗證團隊通常對每次測試的投資回報率(ROI)毫無頭緒,因此針對該給定設計執行 10,000 到 15,000 次測試已是常態。執行迴歸測試的時間可能長達數天,因而佔用寶貴的運算資源。

SoC 驗證週期中有兩種迭代循環(iterative loops)會佔用大量時間,即執行迴歸測試及覆蓋率收斂後的偵錯失敗與修正錯誤(圖1)。兩者皆為耗時且重複性的工作,包括覆蓋率分析,以及在發現覆蓋漏洞後進行調整,接著一遍又一遍地循環。接下來,當團隊發現錯誤時,便需要對其進行分析,在 RTL 或測試工作台進行變更,並重新執行迴歸測試以確保錯誤已確實修正。這部分也是一種迭代循環。

圖 1:典型驗證週期中的迭代循環。

學習加速驗證覆蓋率收斂的方法

迭代循環的一項優勢在於從中學習的能力,而這正是 AI,尤其是機器學習(ML)可以發揮關鍵作用之處。如果機器學習引擎可以從特定模式(pattern)中學習,那麼它就能從測試工作台的一行代碼識別出可能存在錯誤的內容。認知到這一點後,它將能夠在未來的迴歸測試中應用這個見解(insight),進而實現更快的覆蓋率收斂;尤其是當系統經過訓練後,就有可能實現更高層級的覆蓋率。

AI 在半導體產業應用取得長足進展。比如說,屢獲殊榮的業界首款AI驅動晶片設計解決方案 Synopsys DSO.ai™,近期成功達成100 次生產投片(tape-outs)里程碑。藉由在晶片設計的大型解決方案空間中自動搜尋優化目標,DSO.ai 有助於提高工程生產力以及晶片的功耗、效能和面積(PPA)指標。

在驗證方面,為了縮短前述的偵錯及修正週期,Synopsys Verdi® 自動偵錯系統中的迴歸除錯自動化(Regression Debug Automation, RDA)技術提供 AI 驅動的晶片驗證。借助此功能,使用者得以利用預測分析自動執行容易出錯的手動過程,在待測設計(design-under-test)及測試工作台找出錯誤的根本原因。自動化偵錯週期的創新技術發展指日可待,最終將實現無需人工干預的全自動偵錯及修正循環。

這些例子僅僅是未來趨勢的開端。將有更多EDA流程得以借助更高等級的人工智慧,幫助工程師提升工作效率以產生更好的結果。舉例來說,如果AI可以更清楚瞭解所需的額外覆蓋率,會如何呢?如果更高等級的人工智慧能以最大限度減少執行迴歸測試時所浪費的時間和精力,又會如何呢?或者,如果AI可以更快速地推進根本原因分析呢?也許,一般長達數天才能完成的工作可以縮短至數小時,並將其釋出的資源應用於其他專案和/或具有高附加價值的工作。

更快將合適的晶片推向市場

世界上有許多繁複艱難的問題,有待更複雜的運算系統來解決。自動化及人工智慧可以讓工程師的產出價值更錦上添花,在提升效率的同時,讓設計及驗證專家得以專注研發差異化的矽晶片,並將這些系統融入生活。一旦AI 驅動的EDA流程能夠承擔重複性工作負載,工程師將有更多時間及精力來修正錯誤,並進一步推進設計。從探索設計空間到覆蓋率及偵錯循環等,AI應用的領域非常廣泛,並將對這些領域造成難以磨滅的影響。

新思科技SNUG Taiwan 使用者大會即將登場!瞭解更多 AI 可以為驗證及偵錯創造的可能性

一年一度的SNUG Taiwan即將於6月20日在新竹喜來登飯店盛大展開。來自頂尖半導體公司的業界夥伴及新思科技技術專家將分享AI驅動的驗證及偵錯流程,以實際案例深度剖析人工智慧的在晶片驗證領域的落地應用。想瞭解AI如何推動EDA的下一波創新浪潮?那麼您絕對不能錯過SNUG Taiwan使用者大會