現(xiàn)代芯片發(fā)展的方向是什么?
這是一個很大的問題,可以從多個角度去回答。如果從應用端去而言,那就是數(shù)智化,囊括了大數(shù)據(jù)、云計算、物聯(lián)網(wǎng)、AI、5G及自動駕駛等創(chuàng)新方向。數(shù)智化芯片有兩大明顯的特征,功能更復雜以及對安全性要求更高,這就對芯片驗證提出了更大的挑戰(zhàn)。
芯片驗證的評判標準:覆蓋率
在數(shù)智化和摩爾定律等多重因素的推動下,當前的芯片功能越來越強大,內(nèi)部結(jié)構(gòu)也越來越復雜?;仡櫧衲?月份剛剛發(fā)布的蘋果M2 Max芯片,內(nèi)部集成了670億個晶體管,用以實現(xiàn)強大的CPU(12核CPU)、GPU(38核GPU)和內(nèi)存系統(tǒng)(96GB內(nèi)存和更大的L2緩存)等功能。
▲蘋果M2 Max芯片(圖源:蘋果官網(wǎng))
蘋果M2 Max芯片當然是一款非常強大的產(chǎn)品,然而讓數(shù)百億個晶體管像人體細胞一樣組成器官,然后再整體配合正常工作可不容易,因此要對功能模塊和IP進行充分驗證。我們都知道,這需要通過EDA工具完成芯片驗證,包括架構(gòu)設(shè)計、軟件仿真、硬件仿真和原型驗證等。
高效的驗證工具能夠從兩個維度幫助芯片設(shè)計公司。一是降低成本,實現(xiàn)一次性流片成功。下一代先進SoC將采用3nm制程,根據(jù)市場研究機構(gòu)International Business Strategies(IBS)的數(shù)據(jù),3nm芯片的設(shè)計費用約達5-15億美元,流片失敗的損失將是巨大的。
其二是縮短研發(fā)周期。隨著終端產(chǎn)品迭代速度提升,芯片成為一個真正的“風口”屬性產(chǎn)品,需要在特定的時間周期內(nèi)推出并滿足市場需求,一旦延后也就失去了這顆芯片的價值。根據(jù)行業(yè)經(jīng)驗,驗證在典型SoC項目中的工作量占比約70%。
驗證的目標是獲得無BUG的RTL(Register Transfer Level,電路寄存器傳輸級)代碼,也就是在流片前的驗證環(huán)節(jié)里,確保IP功能正確以及IP和功能模塊的系統(tǒng)性功能正確。高昂的工藝成本已經(jīng)不允許SoC在流片后才發(fā)現(xiàn)系統(tǒng)微碼無法解決的BUG。
為了達到這一目的,芯片驗證無論是從方法還是方式上都在積極創(chuàng)新。比如,UVM驗證需要構(gòu)建平臺和測試用例,然而測試用例難以覆蓋所有的邊界情況,這樣引入Formal工具的價值便體現(xiàn)了出來,能夠以類似窮舉的方式快速且全面地找到隱藏的BUG,那么就可以將有Formal工具的模塊剝離出來,能夠顯著降低測試用例的復雜性。
▲IP新的驗證流程示意圖(圖源:How formal verification saves time in digital IP design技術(shù)博文,作者:DAVID VINCENZONI)
這就引出了一個當前驗證的主流基準:覆蓋率,包括功能覆蓋率和代碼覆蓋率。其中,功能覆蓋率是通過編寫covergroup和coverpoint去覆蓋數(shù)據(jù)、地址和控制信號,尋找在用戶想要的全部功能中是否有代碼遺漏;代碼覆蓋率包括斷言(assertion)、行(line)、狀態(tài)機(FSM)、分支(branch)、表達式(condition)和信號翻轉(zhuǎn)(toggle),目標是評估代碼質(zhì)量,包括查看代碼完整性以及去除不必要的冗余。
提升覆蓋率是個體力活
雖然基準和核心目標很清晰,不過基于傳統(tǒng)的EDA工具去提升覆蓋率還是會遇到很多方面的挑戰(zhàn)。如下圖所示,在仿真(simulation)驗證中,需要做到功能覆蓋率和代碼覆蓋率的結(jié)合,當功能覆蓋率和代碼覆蓋率都達到100%時,驗證工作結(jié)束。不過,在實際芯片驗證過程中,代碼覆蓋率中的表達式和信號翻轉(zhuǎn)類型很難達到100%,狀態(tài)機類型也可能出現(xiàn)這種問題,因為很多狀態(tài)之間并不存在相互關(guān)系;功能覆蓋率理論上是要將具體功能細化到一個個不可分割的小點,然后編寫coverpoint進行覆蓋,不過功能分割和測試用例沒有通用標準,基本主要依靠開發(fā)者的個人經(jīng)驗、認知以及思維邏輯。這就導致,仿真工具收集數(shù)據(jù)進而得到的覆蓋率報告存在一定程度的不足。
▲仿真驗證中的覆蓋率挑戰(zhàn)
為了實現(xiàn)待測設(shè)計的覆蓋率達標,往往首次拿到覆蓋率報告后,功能覆蓋率只是覆蓋了立項中最主要的一些功能。如上圖所示,很多代碼結(jié)構(gòu)并沒有被觸發(fā)過。那么研發(fā)人員就需要走下圖里的外圍路徑,也就是重做測試用例,對現(xiàn)有用例的隨機約束、callback機制等進行手動調(diào)整。
看起來只是增加了一條測試用例的路徑,但實際上是一個需要經(jīng)過多輪次往復的工作流,雖然目前有很多加速覆蓋率收斂、回歸的工具可以使用,但這個過程依然會耗費大量機器、人力和時間等寶貴資源。
更具挑戰(zhàn)性的是,當覆蓋率回歸測試到達“最后一公里”階段時,往往經(jīng)過很多輪修改都無法獲得更好的覆蓋率收斂,驗證開發(fā)者有時候會在這個環(huán)節(jié)陷入覆蓋率分析和用例調(diào)整的“迷宮”,有時候甚至需要回歸到最開始的功能點劃分或者增加RTL代碼并重新運行回歸以驗證錯誤是否被修復。
更糟糕的情況是,當覆蓋率達到100%依然存在新的設(shè)計漏洞,這個時候就證明是存在明顯的功能覆蓋率缺失,也就是用例配置錯誤。有研究發(fā)現(xiàn),當回歸測試的代碼覆蓋率達到90%時,平均只有54%被監(jiān)測,因此需要高質(zhì)量的用例來找到剩余代碼的漏洞。這就是為什么我們強調(diào),對于功能覆蓋率來說,驗證人員自身經(jīng)驗非常重要。
實際上,上述這些內(nèi)容主要是從測試質(zhì)量(QOR)和測試時間(TTR)角度來考慮。作為驗證開發(fā)者,還需要關(guān)注達成結(jié)果所需的成本(COR),隨著芯片復雜度提升,增加驗證開發(fā)者和運算服務器都會增加額外的成本。并且,每次芯片改版(re-spin)都會帶來不小的成本增加。
VSO.ai用AI驅(qū)動驗證
在人類驗證開發(fā)者的經(jīng)驗成為芯片驗證的明顯瓶頸時,產(chǎn)業(yè)將希望寄托于人工智能(AI)。AI,尤其是機器學習(ML)最大的魅力就在于能夠在迭代循環(huán)中不斷成長,并基于大數(shù)據(jù)發(fā)現(xiàn)代碼中難以察覺的錯誤,進而實現(xiàn)更快速、更高質(zhì)量的覆蓋率收斂。
VSO.ai作為新思科技推出的全新一代VCS工具中用于覆蓋率提升的一項技術(shù),提供業(yè)界首個人工智能驅(qū)動的驗證解決方案,幫助驗證團隊更快、更高質(zhì)量地實現(xiàn)覆蓋收斂。
▲VSO.ai對仿真覆蓋率的改進
VSO.ai能夠從三個方面給驗證開發(fā)者帶來非凡的助力:
首先是實現(xiàn)更快的覆蓋率收斂。對于驗證開發(fā)者而言,覆蓋率并沒有具體的指標,并存在大量的重復性工作,因此手動進行回歸優(yōu)化的效率非常低,對給定設(shè)計進行上萬次測試是很常見的。VSO.ai可執(zhí)行粗粒度基準測試,提供自動化的、自適應的測試優(yōu)化。在運行過程中,VSO.ai會率先運行具有最高ROI的測試,同時消除冗余測試,從而加速覆蓋收斂并節(jié)省計算資源。
其次是實現(xiàn)更高的測試質(zhì)量。如上所述,由于傳統(tǒng)工作流中功能覆蓋率主要依賴驗證開發(fā)者的經(jīng)驗,導致很多時候覆蓋率收斂的效果很差。VSO.ai也可執(zhí)行細粒度的基準測試,通過調(diào)整隨機約束激勵來針對未被驗證的覆蓋點,自動發(fā)現(xiàn)測試覆蓋率中難以捉摸的錯誤,進而提升測試質(zhì)量。
第三點是攻克“最后一公里”的驗證難題。在驗證的最后階段,過往驗證工程師的手動調(diào)整到這個時候覆蓋率收斂和ROI都會顯著降低,原因在于此時驗證工程師對已獲取的驗證大數(shù)據(jù)所具有的洞察力和分析能力已經(jīng)很低。VSO.ai可執(zhí)行根本原因分析(RCA),以確定為什么沒有達到特定的覆蓋點,通過AI解決最后的難題。
當前,AI要在EDA領(lǐng)域發(fā)揮作用,依然需要融入到傳統(tǒng)工具中,VSO.ai也不例外,因此工具的可集成特性是非常重要的。如下圖所示,VSO.ai可以輕松集成到現(xiàn)有的新思科技VCS(R)回歸環(huán)境中,而無需對設(shè)計或測試平臺進行任何代碼更改。
▲使用同步系統(tǒng)VSO.ai的仿真測試流程
對于芯片驗證而言,一旦設(shè)置了芯片設(shè)計的RTL并配置了設(shè)計狀態(tài)空間,驗證過程就開始了。VSO.ai在開發(fā)者編譯設(shè)計時就開始介入,它會自動識別和編排測試,用自動生成的覆蓋率來替代開發(fā)者編寫的代碼覆蓋率和功能覆蓋率融合設(shè)計,以最大限度地減少用戶選擇的目標函數(shù),例如回歸CPU時間、測試運行次數(shù)、模擬周期或每秒周期數(shù)。
如下圖所示,在整個仿真測試流程中,每一次運行VSO.ai都能夠提供新的信息來改進約束求解和優(yōu)化回歸測試。驗證開發(fā)者在此過程中可以靈活設(shè)置自己的覆蓋率目標,比如驗證開發(fā)者如果并不需要更高的覆蓋率,那么VSO.ai產(chǎn)生的覆蓋率就可以少得多。
▲VSO.ai如何使用ML來改進回歸分析
綜上所述,新思科技VSO.ai是一套自主工作系統(tǒng),用以替代驗證開發(fā)者負責的編譯設(shè)計和編排測試等工作,以盡可能快、盡可能低開銷地達到覆蓋率目標,并獲得最高質(zhì)量的驗證結(jié)果。比如,在OpenTitan HMAC這款I(lǐng)P驗證示例中,VSO.ai在實現(xiàn)100%功能覆蓋率的速度上是傳統(tǒng)方案的3倍。
▲OpenTitan HMAC同步系統(tǒng)中VSO.ai的驗證效果
VSO.ai的典型應用
在實際應用中,驗證IP功能是VSO.ai的一個典型場景。日本芯片廠商瑞薩科技共享研發(fā)核心IP部門開發(fā)總監(jiān)Takahiro Ikenobe表示,“由于設(shè)計復雜性的上升,芯片設(shè)計使用傳統(tǒng)技術(shù)來滿足質(zhì)量和上市時間的限制正在變得困難。使用VSO.ai的人工智能驅(qū)動驗證,我們在減少功能覆蓋率缺陷方面取得了高達10倍的改進,IP驗證生產(chǎn)率也提高了30%,這表明人工智能有能力幫助我們應對日益復雜的設(shè)計帶來的挑戰(zhàn)。” 根據(jù)新思科技方面給出的數(shù)據(jù),VSO.ai既可以擴大目標覆蓋面,又可以加快IP驗證過程,可以實現(xiàn)IP 99%的覆蓋率。 IP驗證是SoC芯片驗證的重要一環(huán),特別是在數(shù)智化趨勢下,接口IP的安全性和芯片本身的安全性直接掛鉤。如下圖所示,SoC上需要確保安全性的接口非常多,包括DDR、PCIe、CXL、以太網(wǎng)、MIPI、USB、UFS等。
▲SoC上需要確保安全性的接口
為什么VSO.ai能夠給IP驗證帶來如此巨大的提升呢?答案在于新思科技長期以來都在深耕安全接口。新思科技安全接口的優(yōu)勢在于其涵蓋了開發(fā)者在HPC、移動、物聯(lián)網(wǎng)和汽車等各種不同應用中需要考慮的所有接口。因此,新思科技的安全接口IP不僅在SoC設(shè)計中被廣泛應用,同時對安全接口IP設(shè)計和應用的理解也領(lǐng)跑全行業(yè)。龐大的應用數(shù)據(jù)基礎(chǔ)加上出色的行業(yè)理解,促成了VSO.ai在IP領(lǐng)域的高效表現(xiàn)。
結(jié)語
當前,AI已經(jīng)逐漸滲透到EDA工具的每個工作流程中,讓芯片設(shè)計開發(fā)者和驗證開發(fā)者從反復循環(huán)的工作中解脫出來,能夠?qū)W⒂趧?chuàng)建差異化的IP和SoC系統(tǒng)。隨著工藝水平提高,以及終端應用迭代速度加快,AI在芯片驗證中正如一場及時雨,為這項復雜工作節(jié)省時間的同時,也帶來了更好的成本優(yōu)化。相信隨著AI+EDA融合逐漸深入,芯片驗證這個“拖后腿”的毛病也能夠被治愈,讓我們拭目以待。
審核編輯 :李倩
-
芯片
+關(guān)注
關(guān)注
455文章
50818瀏覽量
423720 -
eda
+關(guān)注
關(guān)注
71文章
2759瀏覽量
173283 -
晶體管
+關(guān)注
關(guān)注
77文章
9693瀏覽量
138201
原文標題:種AI“小小種子”,開芯片驗證“大大的花”
文章出處:【微信號:Synopsys_CN,微信公眾號:新思科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論