半導體各領域的發展難度與日俱增,驗證可能是整個發展過程中最具挑戰性的階段。多年來,研究顯示在驗證上投入的時間和資源所占的百分比會隨著新時代芯片的出現而增加。因此整體上,驗證的快速成長超過芯片開發和芯片制造中的其他階段。電子設計自動化(EDA)產業將人工智能(AI)的力量應用到驗證過程的各個步驟,以應對這樣的情況。
三大驗證關鍵挑戰
芯片驗證工具、過程或方法,常常和快速找到更多程序錯誤畫上等號。然而,實際驗證上所考慮的因素其實更加廣泛。驗證工程師主要關心下列三個層面:結果的質量(QOR)、達成結果所需的時間(TTR),以及達成結果所需的成本(COR)。
QOR不難理解,驗證團隊會希望能找到所有的程序錯誤。找出的程序錯誤數量十分重要,但程序錯誤的類型和復雜度也同樣關鍵。如果因為一些沒發現的程序錯誤而造成系統宕機或芯片故障,那么即使找到99.9%的程序錯誤也只是徒勞。目前沒有方法能準確知道什么時候能找到所有程序錯誤,不過,已有一些方法能幫助驗證團隊決定何時能宣告成功并將芯片投片量產。在模擬方面,功能性和結構性的覆蓋方法(Coverage Metrics)最為常見。達到高度覆蓋能在設計的正確性上建立信心,而未能覆蓋的部分則能作為良好準則,告訴團隊還需要進行的額外測試。在靜態和形式(Formal)分析方面,檢查和驗證的電路特性百分比是主要的數據,而未能百分之百驗證的特性則可當作分析深度的有界驗證(Bounded Proof)信息。
基于許多原因,TTR也極具重要性。每個芯片計劃都有一個目標出貨日期,而這日期取決于市場機會和競爭壓力。相關人員將依照該日期規劃時程,但是如果接近收斂的時間來得比預期還慢,投片量產以及接下來的產品出貨時間都會因此產生延遲。這不僅會造成利潤損失,在最壞的情況下,還會讓芯片在出貨前就失去競爭力。因此,驗證工具需要能夠快速進行測試和分析,并具備平穩的收斂過程及迅速的除錯功能,才有辦法趕上緊迫的時程。若時程落后,一般的應對措施是擴編驗證團隊。然而,在一個工程計劃中增加更多人員并不一定會減少完工所需的時間。
資源也包含在COR的三個層面內。增加更多工程師不僅會增加計劃成本并減少終端產品的潛在利潤,取得更多運算服務器或是租借云端服務器也都會增加成本。此外,每次啟動額外的模擬或是形式驗證都會產生更多需要分析的結果。如果這些額外的驗證測試相較于既有測試是多余的話,這些增加的非必要調試時間可能反而降低驗證效率。最后,每次芯片re-spin都會在預算中增加一筆可觀的COR并造成TTR延遲,所以高QOR非常關鍵(圖1)。
圖1 QOR、TTR、COR三層面重點
AI技術多數皆以機器學習(ML)為基礎,可以大幅度改善芯片驗證的三個層面。圖2顯示典型驗證流程。在設計者將RTL編程寫入之前,架構團隊就會建立一個芯片的虛擬模型并分析系統效能。
當關鍵決定下達時,設計團隊就會開發RTL模型; 這些過程最好能通過整合開發環境(IDE)完成,并搭配強大的代碼檢測工具(Language Linting)以捕獲其他會消耗時間和資源的編碼錯誤,并在計劃后期修復。標記的錯誤修復后,通常會由設計者來執行驗證的第一步,也就是啟動靜態驗證工具來偵測設計中的結構錯誤。形式驗證(Formal Verification)工具則能提供更深入的分析,嘗試證明關于RTL設計的關鍵性質。
這些工具也可能由設計者啟動,盡管熟悉formal的專家也可能參與其中。同時,驗證團隊開發出能執行一系列測試的測試平臺(Testbench)和模型來達成驗證計劃的目標,這通常會運用到現有的驗證IP(VIP)。
這些測試主要通過模擬來完成,不過近幾年硬件仿真平臺的使用也越來越普遍。如前述,覆蓋方法是判斷驗證進度的主要方法,而覆蓋收斂(Coverage Closure)則是高度迭代的過程,通常是驗證時程中耗時最久的一部分。
圖2 驗證流程概略
AI技術在靜態驗證的應用
隨著靜態驗證可提供的檢查類型增加,在芯片驗證中的重要性也越來越高。當代的靜態解決方案包含針對跨時脈域(Clock Domain Crossing, CDC)、跨重置域(Reset Domain Crossing, RDC)以及低功率設計結構的精密檢查。透過這樣豐富的分析陣列,以一個典型計劃中能發現的所有程序錯誤而言,其中大約10%會在這個階段就被偵測到并修復。靜態工具的主要問題在于它們通常會回報好幾千個潛在的違規,很容易造成干擾。其中有些可藉由微調輸入設定來解決,如選取哪種違規回報為錯誤、哪種違規僅是警告。發生干擾的主要原因是單一底層設計(Underlying Design)的缺失所導致的相關違規。例如,頻率邏輯中的程序錯誤可能會導致使用該時鐘的任一正反器(Flip-flop)產生違規回報。就除錯效率而言,設計者必須專注在特殊的問題上,一旦這些問題獲得解決,便能消除多數違規。
根本原因分析(Root-cause Analysis, RCA)就是一款能達到上述要求的AI賦能技術。如圖3所示,各個擊破過程中的第一步就是使用機器學習方法并根據共同特征進行違規叢集。在剛剛提到的范例中,所有與時脈邏輯程序錯誤相關的違規都會整合成單一叢集,其目的為讓設計者將每個叢集視為一種違規并進行修復,如此便可修正叢集中的所有違規。數以千計的違規通常會減少至幾十個叢集,這樣能節省設計者大量的時間和精力。叢集法使用的是非監督式的機器學習算法,因此可以在沒有用戶引導下自行運作。它能識別違規的因果關系、隨著計劃進度學習,并執行RCA,進而減少計劃團隊的負擔。此外,其具有的圖像顯示和現成可用的Tcl指令文件能引導設計者找到每一個叢集中違規的根本原因。
圖3 靜態分析中的違規叢集
新思科技的靜態驗證解決方案VC SpyGlass平臺,以及其全面性靜態低功率的驗證解決方案VC LP,能提供包括前述甚至更多的功能。SmartGroup技術能執行先進的叢集法來大幅減少待檢驗的違規數量,而RCA可加速每個叢集的除錯速度。針對違規提出的建議修正可能是對RTL的設計進行改變,不過通常是細微的區別或添加設計限制文件(Constraints File)?;跈C器學習的群集法和RCA的組合能在一般典型芯片計劃中提供10倍的調試效率并改善靜態驗證。
AI技術在形式驗證的應用
雖然以測試平臺為基礎的模擬為人熟知并且廣泛應用在驗證技術上,但還是有其限制。除非模擬刺激(Simulation Stimulus)觸發程序錯誤并以可觀察到的方式改變預期結果,設計上的程序錯誤便無法被偵測到并進一步修復。因此,總是有某些程序錯誤會被遺漏。形式驗證提供針對一組屬性的設計綜合分析,不需要stimulus; 該分析會考慮每一個可能的合法輸入序列,可以偵測到在模擬中難以被激發的深層程序錯誤,這通常占所有程序錯誤中的20%。形式驗證還可以證明在給定的電路特性(Property)不存在更多的錯誤,為模擬或仿真提供很高的可信度。
形式驗證工具通常在幕后有好幾十個解算裝置(Solver)或引擎來處理好幾百或好幾千個在設計上需要驗證的電路特性。它能處理的形式驗證工具效能和設計尺寸皆取決于引擎效能和引擎的編排。在過去20年里,formal的技術已經進步許多。最近,AI和機器學習技術的采用大大改善收斂性和效能。
新思科技VC Formal是業界第一款形式驗證工具,并將機器學習應用在引擎編排、回歸和除錯程序。引擎編排的目的是在實際運算資源和時間的限制下,指派正確的引擎到正確的電路特性上,以達到最短的運作時間和最佳的收斂演算。VC Formal在處理每一個電路特性時,都會使用實時加強學習,從有效和無效的方法中學習,并在下一組動作中指導編排,這稱為智能策略選擇(Smart Strategy Selection)。除此之外,針對每一個電路特性下達的決定都會在執行結束時儲存在數據庫中,后續的執行可以運用前次執行的學習成果,找出更好的結果,這稱為回歸模式加速器(Regression Mode Accelerator, RMA)。當RTL設計或形式測試平臺在設計和驗證的過程中需要修正時,形式驗證通常會在每晚或是每周的回歸過程中執行,以確保這些改變在設計上不會產生新的程序錯誤。
如圖4所示,每次接續的VC Formal執行都會讀取前一次執行的設計內容和學習數據庫來決定可安全維持的電路特性狀態,并決定哪些電路特性因為這些改變而需要重新執行、哪些不能判定的電路特性應該需要更多時間和編排資源。即使是那些需要重新驗證的電路特性,前次執行中的學習也會指導編排過程并使第二次執行更快速。比較基準(Benchmark)的數據顯示這些機器學習技術可以提升10倍以上的驗證速度和額外的收斂能力,并減少TTR和COR,同時還能改善QOR。圖5以一項真實設計作為范例來說明這些好處。
圖4 VC Formal中的回歸模式加速
圖5 RMA加速電路特性收斂
AI技術在模擬的應用
運作時間性能對模擬回歸也至關重要,這可能包含數以千計的測試并通過執行來驗證所有在RTL設計和測試平臺上的編程改變。模擬會保留在芯片驗證的核心部位,約占所有已發現程序錯誤的65%。有時候為了修復程序錯誤而在設計上做的改變不僅無法正常運作,甚至還會引發新問題。因此,頻繁進行回歸程序來快速偵測問題是確保計劃按部就班進行的關鍵。影響模擬和回歸效能的因素中,至少有兩項與AI相關的改善有關。
第一項因素為模擬和回歸執行的設定。當代模擬器具有許多選項和開關,對效能有著重大影響,驗證工程師需要時間和專業知識來為特殊的設計和測試平臺進行模擬器的設定優化。隨著程序演化,可能會需要對設定做一些調整來維持最佳效能。使用機器學習技術來學習和維持模擬器選項和開關的自動化過程,可以改善回歸效能和效率。新思科技VCS模擬器中的動態性能優化(Dynamic Performance Optimization, DPO)技術是AI在模擬性能上的一種應用。它利用機器學習和以規則為基礎的AI技術,從前幾次的回歸執行中學習并自動調整VCS設定來優化效能,如圖6所示。該過程是自動的,所以不需要用戶輸入。不過,若驗證工程師有相關需要,還是可以控制該流程的某些面向。例如,他們可以只在某幾天打開學習模式,并在期間內使用相同設定執行回歸。相較于采用模擬器設定的手動驗證,DPO大致上可提供快上1.3~2倍的模擬執行。
圖6 VCS中的動態效能優化
在整體回歸效能中受影響最大的部分是收斂所需的時間。以往驗證工程師會檢查模擬報告來判定未達到的覆蓋部分,接著變更測試或編寫新的測試來嘗試覆蓋設計上錯失的部分。藉由隨機限制(Constrained-random)的測試平臺,他們更有可能修改測試平臺的限制,將產生的自動stimulus聚焦在遺漏的覆蓋范圍上,但是這還是需要相當大的人力,并將浪費相當多的時間復制已覆蓋的范圍。改善這種狀況是驗證過程中另一種AI與機器學習的應用,而VCS也提供了一套解決方案。智能覆蓋優化(Intelligent Coverage Optimization, ICO)能優化隨機限制stimulus的統計質量并對影響覆蓋范圍的測試問題提出見解(圖7)。在最近的芯片計劃中,ICO已經證明能以2~3倍的速度加速收斂覆蓋范圍。驗證團隊可以在更短的時間內達到更大的整體覆蓋范圍,縮短時程并節省資源。
圖7 VCS中的智慧覆蓋優化
AI技術在調試的應用
如前所述,模擬回歸會在計劃中執行無數次。每次回歸失敗,驗證團隊都必須檢查報告并找出失敗的原因。當程序錯誤被修復或是新增功能需要再次進行測試時,RTL和測試平臺程序都會不斷地改變,回歸失敗是家常便飯。手動處理日常的回歸失敗對驗證工程資源是巨大的負擔。幸運的是,AI與機器學習再一次提供解藥。即使模擬測試失敗的原因通常比靜態違規的原因更復雜,但依舊適用相同的自動RCA原則。
新思科技Verdi自動調試系統中的回歸除錯自動化(Regression Debug Automation, RDA)功能會自動丟棄、探查和發現回歸失敗的根本原因(圖8)。RDA會利用AI分類和分析原始的回歸失敗并辨別在設計和測試臺上失敗的根本原因。RDA能減少RCA的所需時間,并能提升整體調試效能2倍左右。
圖8 Verdi中的回歸調試自動化
AI多方位助力芯片驗證
AI和機器學習技術每天都在芯片設計和驗證流程上尋找更多的應用。特別是在驗證領域,AI和機器學習可以在靜態驗證加速失敗分析、改善形式驗證的效能、讓模擬更有效率、加速收斂并讓模擬調試更迅速、更簡單。圖9總結優化這些程序后對驗證團隊和整體芯片計劃的好處。
圖9 AI/ML為驗證流程帶來的好處
AI與機器學習能提供更好的QOR、更短的TTR和更低的COR來解決關鍵挑戰,可應用于芯片設計諸多面向。
審核編輯:郭婷
-
eda
+關注
關注
71文章
2785瀏覽量
173626 -
AI
+關注
關注
87文章
31490瀏覽量
269915 -
人工智能
+關注
關注
1795文章
47642瀏覽量
239699
原文標題:借力EDA,AI芯片全速優化驗證過程
文章出處:【微信號:ICViews,微信公眾號:半導體產業縱橫】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論