99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

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

sanyue7758 ? 來(lái)源:芯片學(xué)堂 ? 2023-04-17 10:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

01

覆蓋率概述

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

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

02

功能覆蓋率

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

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

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

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

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

03

代碼覆蓋率

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

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

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

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

04

用例通過(guò)率和計(jì)劃覆蓋率

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

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





審核編輯:劉清

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

    關(guān)注

    4

    文章

    273

    瀏覽量

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

    關(guān)注

    1

    文章

    389

    瀏覽量

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

    關(guān)注

    0

    文章

    35

    瀏覽量

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

    關(guān)注

    0

    文章

    191

    瀏覽量

    12952

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    怎么用Vivado做覆蓋率分析

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

    關(guān)于SpinalHDL中的驗(yàn)證覆蓋率收集簡(jiǎn)單說(shuō)明

    在做RTL仿真驗(yàn)證時(shí),覆蓋率收集往往是我們?cè)?b class='flag-5'>驗(yàn)證中需要注意的地方,本篇就SpinalHDL中的驗(yàn)證覆蓋率收集做一個(gè)簡(jiǎn)單說(shuō)明。sbt配置在Sp
    發(fā)表于 06-24 15:56

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

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

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

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

    針對(duì)功能覆蓋率驗(yàn)證過(guò)程

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

    Verilog代碼覆蓋率檢查

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

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

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

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

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

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

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

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

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

    怎么才能寫(xiě)出高覆蓋率的Verilog代碼?

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

    覆蓋率的Verilog代碼的編寫(xiě)技巧

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

    代碼覆蓋率工具的重要性

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

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

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

    代碼覆蓋率記錄

    為確保具體的產(chǎn)品(例如,醫(yī)療或航空電子市場(chǎng))質(zhì)量合格, 通常需要提供語(yǔ)句覆蓋與判定覆蓋認(rèn)證證明。對(duì)于各種嵌 入式系統(tǒng),規(guī)范要求高度優(yōu)化的代碼需要實(shí)時(shí)測(cè)試。禁止 代碼插裝和運(yùn)行時(shí)篡
    發(fā)表于 11-03 11:02 ?0次下載
    <b class='flag-5'>代碼</b><b class='flag-5'>覆蓋率</b>記錄