0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

形式驗(yàn)證成為SoC模塊驗(yàn)證的主流

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:David Kelf ? 2022-06-13 10:25 ? 次閱讀

使用形式驗(yàn)證技術(shù)作為片上系統(tǒng) (SoC) 設(shè)計(jì)的主流技術(shù),終于成為消除驗(yàn)證差距的公認(rèn)方法。最近的一項(xiàng)調(diào)查表明,26% 的芯片設(shè)計(jì)項(xiàng)目現(xiàn)在使用基于斷言的正式驗(yàn)證 (ABV)。然而,這種經(jīng)典模擬的替代方法的承諾需要很多年才能開花結(jié)果,而且仍然只有高級(jí)驗(yàn)證環(huán)境才能包含它。為什么會(huì)這樣?到目前為止,我們可以從它的使用中學(xué)到什么,以便將其提供給整個(gè) SoC 工程社區(qū)?

SoC 塊驗(yàn)證碰壁

自問世以來,SoC 設(shè)備一直是開發(fā)團(tuán)隊(duì)的驗(yàn)證噩夢(mèng)。雖然現(xiàn)在驗(yàn)證完整的 SoC 最好留給仿真和快速原型設(shè)計(jì)系統(tǒng)來完成,但即使是這些設(shè)備上的較大塊也已經(jīng)超出了純仿真環(huán)境。

仿真、更快的模擬器、關(guān)鍵測(cè)試的驗(yàn)證知識(shí)產(chǎn)權(quán) (VIP) 以及通用驗(yàn)證方法 (UVM) 的出現(xiàn)都有助于緩解這種情況。盡管如此,驗(yàn)證要求仍超過了基于模擬的環(huán)境中的可用處理時(shí)間。

形式驗(yàn)證通過使用針對(duì)特定需求的自動(dòng)化“應(yīng)用程序”有助于改進(jìn)塊驗(yàn)證,否則需要大量的模擬工作。檢查標(biāo)準(zhǔn)通信協(xié)議的正確操作、確保關(guān)鍵連接和寄存器操作、分析域重置時(shí)的正確啟動(dòng)序列以及許多其他任務(wù)現(xiàn)在都由這些解決方案處理。

然而,我們才剛剛開始挖掘形式驗(yàn)證的真正威力。它的許多使用問題已被消除,使我們處于可能是全新驗(yàn)證時(shí)代的最前沿,因?yàn)樵摷夹g(shù)已部署用于核心驗(yàn)證。

形式驗(yàn)證:如果這么好,今天在哪里?

首先,快速回顧一下形式驗(yàn)證技術(shù),為什么它有可能創(chuàng)造這種根本性轉(zhuǎn)變,以及今天是什么阻止了它。

硬件仿真的工作原理是通過一系列有意義的狀態(tài)循環(huán)一個(gè)硬件描述語言 (HDL) 代碼塊來演示其操作。此狀態(tài)序列由輸入激勵(lì)(設(shè)備輸入上的一組事件的 HDL 描述)驅(qū)動(dòng),旨在探索正確的狀態(tài)以識(shí)別操作問題。

這種方法引出了一個(gè)問題:如果我們知道代碼塊可以進(jìn)入的所有狀態(tài)以及狀態(tài)間轉(zhuǎn)換,那么我們不能簡(jiǎn)單地詢問有關(guān)代碼操作的問題以確保其正確嗎?這將避免必須編寫許多行刺激來嘗試使代碼塊進(jìn)入正確的信息承載狀態(tài)。這是形式驗(yàn)證工具使用的方法。

這種基本方法可以轉(zhuǎn)變?yōu)樵S多有用的應(yīng)用程序。例如,如果可以根據(jù)設(shè)計(jì)代碼的一個(gè)方面和要檢查的驗(yàn)證場(chǎng)景自動(dòng)創(chuàng)建要問的問題,則可以創(chuàng)建用于驗(yàn)證目的的自動(dòng)化應(yīng)用程序。這將不需要用戶編寫問題。如果正式工具可以用最少的輸入演示特定的狀態(tài)序列(例如狀態(tài)機(jī)操作),那么設(shè)計(jì)工程師就可以理解他或她的代碼如何執(zhí)行,從而揭示可能的錯(cuò)誤。

當(dāng)工程師自己提出問題時(shí),形式驗(yàn)證的真正威力才得以發(fā)揮。這需要使用斷言編寫問題或?qū)傩?,并在稱為基于斷言的驗(yàn)證或 ABV 的過程中應(yīng)用于設(shè)計(jì)。

當(dāng)然,這種高級(jí)描述掩蓋了 ABV 的問題,包括存儲(chǔ)這么多信息的工具的容量和性能要求已經(jīng)通過最新技術(shù)得到解決。

兩個(gè)問題仍然是 ABV 廣泛使用的障礙:

斷言的創(chuàng)作,通常使用 SystemVerilog 標(biāo)準(zhǔn)語法,可能很復(fù)雜且難以可視化

對(duì)驗(yàn)證進(jìn)度或覆蓋率的理解很難與其他驗(yàn)證方法的理解和對(duì)比

盡管在這兩個(gè)方面都取得了進(jìn)步,但還需要更多的努力來降低學(xué)習(xí)曲線,從而使 ABV 得以普遍擴(kuò)散。

ABV 應(yīng)用程序

在驗(yàn)證過程中應(yīng)用 ABV 有兩種常用方法。首先是檢查特定的極端案例類型的問題,這些問題通常需要花費(fèi)大量精力來構(gòu)建模擬測(cè)試平臺(tái)來分析問題。第二個(gè)是對(duì)塊進(jìn)行更一般的檢查,無論是結(jié)合模擬還是獨(dú)立檢查。

形式驗(yàn)證的第一個(gè)使用模型很有價(jià)值,可以在驗(yàn)證計(jì)劃中減少合理的百分比。第二個(gè)模型有可能改變特征驗(yàn)證過程,節(jié)省大量時(shí)間和資源支出,同時(shí)增加發(fā)現(xiàn)設(shè)計(jì)中每個(gè)錯(cuò)誤的整體潛力。已經(jīng)有一些行業(yè)部門在第二種模式中廣泛使用 ABV。其中包括汽車和航空電子產(chǎn)品,其中高質(zhì)量和可靠性是一個(gè)因素。

在組合仿真-形式驗(yàn)證流程中,如圖 1 所示,通常使用仿真進(jìn)行一般操作分析并“感受”設(shè)計(jì)的行為和性能。此外,還有一些功能更適合模擬,例如數(shù)學(xué)數(shù)據(jù)處理或信號(hào)處理。然而,形式驗(yàn)證非常適合控制或數(shù)據(jù)傳輸種類的功能,如有限狀態(tài)機(jī)、數(shù)據(jù)通信和協(xié)議檢查。此外,確保某些類型的驗(yàn)證場(chǎng)景,例如安全檢查(例如,某項(xiàng)活動(dòng)是否會(huì)發(fā)生),也是該技術(shù)的最佳選擇。這些代碼和場(chǎng)景示例通常需要很高比例的驗(yàn)證資源。

poYBAGKmoCuAHonyAAFT4LasB6g661.png

斷言創(chuàng)作改進(jìn)

與 UVM 推動(dòng)模擬測(cè)試臺(tái)創(chuàng)建的分層方法相同,新技術(shù)正在出現(xiàn),將抽象引入斷言創(chuàng)作。這些抽象通過掩蓋斷言細(xì)節(jié)來降低復(fù)雜性,同時(shí)允許工程師考慮驗(yàn)證任務(wù)而不是斷言的個(gè)別特征。

例如,OneSpin 解決方案的 Operational Assertions 是一個(gè) SystemVerilog 庫,它允許正式測(cè)試以類似事務(wù)時(shí)序圖的方式表示,與驗(yàn)證工程師廣泛認(rèn)可的高級(jí) UVM 序列不同。Breker Verification Systems 的基于圖形的測(cè)試序列,現(xiàn)在由 Accellera Portable Stimulus 標(biāo)準(zhǔn)委員會(huì)考慮,是另一種抽象形式,也可以應(yīng)用于斷言創(chuàng)作。

這些技術(shù)在簡(jiǎn)化形式測(cè)試應(yīng)用的同時(shí),具有提供可識(shí)別且更自然的輸入方案的優(yōu)勢(shì),允許工程師通過消除一些形式驗(yàn)證之謎來與正在進(jìn)行的驗(yàn)證過程相關(guān)聯(lián)。

常見的覆蓋模型

簡(jiǎn)化斷言只是難題的一部分。該過程的另一端是整理來自各種來源的覆蓋率信息,以了解總體驗(yàn)證進(jìn)度,無論使用何種工具。模擬過程仍然主要集中在一種或另一種代碼覆蓋上,并包含一些功能覆蓋。形式驗(yàn)證覆蓋側(cè)重于斷言(所謂的“斷言覆蓋”),無論它們是否被執(zhí)行,它們是通過還是失敗,或者確實(shí)它們通過一個(gè)警告(例如,有界證明,例如“代碼在一定數(shù)量的時(shí)鐘周期內(nèi)通過”)。該信息可以反饋給驗(yàn)證計(jì)劃系統(tǒng)以提供一些有用的數(shù)據(jù)。

然而,測(cè)量正式的覆蓋率,確定由特定斷言測(cè)試的實(shí)際代碼,是領(lǐng)先的形式驗(yàn)證供應(yīng)商感興趣的領(lǐng)域。已經(jīng)提出了在精度和所需執(zhí)行資源方面都不同的方案。關(guān)鍵是能夠?qū)⑦@些正式模型與模擬模型進(jìn)行比較,以提供綜合的、有意義的覆蓋率評(píng)估。Accellera 統(tǒng)一覆蓋互操作性標(biāo)準(zhǔn) (UCIS) 委員會(huì)專注于這一目標(biāo),并提出了可以將兩者進(jìn)行比較的方法。在這方面需要做更多的工作,但很明顯,一些形式驗(yàn)證供應(yīng)商擁有允許計(jì)算合理的進(jìn)度度量的解決方案。

模擬風(fēng)格調(diào)試

以對(duì)以仿真為中心的工程師有意義的方式調(diào)試形式驗(yàn)證代碼,在很大程度上已被許多形式驗(yàn)證供應(yīng)商解決。大多數(shù)工具可以在斷言失敗的情況下輸出“見證”。也就是說,導(dǎo)致斷言失敗的仿真波形形式的一系列事件。事實(shí)上,包括 OneSpin 在內(nèi)的一些供應(yīng)商可以輸出模擬測(cè)試,允許在模擬器中重現(xiàn)故障以供進(jìn)一步研究。

破解主流ABV代碼

很明顯,ABV 的使用開始成為主流。ARMOracle 都宣布了 ABV 在其環(huán)境中的全部功能,并指出它現(xiàn)在在他們的項(xiàng)目中被大量使用。

解決 Assertion Authoring、Collated Coverage 和 Simulation-centric Debug 這三條腿的問題,并將其與對(duì)形式驗(yàn)證擅長(zhǎng)的設(shè)計(jì)領(lǐng)域和場(chǎng)景的清晰理解相結(jié)合,將推動(dòng)這種方法成為 SoC 驗(yàn)證的主流。一旦發(fā)生這種情況,將對(duì)未來的設(shè)計(jì)質(zhì)量和開發(fā)進(jìn)度產(chǎn)生巨大影響。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    8974

    瀏覽量

    365296
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4034

    瀏覽量

    217159
  • 仿真
    +關(guān)注

    關(guān)注

    50

    文章

    3976

    瀏覽量

    133027
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    快速部署原型驗(yàn)證:從子卡到調(diào)試的全方位優(yōu)化

    夠順利移植到最終芯片上,并完成"bring-up"(即系統(tǒng)啟動(dòng)并正常運(yùn)行),成為了開發(fā)團(tuán)隊(duì)面臨的一個(gè)重要挑戰(zhàn)。為了實(shí)現(xiàn)這一目標(biāo),雖然原型驗(yàn)證具備高性能,能夠快速模擬真
    的頭像 發(fā)表于 09-30 08:04 ?64次閱讀
    快速部署原型<b class='flag-5'>驗(yàn)證</b>:從子卡到調(diào)試的全方位優(yōu)化

    形式驗(yàn)證如何加速超大規(guī)模芯片設(shè)計(jì)?

    引言隨著集成電路規(guī)模的不斷擴(kuò)大,從設(shè)計(jì)到流片(Tape-out)的全流程中,驗(yàn)證環(huán)節(jié)的核心地位日益凸顯。有效的驗(yàn)證不僅是設(shè)計(jì)完美的基石,更是確保電路在實(shí)際應(yīng)用中穩(wěn)定運(yùn)行的保障。尤為關(guān)鍵的是,邏輯或
    的頭像 發(fā)表于 08-30 12:45 ?358次閱讀
    <b class='flag-5'>形式</b><b class='flag-5'>驗(yàn)證</b>如何加速超大規(guī)模芯片設(shè)計(jì)?

    機(jī)器學(xué)習(xí)中的交叉驗(yàn)證方法

    在機(jī)器學(xué)習(xí)中,交叉驗(yàn)證(Cross-Validation)是一種重要的評(píng)估方法,它通過將數(shù)據(jù)集分割成多個(gè)部分來評(píng)估模型的性能,從而避免過擬合或欠擬合問題,并幫助選擇最優(yōu)的超參數(shù)。本文將詳細(xì)探討幾種
    的頭像 發(fā)表于 07-10 16:08 ?438次閱讀

    生物識(shí)別驗(yàn)證在哪里開啟

    生物識(shí)別驗(yàn)證是一種利用生物特征進(jìn)行身份驗(yàn)證的技術(shù),包括指紋、面部、虹膜、聲音等。隨著科技的發(fā)展,生物識(shí)別驗(yàn)證已經(jīng)被廣泛應(yīng)用于各個(gè)領(lǐng)域,如手機(jī)解鎖、銀行交易、門禁系統(tǒng)等。 一、生物識(shí)別驗(yàn)證
    的頭像 發(fā)表于 07-08 10:26 ?460次閱讀

    大規(guī)模 SoC 原型驗(yàn)證面臨哪些技術(shù)挑戰(zhàn)?

    引言隨著電子設(shè)計(jì)自動(dòng)化(EDA)驗(yàn)證工具的重要性日益增加,開發(fā)者們開始尋求減少流片成本和縮短開發(fā)周期的方法。其中,使用可編程邏輯芯片(FPGA)來構(gòu)建有效的驗(yàn)證流程成為一種流行的解決方案,這種
    的頭像 發(fā)表于 06-06 08:23 ?977次閱讀
    大規(guī)模 <b class='flag-5'>SoC</b> 原型<b class='flag-5'>驗(yàn)證</b>面臨哪些技術(shù)挑戰(zhàn)?

    fpga驗(yàn)證和uvm驗(yàn)證的區(qū)別

    FPGA驗(yàn)證和UVM驗(yàn)證在芯片設(shè)計(jì)和驗(yàn)證過程中都扮演著重要的角色,但它們之間存在明顯的區(qū)別。
    的頭像 發(fā)表于 03-15 15:00 ?1177次閱讀

    Quectel與羅德與施瓦茨攜手驗(yàn)證5G eCall模塊

    驗(yàn)證工作。該模塊是Quectel汽車模塊AG56xN系列的重要組成部分,此次驗(yàn)證標(biāo)志著汽車通信領(lǐng)域的一大技術(shù)突破。
    的頭像 發(fā)表于 03-15 10:23 ?452次閱讀

    什么是FPGA原型驗(yàn)證?FPGA原型設(shè)計(jì)的好處是什么?

    FPGA原型設(shè)計(jì)是一種成熟的技術(shù),用于通過將RTL移植到現(xiàn)場(chǎng)可編程門陣列(FPGA)來驗(yàn)證專門應(yīng)用的集成電路(ASIC),專用標(biāo)準(zhǔn)產(chǎn)品(ASSP)和片上系統(tǒng)(SoC)的功能和性能。
    發(fā)表于 01-12 16:13 ?955次閱讀

    基于斷言的驗(yàn)證簡(jiǎn)介 – 第 1 部分

    基于斷言的驗(yàn)證(ABV)是一種與傳統(tǒng)方法相比可以大大減少驗(yàn)證過程的技術(shù).
    的頭像 發(fā)表于 01-09 09:59 ?481次閱讀
    基于斷言的<b class='flag-5'>驗(yàn)證</b>簡(jiǎn)介 – 第 1 部分

    面向系統(tǒng)級(jí)芯片驗(yàn)證的硬件平臺(tái)介紹

    當(dāng)設(shè)計(jì)的規(guī)模動(dòng)輒幾十億門,系統(tǒng)驗(yàn)證時(shí)間不斷的增加,硬件驗(yàn)證系統(tǒng)幾乎是驗(yàn)證工程師不可或缺的利器,因此對(duì)高性能硬件驗(yàn)證系統(tǒng)提出了更多的需求。
    的頭像 發(fā)表于 01-05 10:06 ?646次閱讀

    醫(yī)療設(shè)備的數(shù)字驗(yàn)證

    電子發(fā)燒友網(wǎng)站提供《醫(yī)療設(shè)備的數(shù)字驗(yàn)證.pdf》資料免費(fèi)下載
    發(fā)表于 11-16 14:54 ?0次下載
    醫(yī)療設(shè)備的數(shù)字<b class='flag-5'>驗(yàn)證</b>

    如何可靠、快速、自動(dòng)地驗(yàn)證處理器硬件

    你是否會(huì)遇到以下問題:bug可能比較微妙,不直觀,無法手動(dòng)推斷;或者在被觀察到之前就被激活很久了,傳統(tǒng)的模擬設(shè)計(jì)需要花很長(zhǎng)時(shí)間自動(dòng);驗(yàn)證工作量隨著設(shè)計(jì)復(fù)雜性的增加而增加,人工推理和手動(dòng)編寫屬性不再可行,等等。目前驗(yàn)證CPU的主流
    的頭像 發(fā)表于 11-16 12:29 ?515次閱讀
    如何可靠、快速、自動(dòng)地<b class='flag-5'>驗(yàn)證</b>處理器硬件

    形式驗(yàn)證及其在芯片工程中的應(yīng)用

    形式驗(yàn)證不僅僅是芯片領(lǐng)域中的一個(gè)概念。正如文章開頭提到過,形式驗(yàn)證強(qiáng)調(diào)使用嚴(yán)格的數(shù)學(xué)推理和形式化技術(shù),以確保系統(tǒng)的行為是否符合預(yù)期的性質(zhì)和規(guī)
    的頭像 發(fā)表于 10-20 10:46 ?885次閱讀

    芯片的驗(yàn)證模塊劃分

    任何芯片都需要把芯片劃分成更便于管理的小模塊/特性進(jìn)行驗(yàn)證。
    的頭像 發(fā)表于 10-07 14:41 ?533次閱讀

    如何使用Verilog語言進(jìn)行仿真驗(yàn)證

    仿真驗(yàn)證主要作用是搭建一個(gè)測(cè)試平臺(tái),測(cè)試和驗(yàn)證程序設(shè)計(jì)的正確性,驗(yàn)證設(shè)計(jì)是否實(shí)現(xiàn)了我們所預(yù)期的功能。其結(jié)構(gòu)如下圖所示。
    的頭像 發(fā)表于 10-02 16:29 ?1448次閱讀
    如何使用Verilog語言進(jìn)行仿真<b class='flag-5'>驗(yàn)證</b>