《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 業(yè)界動(dòng)態(tài) > AI+EDA,,提升芯片驗(yàn)證覆蓋率的利器

AI+EDA,,提升芯片驗(yàn)證覆蓋率的利器

2023-04-19
作者: 姬云青
來源: TechSugar
關(guān)鍵詞: 芯片 AI EDA 覆蓋率

  現(xiàn)代芯片發(fā)展的方向是什么,?

  這是一個(gè)很大的問題,,可以從多個(gè)角度去回答,。如果從應(yīng)用端去而言,,那就是數(shù)智化,,囊括了大數(shù)據(jù),、云計(jì)算、物聯(lián)網(wǎng),、AI,、5G及自動(dòng)駕駛等創(chuàng)新方向。數(shù)智化芯片有兩大明顯的特征,,功能更復(fù)雜以及對(duì)安全性要求更高,,這就對(duì)芯片驗(yàn)證提出了更大的挑戰(zhàn)。

  芯片驗(yàn)證的評(píng)判標(biāo)準(zhǔn)——覆蓋率

  在數(shù)智化和摩爾定律等多重因素的推動(dòng)下,,當(dāng)前的芯片功能越來越強(qiáng)大,,內(nèi)部結(jié)構(gòu)也越來越復(fù)雜。回顧今年1月份剛剛發(fā)布的蘋果M2 Max芯片,,內(nèi)部集成了670億個(gè)晶體管,,用以實(shí)現(xiàn)強(qiáng)大的CPU(12核CPU)、GPU(38核GPU)和內(nèi)存系統(tǒng)(96GB內(nèi)存和更大的L2緩存)等功能,。

  微信截圖_20230419091721.png

  圖1:蘋果M2 Max芯片(圖源:蘋果官網(wǎng))

  蘋果M2 Max芯片當(dāng)然是一款非常強(qiáng)大的產(chǎn)品,,然而讓數(shù)百億個(gè)晶體管像人體細(xì)胞一樣組成器官,然后再整體配合正常工作可不容易,,因此要對(duì)功能模塊和IP進(jìn)行充分驗(yàn)證,。我們都知道,這需要通過EDA工具完成芯片驗(yàn)證,,包括架構(gòu)設(shè)計(jì),、軟件仿真、硬件仿真和原型驗(yàn)證等,。

  高效的驗(yàn)證工具能夠從兩個(gè)維度幫助芯片設(shè)計(jì)公司,。一是降低成本,實(shí)現(xiàn)一次性流片成功,。下一代先進(jìn)SoC將采用3nm制程,,根據(jù)市場研究機(jī)構(gòu)International Business Strategies(IBS)的數(shù)據(jù),3nm芯片的設(shè)計(jì)費(fèi)用約達(dá)5-15億美元,,流片失敗的損失將是巨大的,。

  其二是縮短研發(fā)周期,。隨著終端產(chǎn)品迭代速度提升,,芯片成為一個(gè)真正的“風(fēng)口”屬性產(chǎn)品,需要在特定的時(shí)間周期內(nèi)推出并滿足市場需求,,一旦延后也就失去了這顆芯片的價(jià)值,。根據(jù)行業(yè)經(jīng)驗(yàn),驗(yàn)證在典型SoC項(xiàng)目中的工作量占比約70%,。

  驗(yàn)證的目標(biāo)是獲得無BUG的RTL(Register Transfer Level,,電路寄存器傳輸級(jí))代碼,也就是在流片前的驗(yàn)證環(huán)節(jié)里,,確保IP功能正確以及IP和功能模塊的系統(tǒng)性功能正確,。高昂的工藝成本已經(jīng)不允許SoC在流片后才發(fā)現(xiàn)系統(tǒng)微碼無法解決的BUG。

  為了達(dá)到這一目的,,芯片驗(yàn)證無論是從方法還是方式上都在積極創(chuàng)新,。比如,UVM驗(yàn)證需要構(gòu)建平臺(tái)和測試用例,,然而測試用例難以覆蓋所有的邊界情況,,這樣引入Formal工具的價(jià)值便體現(xiàn)了出來,能夠以類似窮舉的方式快速且全面地找到隱藏的BUG,那么就可以將有Formal工具的模塊剝離出來,,能夠顯著降低測試用例的復(fù)雜性,。

  微信截圖_20230419091815.png

  圖2:IP新的驗(yàn)證流程示意圖

  (圖源:How formal verification saves time in digital IP design技術(shù)博文,,作者:DAVID VINCENZONI )

  這就引出了一個(gè)當(dāng)前驗(yàn)證的主流基準(zhǔn)——覆蓋率,,包括功能覆蓋率和代碼覆蓋率。其中,,功能覆蓋率是通過編寫covergroup和coverpoint去覆蓋數(shù)據(jù),、地址和控制信號(hào),尋找在用戶想要的全部功能中是否有代碼遺漏,;代碼覆蓋率包括斷言(assertion),、行(line)、狀態(tài)機(jī)(FSM),、分支(branch),、表達(dá)式(condition)和信號(hào)翻轉(zhuǎn)(toggle),目標(biāo)是評(píng)估代碼質(zhì)量,,包括查看代碼完整性以及去除不必要的冗余,。

  提升覆蓋率是個(gè)體力活

  雖然基準(zhǔn)和核心目標(biāo)很清晰,不過基于傳統(tǒng)的EDA工具去提升覆蓋率還是會(huì)遇到很多方面的挑戰(zhàn),。如下圖所示,,在仿真(simulation)驗(yàn)證中,需要做到功能覆蓋率和代碼覆蓋率的結(jié)合,,當(dāng)功能覆蓋率和代碼覆蓋率都達(dá)到100%時(shí),,驗(yàn)證工作結(jié)束。不過,,在實(shí)際芯片驗(yàn)證過程中,,代碼覆蓋率中的表達(dá)式和信號(hào)翻轉(zhuǎn)類型很難達(dá)到100%,狀態(tài)機(jī)類型也可能出現(xiàn)這種問題,,因?yàn)楹芏酄顟B(tài)之間并不存在相互關(guān)系,;功能覆蓋率理論上是要將具體功能細(xì)化到一個(gè)個(gè)不可分割的小點(diǎn),然后編寫coverpoint進(jìn)行覆蓋,,不過功能分割和測試用例沒有通用標(biāo)準(zhǔn),,基本主要依靠工程師的個(gè)人經(jīng)驗(yàn)、認(rèn)知以及思維邏輯,。這就導(dǎo)致,,仿真工具收集數(shù)據(jù)進(jìn)而得到的覆蓋率報(bào)告存在一定程度的不足。

 微信截圖_20230419092119.png

  為了實(shí)現(xiàn)待測設(shè)計(jì)的覆蓋率達(dá)標(biāo),,往往首次拿到覆蓋率報(bào)告后,,功能覆蓋率只是覆蓋了立項(xiàng)中最主要的一些功能,。如上圖所示,很多代碼結(jié)構(gòu)并沒有被觸發(fā)過,。那么研發(fā)人員就需要走下圖里的外圍路徑,,也就是重做測試用例,對(duì)現(xiàn)有用例的隨機(jī)約束,、callback機(jī)制等進(jìn)行手動(dòng)調(diào)整,。

 微信截圖_20230419092135.png

  看起來上圖中也只是增加了一條測試用例的路徑,但實(shí)際上是一個(gè)需要經(jīng)過多輪次往復(fù)的工作流,,雖然目前有很多加速覆蓋率收斂,、回歸的工具可以使用,但這個(gè)過程依然會(huì)耗費(fèi)大量機(jī)器,、人力和時(shí)間等寶貴資源,。

  更具挑戰(zhàn)性的是,當(dāng)覆蓋率回歸測試到達(dá)“最后一公里”階段時(shí),,往往經(jīng)過很多輪修改都無法獲得更好的覆蓋率收斂,,驗(yàn)證工程師有時(shí)候會(huì)在這個(gè)環(huán)節(jié)陷入覆蓋率分析和用例調(diào)整的“迷宮”,有時(shí)候甚至需要回歸到最開始的功能點(diǎn)劃分或者增加RTL代碼并重新運(yùn)行回歸以驗(yàn)證錯(cuò)誤是否被修復(fù),。

  更糟糕的情況是,,當(dāng)覆蓋率達(dá)到100%依然存在新的設(shè)計(jì)漏洞,這個(gè)時(shí)候就證明是存在明顯的功能覆蓋率缺失,,也就是用例配置錯(cuò)誤,。有研究發(fā)現(xiàn),當(dāng)回歸測試的代碼覆蓋率達(dá)到90%時(shí),,平均只有54%被監(jiān)測,,因此需要高質(zhì)量的用例來找到剩余代碼的漏洞。這就是為什么我們強(qiáng)調(diào),,對(duì)于功能覆蓋率來說,,驗(yàn)證人員自身經(jīng)驗(yàn)非常重要,。

  實(shí)際上,,上述這些內(nèi)容主要是從測試質(zhì)量(QOR)和測試時(shí)間(TTR)角度來考慮。作為驗(yàn)證工程師,,還需要關(guān)注達(dá)成結(jié)果所需的成本(COR),,隨著芯片復(fù)雜度提升,增加驗(yàn)證工程師和運(yùn)算服務(wù)器都會(huì)增加額外的成本,。并且,,每次芯片改版(re-spin)都會(huì)帶來不小的成本增加。

  VSO.ai用AI驅(qū)動(dòng)驗(yàn)證

  在人類驗(yàn)證工程師的經(jīng)驗(yàn)成為芯片驗(yàn)證的明顯瓶頸時(shí),,產(chǎn)業(yè)將希望寄托于人工智能(AI),。AI,,尤其是機(jī)器學(xué)習(xí)(ML)最大的魅力就在于能夠在迭代循環(huán)中不斷成長,并基于大數(shù)據(jù)發(fā)現(xiàn)代碼中難以察覺的錯(cuò)誤,,進(jìn)而實(shí)現(xiàn)更快速,、更高質(zhì)量的覆蓋率收斂。

  VSO.ai作為新思科技推出的全新一代VCS工具中用于覆蓋率提升的一項(xiàng)技術(shù),,提供業(yè)界首個(gè)人工智能驅(qū)動(dòng)的驗(yàn)證解決方案,,幫助驗(yàn)證團(tuán)隊(duì)更快、更高質(zhì)量地實(shí)現(xiàn)覆蓋收斂,。

微信截圖_20230419092156.png

  VSO.ai能夠從三個(gè)方面給驗(yàn)證工程師帶來非凡的助力:

  首先是實(shí)現(xiàn)更快的覆蓋率收斂,。對(duì)于驗(yàn)證工程師而言,覆蓋率并沒有具體的指標(biāo),,并存在大量的重復(fù)性工作,,因此手動(dòng)進(jìn)行回歸優(yōu)化的效率非常低,對(duì)給定設(shè)計(jì)進(jìn)行上萬次測試是很常見的,。VSO.ai可執(zhí)行粗粒度基準(zhǔn)測試,,提供自動(dòng)化的、自適應(yīng)的測試優(yōu)化,。在運(yùn)行過程中,,VSO.ai會(huì)率先運(yùn)行具有最高ROI的測試,同時(shí)消除冗余測試,,從而加速覆蓋收斂并節(jié)省計(jì)算資源,。

  其次是實(shí)現(xiàn)更高的測試質(zhì)量。如上所述,,由于傳統(tǒng)工作流中功能覆蓋率主要依賴驗(yàn)證工程師的經(jīng)驗(yàn),,導(dǎo)致很多時(shí)候覆蓋率收斂的效果很差。VSO.ai也可執(zhí)行細(xì)粒度的基準(zhǔn)測試,,通過調(diào)整隨機(jī)約束激勵(lì)來針對(duì)未被驗(yàn)證的覆蓋點(diǎn),,自動(dòng)發(fā)現(xiàn)測試覆蓋率中難以捉摸的錯(cuò)誤,進(jìn)而提升測試質(zhì)量,。

  第三點(diǎn)是攻克“最后一公里”的驗(yàn)證難題,。在驗(yàn)證的最后階段,過往驗(yàn)證工程師的手動(dòng)調(diào)整到這個(gè)時(shí)候覆蓋率收斂和ROI都會(huì)顯著降低,,原因在于此時(shí)驗(yàn)證工程師對(duì)已獲取的驗(yàn)證大數(shù)據(jù)所具有的洞察力和分析能力已經(jīng)很低,。VSO.ai可執(zhí)行根本原因分析(RCA),以確定為什么沒有達(dá)到特定的覆蓋點(diǎn),,通過AI解決最后的難題,。

  當(dāng)前,AI要在EDA領(lǐng)域發(fā)揮作用,,依然需要融入到傳統(tǒng)工具中,,VSO.ai也不例外,,因此工具的可集成特性是非常重要的。如下圖所示,,VSO.ai可以輕松集成到現(xiàn)有的新思科技VCS(R)回歸環(huán)境中,,而無需對(duì)設(shè)計(jì)或測試平臺(tái)進(jìn)行任何代碼更改。

  微信截圖_20230419092213.png

  對(duì)于芯片驗(yàn)證而言,,一旦設(shè)置了芯片設(shè)計(jì)的RTL并配置了設(shè)計(jì)狀態(tài)空間,,驗(yàn)證過程就開始了。VSO.ai在工程師編譯設(shè)計(jì)時(shí)就開始介入,,它會(huì)自動(dòng)識(shí)別和編排測試,,用自動(dòng)生成的覆蓋率來替代工程師編寫的代碼覆蓋率和功能覆蓋率融合設(shè)計(jì),以最大限度地減少用戶選擇的目標(biāo)函數(shù),,例如回歸CPU時(shí)間,、測試運(yùn)行次數(shù)、模擬周期或每秒周期數(shù),。

  如下圖所示,,在整個(gè)仿真測試流程中,每一次運(yùn)行VSO.ai都能夠提供新的信息來改進(jìn)約束求解和優(yōu)化回歸測試,。驗(yàn)證工程師在此過程中可以靈活設(shè)置自己的覆蓋率目標(biāo),,比如驗(yàn)證工程師如果并不需要更高的覆蓋率,那么VSO.ai產(chǎn)生的覆蓋率就可以少得多,。

 微信截圖_20230419092231.png

  綜上所述,,新思科技VSO.ai是一套自主工作系統(tǒng),用以替代驗(yàn)證工程師負(fù)責(zé)的編譯設(shè)計(jì)和編排測試等工作,,以盡可能快,、盡可能低開銷地達(dá)到覆蓋率目標(biāo),并獲得最高質(zhì)量的驗(yàn)證結(jié)果,。比如,,在OpenTitan HMAC這款I(lǐng)P驗(yàn)證示例中,VSO.ai在實(shí)現(xiàn)100%功能覆蓋率的速度上是傳統(tǒng)方案的3倍,。

 微信截圖_20230419092246.png

  VSO.ai的典型應(yīng)用

  在實(shí)際應(yīng)用中,,驗(yàn)證IP功能是VSO.ai的一個(gè)典型場景。日本芯片廠商瑞薩科技共享研發(fā)核心IP部門開發(fā)總監(jiān)Takahiro Ikenobe表示,,“由于設(shè)計(jì)復(fù)雜性的上升,,芯片設(shè)計(jì)使用傳統(tǒng)技術(shù)來滿足質(zhì)量和上市時(shí)間的限制正在變得困難。使用Synopsys VSO.ai的人工智能驅(qū)動(dòng)驗(yàn)證,,我們?cè)跍p少功能覆蓋率缺陷方面取得了高達(dá)10倍的改進(jìn),IP驗(yàn)證生產(chǎn)率也提高了30%,,這表明人工智能有能力幫助我們應(yīng)對(duì)日益復(fù)雜的設(shè)計(jì)帶來的挑戰(zhàn),?!?/p>

  根據(jù)新思科技方面給出的數(shù)據(jù),VSO.ai既可以擴(kuò)大目標(biāo)覆蓋面,,又可以加快IP驗(yàn)證過程,,可以實(shí)現(xiàn)IP 99%的覆蓋率。

  IP驗(yàn)證是SoC芯片驗(yàn)證的重要一環(huán),,特別是在數(shù)智化趨勢下,,接口IP的安全性和芯片本身的安全性直接掛鉤。如下圖所示,,SoC上需要確保安全性的接口非常多,,包括DDR、PCIe,、CXL,、以太網(wǎng)、MIPI,、USB,、UFS等。

微信截圖_20230419092311.png

  為什么VSO.ai能夠給IP驗(yàn)證帶來如此巨大的提升呢,?答案在于新思科技長期以來都在深耕安全接口,。新思科技安全接口的優(yōu)勢在于其涵蓋了開發(fā)者在HPC、移動(dòng),、物聯(lián)網(wǎng)和汽車等各種不同應(yīng)用中需要考慮的所有接口,。因此,新思科技的安全接口IP不僅在SoC設(shè)計(jì)中被廣泛應(yīng)用,,同時(shí)對(duì)安全接口IP設(shè)計(jì)和應(yīng)用的理解也領(lǐng)跑全行業(yè),。龐大的應(yīng)用數(shù)據(jù)基礎(chǔ)加上出色的行業(yè)理解,促成了VSO.ai在IP領(lǐng)域的高效表現(xiàn),。

  結(jié)語

  當(dāng)前,,AI已經(jīng)逐漸滲透到EDA工具的每個(gè)工作流程中,讓芯片設(shè)計(jì)工程師和驗(yàn)證工程師從反復(fù)循環(huán)的工作中解脫出來,,能夠?qū)W⒂趧?chuàng)建差異化的IP和SoC系統(tǒng),。隨著工藝水平提高,以及終端應(yīng)用迭代速度加快,,AI在芯片驗(yàn)證中正如一場及時(shí)雨,,為這項(xiàng)復(fù)雜工作節(jié)省時(shí)間的同時(shí),也帶來了更好的成本優(yōu)化,。相信隨著AI+EDA融合逐漸深入,,芯片驗(yàn)證這個(gè)“拖后腿”的毛病也能夠被治愈,讓我們拭目以待,。


 更多精彩內(nèi)容歡迎點(diǎn)擊==>>電子技術(shù)應(yīng)用-AET<<  

微信圖片_20210517164139.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。