在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

脫離代碼談芯片驗證關(guān)鍵指標(biāo):覆蓋率

sanyue7758 ? 來源:芯片學(xué)堂 ? 2023-04-17 10:04 ? 次閱讀

驗證覆蓋率(Verification Coverage)的存在是為了試圖回答這樣一個問題:“你怎么知道驗證已經(jīng)完成?”

實際上,就算驗證覆蓋率達(dá)到了100%,從邏輯上也不能保證當(dāng)前的驗證是完備的。只不過,100%的驗證覆蓋率,可以讓工程團(tuán)隊對即將tape out的芯片增添不少信心。

本文將重點(diǎn)厘清覆蓋率相關(guān)的概念,以及在芯片開發(fā)流程中跟覆蓋率相關(guān)的事項。

01

覆蓋率概述

要完成一項工程,需要從市場需求、產(chǎn)品計劃、工程流程、技術(shù)手段、監(jiān)管機(jī)制、資源調(diào)配、評審體系等多個維度做全盤考量。而覆蓋率,就是芯片工程中,評審體系需要重點(diǎn)參考的一項技術(shù)指標(biāo),但也只是驗證相關(guān)的其中一項。 目前被業(yè)界廣泛采用的覆蓋率指標(biāo)有功能覆蓋率(Function Coverage)和代碼覆蓋率(Code Coverage)。這兩項指標(biāo)需要配合起來看,比如100%的代碼覆蓋率以及低于100%的功能覆蓋率,可以看出驗證不完整;100%的功能覆蓋率以及低于100%的代碼覆蓋率,可以看出代碼冗余或驗證計劃有誤;更多的分析可以得出更詳細(xì)的結(jié)論。

下面會對這兩種覆蓋率分別展開闡述,最后再補(bǔ)充一下用例通過率(Pass rate)和計劃覆蓋率(Plan Coverage)的內(nèi)容。

02

功能覆蓋率

功能覆蓋率,被用來度量DUT中哪些功能/特性被測試用例測試到了。這項指標(biāo)在隨機(jī)驗證中非常有用,通過它可以明確地知道在“大范圍的掃射”之后,哪些功能被命中了,也就對當(dāng)前DUT的狀態(tài)有了大致的把握。 但要獲得這項指標(biāo)也會比較麻煩,工程師們需要針對各種各樣的功能和應(yīng)用場景,使用SV等驗證語言去實現(xiàn)覆蓋率模型(Coverage Model)或斷言(Assertion),并且從大量的回歸測試(Regression)中采集(Sample)覆蓋數(shù)據(jù),然后進(jìn)行統(tǒng)計數(shù)據(jù)的合并(Merge),最后做覆蓋率分析(Analysis)。

a1ec5092-dc3b-11ed-bfe3-dac502259ad0.png

這里提到的功能和應(yīng)用場景,在不同層級的驗證中(模塊驗證/子系統(tǒng)驗證/系統(tǒng)驗證)有不同抽象的表達(dá),比如模塊驗證會更關(guān)心模塊電路是否所有的功能都被觸發(fā)到了,而系統(tǒng)驗證會更關(guān)心是否耦合了各類工作場景。 這里提到的實現(xiàn)覆蓋率模型,是容易引入人為錯誤的地方。覆蓋率模型的定義決定了計算覆蓋率時的全集,比如設(shè)計文檔中提到了100個功能特性,驗證工程師在開發(fā)覆蓋率模型的時候由于理解不到位或者遺漏,導(dǎo)致只針對其中90個特性編寫了覆蓋點(diǎn),那么最后就算達(dá)成100%的功能覆蓋率,也還是有10個功能特性沒有被測試到。

SV功能覆蓋率模型的實現(xiàn),需要用到覆蓋組covergroup和覆蓋點(diǎn)coverpoint這些語法特性。覆蓋組可以定義在package包、module模塊、program程序、interface接口或者class類中。覆蓋組通過包含多個覆蓋點(diǎn)或覆蓋點(diǎn)交叉場景來完成對覆蓋率模型的描述,覆蓋組還需要指定采樣條件和其他配置選項。而覆蓋點(diǎn),通常是需要被覆蓋的信號的邏輯或算術(shù)表達(dá)式,并且對具體覆蓋倉(bin)做劃分。

提個小建議,即使對SV相關(guān)語法很熟悉,實現(xiàn)覆蓋率模型的時候還是使用最直接和最簡單的方式。這樣可以提高可讀性,便于維護(hù)和評審。

03

代碼覆蓋率

代碼覆蓋率,被用來度量RTL中哪些代碼被仿真驗證執(zhí)行到了。代碼覆蓋率是一種軟件和硬件開發(fā)都通用的手段,通過在仿真程序運(yùn)行的過程中記錄統(tǒng)計數(shù)據(jù),來說明代碼中哪些語句被分別執(zhí)行了多少次。 通過對代碼覆蓋率的分析,我們很容易發(fā)現(xiàn)RTL中冗余的代碼塊(沒有被執(zhí)行),這種“冗余”可能來自于RTL實現(xiàn)邏輯的錯誤,或者用例和環(huán)境沒有正確完成期望的測試序列,又或者驗證計劃不夠完備。總之,對于驗證質(zhì)量的把控是非常有益的。 代碼覆蓋率的收集相比于功能覆蓋率要方便得多。

收集代碼覆蓋率通常是由EDA工具在啟用相應(yīng)功能的選項(option)之后自動化完成,不需要工程師再開發(fā)額外的代碼。同時,代碼覆蓋率是按照所有代碼作為全集來計算,不會像功能覆蓋率那樣存在人為引入的局限性。 但是,代碼覆蓋率有個本質(zhì)上的問題,那就是代碼行本身不能代表功能特性,也就是說,某一些代碼被覆蓋到了,并不能說明RTL實現(xiàn)了某項功能,也不能說明功能實現(xiàn)的正確性和邏輯完備性。反過來,完整的代碼覆蓋率,不能識別出來哪些功能特性沒有被實現(xiàn),不能識別出來實現(xiàn)了的功能特性所有可能的場景,也不能識別代碼行在執(zhí)行順序上的正確性。

a20188d6-dc3b-11ed-bfe3-dac502259ad0.png

代碼覆蓋率的統(tǒng)計一般會再進(jìn)一步做分類,即翻轉(zhuǎn)覆蓋率(Toggle Coverage)、行覆蓋率(Line Coverage)、語句覆蓋率(Statement Coverage)、分支覆蓋率(Branch Coverage)和狀態(tài)覆蓋率(FSM Coverage)。這些分類很好理解,都是字面意思,比如toggle cov就是看某個信號的翻轉(zhuǎn)情況,F(xiàn)SM cov就是有限狀態(tài)機(jī)的遍歷情況,這里不再一一展開贅述。

04

用例通過率和計劃覆蓋率

這是最后想要補(bǔ)充的兩個常見指標(biāo),用例通過率(Pass rate)和計劃覆蓋率(Plan Coverage)。 通過率指的是執(zhí)行Pass的用例數(shù)占所有需要執(zhí)行的用例的比例。嚴(yán)格來講,通過率并不能表示驗證工作的質(zhì)量進(jìn)度,它只能表征驗證工程師大致的工作量進(jìn)度。在達(dá)成功能覆蓋率和代碼覆蓋率的目標(biāo)前,一般要求用例是100%pass的,即手上已開發(fā)的用例都能執(zhí)行通過。

計劃覆蓋率指的是測試通過的測試點(diǎn)(test point)占所有測試點(diǎn)的比例。嚴(yán)格來講,計劃覆蓋率同樣不能表征驗證工作的質(zhì)量進(jìn)度,因為測試點(diǎn)的拆分具有很大的主觀性,在實際工程中增加測試點(diǎn)是常有的事。 計劃覆蓋率的計算,會要求將用例執(zhí)行結(jié)果反標(biāo)回驗證計劃表,然后再對應(yīng)到測試點(diǎn),這樣就可以根據(jù)用例的執(zhí)行結(jié)果來計算出計劃覆蓋率,它同樣只是能在一定程度上表征工作量進(jìn)度。





審核編輯:劉清

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

    關(guān)注

    4

    文章

    272

    瀏覽量

    32642
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    388

    瀏覽量

    60735
  • fsm
    fsm
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    12956
  • DUT
    DUT
    +關(guān)注

    關(guān)注

    0

    文章

    190

    瀏覽量

    12868

原文標(biāo)題:SystemVerilog | 脫離代碼談芯片驗證關(guān)鍵指標(biāo):覆蓋率

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    怎么用Vivado做覆蓋率分析

    在做仿真的時候往往會去做代碼覆蓋率和功能覆蓋率的分析,來保證仿真是做的比較充分完備的。
    的頭像 發(fā)表于 01-03 12:34 ?2317次閱讀
    怎么用Vivado做<b class='flag-5'>覆蓋率</b>分析

    關(guān)于SpinalHDL中的驗證覆蓋率收集簡單說明

    在做RTL仿真驗證時,覆蓋率收集往往是我們在驗證中需要注意的地方,本篇就SpinalHDL中的驗證覆蓋率收集做一個簡單說明。sbt配置在Sp
    發(fā)表于 06-24 15:56

    重點(diǎn)厘清覆蓋率相關(guān)的概念以及在芯片開發(fā)流程中跟覆蓋率相關(guān)的事項

    全盤考量。而覆蓋率,就是芯片工程中,評審體系需要重點(diǎn)參考的一項技術(shù)指標(biāo),但也只是驗證相關(guān)的其中一項。目前被業(yè)界廣泛采用的覆蓋率
    發(fā)表于 09-14 11:57

    結(jié)合覆蓋率驅(qū)動技術(shù)的RVM驗證方法學(xué)在SOC驗證中的應(yīng)用

            本文首先介紹RVM驗證方法學(xué)和覆蓋率驅(qū)動技術(shù),然后詳細(xì)分析如何使用結(jié)合覆蓋率驅(qū)動技術(shù)的RVM驗證
    發(fā)表于 09-05 08:53 ?15次下載

    針對功能覆蓋率驗證過程

    針對功能覆蓋率驗證過程神州龍芯集成電路設(shè)計公司徐偉俊 楊鑫 陳先勇 夏宇聞[摘要]:本文在介紹傳統(tǒng)驗證過程及其局限性的基礎(chǔ)上,闡述了針對功能覆蓋率
    發(fā)表于 12-23 16:12 ?13次下載

    Verilog代碼覆蓋率檢查

    Verilog代碼覆蓋率檢查是檢查驗證工作是否完全的重要方法,代碼覆蓋率(codecoverge)可以指示Verilog
    發(fā)表于 04-29 12:35 ?8716次閱讀

    USCIS API的應(yīng)用程序發(fā)熱覆蓋率

    功能覆蓋率是保證驗證過程整體完整性的關(guān)鍵指標(biāo),然而有很多證據(jù)表明覆蓋率模型往往不準(zhǔn)確,不完整和具有誤導(dǎo)性。作者這種覆蓋缺陷是非常常見的,并且
    發(fā)表于 09-15 10:49 ?6次下載
    USCIS API的應(yīng)用程序發(fā)熱<b class='flag-5'>覆蓋率</b>上

    嵌入式代碼覆蓋率統(tǒng)計方法和經(jīng)驗

    代碼覆蓋率是衡量軟件測試完成情況的指標(biāo),通常基于測試過程中已檢查的程序源代碼比例計算得出。代碼覆蓋率
    的頭像 發(fā)表于 01-06 15:06 ?3394次閱讀
    嵌入式<b class='flag-5'>代碼</b><b class='flag-5'>覆蓋率</b>統(tǒng)計方法和經(jīng)驗

    嵌入式代碼覆蓋率如何進(jìn)行統(tǒng)計有哪些方法和經(jīng)驗

    代碼覆蓋率是衡量軟件測試完成情況的指標(biāo),通常基于測試過程中已檢查的程序源代碼比例 計算得出。代碼覆蓋率
    的頭像 發(fā)表于 01-09 11:12 ?3335次閱讀
    嵌入式<b class='flag-5'>代碼</b><b class='flag-5'>覆蓋率</b>如何進(jìn)行統(tǒng)計有哪些方法和經(jīng)驗

    統(tǒng)計嵌入式代碼覆蓋率的方法和經(jīng)驗

    代碼覆蓋率是衡量軟件測試完成情況的指標(biāo),通常基于測試過程中已檢查的程序源代碼比例計算得出。代碼覆蓋率
    的頭像 發(fā)表于 03-29 11:58 ?2221次閱讀
    統(tǒng)計嵌入式<b class='flag-5'>代碼</b><b class='flag-5'>覆蓋率</b>的方法和經(jīng)驗

    怎么才能寫出高覆蓋率的Verilog代碼

    芯片前端工程中,測試驗證的核心理念:以提高覆蓋率為核心。設(shè)計工程師需要關(guān)心的主要有行覆蓋率(Block),條件覆蓋率(Expression)
    的頭像 發(fā)表于 06-01 10:13 ?2915次閱讀

    覆蓋率的Verilog代碼的編寫技巧

    設(shè)計工程師需要關(guān)心的主要有行覆蓋率(Block),條件覆蓋率(Expression),翻轉(zhuǎn)覆蓋率(Toggle),狀態(tài)機(jī)覆蓋率。本文從ASIC設(shè)計的角度上來討論,如何寫出高
    的頭像 發(fā)表于 05-26 17:30 ?4574次閱讀

    代碼覆蓋率工具的重要性

    測試覆蓋率是軟件質(zhì)量的重要指標(biāo),也是軟件維護(hù)的重要組成部分。它通過提供不同承保項目的數(shù)據(jù)來幫助評估測試的有效性。這種洞察力允許通過為未經(jīng)測試的代碼定義新的測試用例來改進(jìn)測試,從而提高代碼
    的頭像 發(fā)表于 12-08 15:13 ?1711次閱讀
    <b class='flag-5'>代碼</b><b class='flag-5'>覆蓋率</b>工具的重要性

    EDA仿真驗證環(huán)境中的激勵、檢查和覆蓋率

    下圖是一個典型的EDA仿真驗證環(huán)境,其中主要的組件就是激勵生成、檢查和覆蓋率收集。
    的頭像 發(fā)表于 04-15 10:13 ?2030次閱讀

    代碼覆蓋率記錄

    為確保具體的產(chǎn)品(例如,醫(yī)療或航空電子市場)質(zhì)量合格, 通常需要提供語句覆蓋與判定覆蓋認(rèn)證證明。對于各種嵌 入式系統(tǒng),規(guī)范要求高度優(yōu)化的代碼需要實時測試。禁止 代碼插裝和運(yùn)行時篡
    發(fā)表于 11-03 11:02 ?0次下載
    <b class='flag-5'>代碼</b><b class='flag-5'>覆蓋率</b>記錄
    主站蜘蛛池模板: 国产农村乱色xxxx | 手机在线看a| 老师叫我揉她内裤越快越好 | 日本三级香港三级人妇 m | 久久99国产精品久久99 | 日本黄色a级 | 欧美成人午夜精品免费福利 | 七月婷婷精品视频在线观看 | 77米奇| 日本在线视频二区 | 午夜在线 | freesex性woman欧美 | 狠狠干福利视频 | 流不尽奶水的大乳h | 国产精品资源网 | 国内精品手机在线观看视频 | 欧美色图888 | 人人弄 | 久草视频这里只有精品 | 天天干天天操天天插 | a级黑粗大硬长爽猛视频毛片 | 一级片免费观看视频 | 免费抓胸吻胸激烈视频网站 | 久久99热国产这有精品 | 日本三浦理惠子中文字幕 | 很黄很色网站 | 日本a级三级三级三级久久 日本a级影院 | 一本到中文字幕高清不卡在线 | 99久久精品国产自免费 | 日本加勒比官网 | 一级毛毛片毛片毛片毛片在线看 | 香淫| 五月天婷婷综合 | bt种子天堂 | 求网址你懂的手机在线观看网站 | 色多多在线观看视频 | 4虎影院在线观看 | 成人免费看毛片 | 被啪漫画羞羞漫画 | 男女交性视频免费视频 | 成人剧场 |