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