芯片驗(yàn)證工具等待人工智能「拯救」
驗(yàn)證工程師是半導(dǎo)體行業(yè)的無(wú)名英雄,但他們正處于崩潰的邊緣,迫切需要現(xiàn)代化的工具和流程來(lái)應(yīng)對(duì)快速增加的壓力。
本文引用地址:http://m.butianyuan.cn/article/202407/460989.htm驗(yàn)證不再僅僅是確保功能在實(shí)現(xiàn)時(shí)得到精準(zhǔn)呈現(xiàn),單單這一點(diǎn)就是一項(xiàng)無(wú)解的任務(wù),但驗(yàn)證已承擔(dān)起許多新的責(zé)任。其中一些責(zé)任來(lái)自技術(shù)進(jìn)步,這些進(jìn)步帶來(lái)了更多問(wèn)題,例如熱問(wèn)題。汽車(chē)等新應(yīng)用領(lǐng)域增加了對(duì)安全性和保密性的需求,并且參數(shù)問(wèn)題急劇增加,遠(yuǎn)遠(yuǎn)超出了簡(jiǎn)單的功率評(píng)估。除此之外,芯片行業(yè)正在接近另一個(gè)轉(zhuǎn)折點(diǎn),這一轉(zhuǎn)折點(diǎn)是由向 2.5D 和 3D 封裝技術(shù)的遷移引發(fā)的。
現(xiàn)有的驗(yàn)證工具和方法是 20 年前開(kāi)發(fā)的。自那時(shí)以來(lái),工具容量和性能只得到了緩步改進(jìn),而設(shè)計(jì)規(guī)模卻迅速增加。盡管便攜式刺激(一種為將驗(yàn)證意圖與執(zhí)行驗(yàn)證的引擎分離開(kāi)而創(chuàng)建的 Accellera 標(biāo)準(zhǔn))提供了一些緩解,但采用速度緩慢,缺乏全面的流程。
除了技術(shù)因素導(dǎo)致驗(yàn)證過(guò)程壓力增加之外,還需要考慮人為因素。團(tuán)隊(duì)需要用更少的時(shí)間完成更多工作,而人才短缺制約了該行業(yè)的發(fā)展。
接近極限
當(dāng)今使用的工具是在區(qū)塊更小、系統(tǒng)規(guī)模與當(dāng)今區(qū)塊相似的基礎(chǔ)上開(kāi)發(fā)的。驗(yàn)證永遠(yuǎn)不可能百分百完成,這意味著團(tuán)體必須謹(jǐn)慎決定將精力投入到何處,以及他們?cè)敢獬袚?dān)哪些風(fēng)險(xiǎn)。
Axiomise 首席執(zhí)行官 Ashish Darbari 表示:「由于 AI/ML 革命為我們正在構(gòu)建的設(shè)計(jì)類(lèi)型增加了新的維度,設(shè)計(jì)復(fù)雜性正在以前所未有的速度增加?!埂高@些系統(tǒng)具有嚴(yán)格的功率、性能和面積 (PPA) 要求。采用更好的流程和高級(jí)驗(yàn)證方法(例如形式驗(yàn)證)還不夠。該行業(yè)仍然嚴(yán)重依賴(lài)刺激的不完整動(dòng)態(tài)模擬方法,這不僅允許易于捕獲的錯(cuò)誤泄漏到硅片中,而且也沒(méi)有機(jī)會(huì)捕獲由于單時(shí)鐘或多時(shí)鐘域中的深狀態(tài)機(jī)并發(fā)交互而出現(xiàn)的復(fù)雜錯(cuò)誤?!?/p>
更糟糕的是,IP 越來(lái)越模態(tài)化?!敢粋€(gè)模塊可能有 1,500 個(gè)規(guī)格項(xiàng)目,」Keysight 的業(yè)務(wù)開(kāi)發(fā)、營(yíng)銷(xiāo)和技術(shù)專(zhuān)家 Chris Mueth 說(shuō)?!杆鼈冎械暮芏喽际窍嗷ヒ蕾?lài)的,與操作模式緊密相關(guān),但也有不同的電壓、不同的溫度等等。在 6G 模塊中,你有無(wú)數(shù)的模式和頻段可供傳輸,而且它們都是相互依賴(lài)的。從頻率、帶寬、數(shù)據(jù)傳輸速率的角度來(lái)看,它們正在達(dá)到極限。你可能認(rèn)為設(shè)計(jì)已經(jīng)完成,但你仍然可能錯(cuò)過(guò)其中一種模式。這最終可能會(huì)成為一個(gè)問(wèn)題。即使在今天的數(shù)字時(shí)代,如果你沒(méi)有達(dá)到性能要求,就會(huì)失敗。一切都變成了性能模擬。」
有時(shí)參數(shù)故障會(huì)被忽略?!父嗟墓收鲜擒浌收?,有時(shí)也稱(chēng)為參數(shù)故障,」Ansys 產(chǎn)品營(yíng)銷(xiāo)總監(jiān) Marc Swinnen 說(shuō)道。「芯片可以工作,但它應(yīng)該以 1.2 千兆赫的速度運(yùn)行,但最高只能達(dá)到 1.0 千兆赫。當(dāng)你觀(guān)察任何大型芯片時(shí),寄生元件的數(shù)量都會(huì)激增到數(shù)十萬(wàn)?!?/p>
這增加了失敗的風(fēng)險(xiǎn)?!冈隍?yàn)證 IP 時(shí),他們會(huì)詢(xún)問(wèn)它將在何種環(huán)境下使用,」Synopsys 研究員 Arturo Salz 說(shuō)?!杆麄儫o(wú)法驗(yàn)證所有可能的排列,而是會(huì)等待系統(tǒng)準(zhǔn)備就緒,并將大部分驗(yàn)證工作推遲到系統(tǒng)級(jí)。這通常是一個(gè)誤區(qū),因?yàn)?IP 級(jí)錯(cuò)誤很難在系統(tǒng)級(jí)找到。這是一個(gè)更大的問(wèn)題。對(duì)于多芯片,你將沒(méi)有這個(gè)選擇,因?yàn)樵撔酒?IP 可能已經(jīng)制造出來(lái),你必須在開(kāi)始將其集成到下一個(gè)系統(tǒng)之前對(duì)其進(jìn)行驗(yàn)證和測(cè)試?!?/p>
超越極限
約束隨機(jī)算法在首次推出時(shí)取得了巨大進(jìn)步,但現(xiàn)在卻舉步維艱?!肝医?jīng)常將約束隨機(jī)算法比作泳池清潔工,」Synopsys 的 Salz 說(shuō)道。「你一定不想對(duì)泳池的形狀進(jìn)行編程,雖然它是隨機(jī)的,但泳池的周長(zhǎng)是固定的。不要爬上墻壁,這是低效的。它會(huì)穿過(guò)泳池中心的次數(shù)比穿過(guò)角落的次數(shù)多得多,但只要有足夠的時(shí)間,它就能覆蓋整個(gè)泳池。由此引申,我們能掃蕩太平洋嗎?不,它太大了。你需要選擇合適的方法。在塊級(jí)別,有效地部署該方法。形式化方法也是如此,它可能沒(méi)有能力在系統(tǒng)級(jí)別進(jìn)行形式化檢查?!?/p>
這不僅是方法的規(guī)模不對(duì),還占用了大量最寶貴的人力資源?!阜抡鏈y(cè)試平臺(tái)漏掉了這么多錯(cuò)誤,這并不奇怪,」Axiomise 的 Darbari 說(shuō)?!概c正式的測(cè)試環(huán)境相比,即使對(duì)于中等復(fù)雜的設(shè)計(jì),UVM 測(cè)試平臺(tái)也需要更多的時(shí)間來(lái)啟動(dòng)。UVM 依賴(lài)大量的人力,因?yàn)?UVM 的基礎(chǔ)需要大量的人力投入來(lái)編寫(xiě)序列,而這些序列最終不會(huì)對(duì) DUT 進(jìn)行嚴(yán)格的測(cè)試。這使負(fù)擔(dān)轉(zhuǎn)移到功能覆蓋上,以查看差距在哪里。在許多情況下,仿真工程師根本沒(méi)有時(shí)間去了解設(shè)計(jì)規(guī)范。驗(yàn)證工程師沒(méi)有接受過(guò) RTL 設(shè)計(jì)方面的教育,期望他們了解微架構(gòu)和架構(gòu)的細(xì)節(jié)要求太高了。」
簡(jiǎn)而言之,問(wèn)題已經(jīng)超出了工具的能力范圍?!肝也徽J(rèn)為 UVM 已經(jīng)失去動(dòng)力,」Fraunhofer IIS 自適應(yīng)系統(tǒng)工程部門(mén)虛擬系統(tǒng)開(kāi)發(fā)小組的 Gabriel Pachiana 說(shuō)道?!笇?duì)于其預(yù)期用途而言,它仍然是一款出色的工具。我們需要的是充分利用它,在其基礎(chǔ)上構(gòu)建更多驗(yàn)證軟件,例如,解決硬件-軟件驗(yàn)證的復(fù)雜性?!?/p>
Shift left
Shift left 這個(gè)術(shù)語(yǔ)在業(yè)界被廣泛使用,但驗(yàn)證迫切需要 Shift left。這意味著要盡早在高性能的設(shè)計(jì)抽象層面進(jìn)行驗(yàn)證?,F(xiàn)有的模擬器或仿真器不具備必要的性能,等到 RTL 階段就太晚了。Breker 首席執(zhí)行官 Dave Kelf 表示:「在這個(gè)過(guò)程中,Shift left 意味著將驗(yàn)證應(yīng)用于 SystemC 算法模型或虛擬平臺(tái)。這極大地簡(jiǎn)化了從規(guī)范到設(shè)計(jì)驗(yàn)證的過(guò)程。因此,在虛擬平臺(tái)上制定系統(tǒng)驗(yàn)證計(jì)劃,然后在仿真器或原型上進(jìn)行系統(tǒng)驗(yàn)證時(shí)重新應(yīng)用,可能會(huì)提供足夠的方法精簡(jiǎn),使有效的系統(tǒng)驗(yàn)證成為現(xiàn)實(shí)?!?/p>
然而,整個(gè)過(guò)程尚未完全開(kāi)發(fā)。「如果虛擬原型是黃金模型,你如何將它一路延伸到芯片并知道芯片仍然是正確的?」Siemens EDA 戰(zhàn)略驗(yàn)證架構(gòu)師 Tom Fitzpatrick 問(wèn)道。「物理原型、FPGA 原型或仿真等東西,無(wú)論底層引擎如何,都具有相同的系統(tǒng)視圖,這一點(diǎn)非常重要。驗(yàn)證工程師將不得不開(kāi)始以這種方式看待基礎(chǔ)設(shè)施。他們需要讓團(tuán)隊(duì)中的每個(gè)人都看不到底層環(huán)境,這就是便攜式刺激的作用所在。由于它的抽象性,你可以從算法的角度來(lái)考慮測(cè)試,考慮你想要發(fā)生什么,以及數(shù)據(jù)的去向,而不必?fù)?dān)心底層實(shí)現(xiàn)。」
它必須從虛擬原型開(kāi)始?!肝覀冃枰M早進(jìn)行更好的架構(gòu)探索,」Salz 說(shuō)。「我們需要通過(guò)階乘排列來(lái)考慮功率、吞吐量和延遲。是將緩存與 CPU 一起保留,還是將其移出到單獨(dú)的芯片并增大?這些都是棘手的問(wèn)題。過(guò)去,每家公司都有一個(gè)人,架構(gòu)師,可以在餐巾紙上完成這項(xiàng)工作。但這已經(jīng)是人類(lèi)的極限。一切都將被投入到虛擬原型中。你將投入虛擬模型、仿真、模擬,甚至可能是已經(jīng)構(gòu)建好的 chiplets,你可以連接后硅片。虛擬原型會(huì)以 3 到 4 千兆赫的頻率運(yùn)行,模擬器無(wú)法接近這個(gè)速度。你可以獲得更高的吞吐量,但代價(jià)是失去一些時(shí)間準(zhǔn)確性?!?/p>
一些引擎已經(jīng)綁定在一起。Cadence 產(chǎn)品管理組總監(jiān) Matt Graham 表示:「進(jìn)行混合建模的能力正在不斷增強(qiáng)。我們引入 C 模型和快速模型并將該平臺(tái)連接到模擬或仿真的能力正在不斷提高。更上一層樓的是數(shù)字孿生概念。模擬不會(huì)擁有 100 倍的容量,也不會(huì)變得快 100 倍,我們必須對(duì)此保持理智,必須找到創(chuàng)新有趣的抽象方法。虛擬平臺(tái)就是其中之一。我們需要通過(guò)將原型設(shè)計(jì)和仿真移到流程的早期來(lái)接受數(shù)字孿生概念,并找到提供抽象的不同方法?!?/p>
流程內(nèi)的重復(fù)使用很重要?!噶硪粋€(gè)有希望的方向是將設(shè)計(jì)和驗(yàn)證工作提前到開(kāi)發(fā)流程的左側(cè),即在開(kāi)發(fā)初期就識(shí)別錯(cuò)誤,」Fraunhofer 的 Pachiana 說(shuō)?!窼ystemC 和 UVM-SystemC 在這方面很有用。雖然這又增加了一層開(kāi)發(fā)工作,耗費(fèi)了項(xiàng)目時(shí)間,但關(guān)鍵是要重用早期的工作成果,并展示其好處?!?/p>
這個(gè)行業(yè)不喜歡革命?!笡](méi)有人會(huì)徹底改變他們的做事方式,」Siemens 的 Fitzpatrick 說(shuō)?!高@就是事實(shí)。這也是為什么到目前為止它依然是漸進(jìn)式的,因?yàn)槟隳茏龅氖虑槭怯邢薜?。這就是便攜式刺激裝置發(fā)揮作用的地方。它旨在成為進(jìn)化框架中革命性的一步。能夠利用現(xiàn)有的基礎(chǔ)設(shè)施,并添加使用 UVM 無(wú)法實(shí)現(xiàn)的額外功能,這就是它成功的方式?!?/p>
然而,構(gòu)建模型的挑戰(zhàn)仍然存在。Cadence 的 Graham 表示:「我們?cè)跇?gòu)建模型時(shí)驗(yàn)證模型的能力已經(jīng)提高了很多?,F(xiàn)在有更多的模型可用,當(dāng)然是處理器模型、協(xié)議模型、CPU 子系統(tǒng)內(nèi)的東西的模型,比如一致性和性能。這是下一個(gè)抽象層次,但要構(gòu)建合適的數(shù)字孿生,你需要一種可靠的方法來(lái)構(gòu)建模型。」
需要一些清晰的思考?!肝覀冃枰竽懙亟邮芩絹?lái)越多的模擬周期和盲目的功能覆蓋不會(huì)發(fā)現(xiàn)所有的錯(cuò)誤,」Darbari 說(shuō)?!肝蚁矚g形式化,我堅(jiān)信它比任何其他驗(yàn)證技術(shù)都能提供最大的投資回報(bào),因?yàn)樗梢蕴峁┰敱M的證據(jù)和理由,說(shuō)明是什么而不是如何。然而,我也看到盲目地應(yīng)用形式化會(huì)導(dǎo)致產(chǎn)量低下??紤]需求、接口規(guī)范、理解微架構(gòu)與架構(gòu)以及軟件/固件的關(guān)系,將使每個(gè)人更容易看到大局,同時(shí)也能掌握更精細(xì)的細(xì)節(jié),從而獲得更好的驗(yàn)證方法?!?/p>
人工智能來(lái)救場(chǎng)?
人工智能已融入設(shè)計(jì)和驗(yàn)證的許多方面。「驗(yàn)證已經(jīng)抓住了人工智能突破帶來(lái)的興奮,」Graham 說(shuō)?!缚蛻?hù)在問(wèn)我們用人工智能做什么?我們?nèi)绾卫萌斯ぶ悄??我們需要催化我們所有的工程師,因?yàn)槲覀儧](méi)有足夠的人手?!?/p>
有一些唾手可得的成果。Keysight 的 Mueth 說(shuō):「你沒(méi)有時(shí)間在合理的時(shí)間內(nèi)模擬所有你想模擬的東西。你可以求助于人工智能,在模擬數(shù)據(jù)中繪制相關(guān)性,說(shuō)『基于 a、b 和 c,不需要模擬 x、y 和 z?!贿@是一個(gè)典型的人工智能類(lèi)型的問(wèn)題,但你需要大量的數(shù)據(jù)來(lái)推動(dòng)機(jī)器學(xué)習(xí)?!?/p>
有幾種方法可以?xún)?yōu)化回歸?!府?dāng)你在設(shè)計(jì)中做出改變時(shí),哪些測(cè)試針對(duì)該區(qū)域,」Salz 說(shuō)?!改阒恍枰\(yùn)行測(cè)試的一個(gè)子集。強(qiáng)化學(xué)習(xí)可以修剪特定的測(cè)試。如果這與之前的測(cè)試非常相似,就不要運(yùn)行它。這樣你就可以最大化測(cè)試多樣性。以前,你只有不同的隨機(jī)種子來(lái)創(chuàng)造測(cè)試多樣性?!?/p>
時(shí)間壓力越來(lái)越大,效率問(wèn)題也越來(lái)越突出?!?0 年前,質(zhì)量差距很大,」Graham 說(shuō)。「總的來(lái)說(shuō),行業(yè)知道如何縮小質(zhì)量差距。現(xiàn)在,差距變成了效率。這就是為什么每個(gè)人都在談?wù)?Shift left、生產(chǎn)力、上市時(shí)間和扭轉(zhuǎn)局面的時(shí)間。這促使人們開(kāi)始尋找利用人工智能的方法。生產(chǎn)力的提高不會(huì)來(lái)自和 10 年、20 年前同樣的東西?!?/p>
巨大的收益將來(lái)自截然不同的方法?!冈S多問(wèn)題都是由規(guī)范中的歧義引起的,」Salz 說(shuō)。「我希望我們可以使用 GenAI 大型語(yǔ)言模型來(lái)解析規(guī)范,并安排它坐副駕駛。然后它可以詢(xún)問(wèn)這是否是我們的意思。GenAI 缺少的是生成時(shí)序圖或生成 UML 的能力,以便設(shè)計(jì)師或架構(gòu)師了解情況。我們希望可以讓工具從語(yǔ)言規(guī)范轉(zhuǎn)變?yōu)楦降男问揭?guī)范,并實(shí)現(xiàn)其中一些自動(dòng)化。這不能使用人工智能來(lái)編寫(xiě)設(shè)計(jì),至少目前還沒(méi)有?!?/p>
但人工智能可以填補(bǔ)模型創(chuàng)建方面的空白?!肝铱催^(guò)幾篇關(guān)于使用人工智能構(gòu)建這些模型的論文,無(wú)論是自上而下——我閱讀規(guī)范并為其生成 C 模型——還是自下而上的觀(guān)察型建模技術(shù),即觀(guān)察 RTL 模型的作用,然后在更高抽象層次上統(tǒng)計(jì)地構(gòu)建模型,」Graham 說(shuō)?!肝覀冞€沒(méi)有到達(dá)那一步。但我認(rèn)為這是人工智能的潛在用途之一,它可能真的有助于解決非常實(shí)際的問(wèn)題?!?/p>
結(jié)論
驗(yàn)證中的工具缺口越來(lái)越大。現(xiàn)有工具無(wú)法處理系統(tǒng)級(jí)問(wèn)題,而最復(fù)雜的問(wèn)題就隱藏在這里。雖然正在開(kāi)發(fā)一些新語(yǔ)言和工具來(lái)填補(bǔ)這一空白,但它們的采用速度很慢。業(yè)界似乎被困在 RTL 抽象上,這導(dǎo)致模型執(zhí)行出現(xiàn)瓶頸。
為了鼓勵(lì)開(kāi)發(fā)團(tuán)隊(duì)遷移到更高的抽象層次,需要新的工具以自上而下或自下而上的方式填補(bǔ)建模空白。雖然人工智能可能能夠提供幫助,但這種能力目前還不存在。
評(píng)論