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

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

SystemVerilog實用知識點:覆蓋率之Function Coverage

sanyue7758 ? 來源:芯片掃地僧ICer ? 2023-06-04 16:30 ? 次閱讀

SystemVerilog是一名芯片驗證工程師,必須掌握的一門語言,其中Function Coverage是必須要懂的知識點之一;

看完這篇,應該就會寫Function Coverage了;

一、概述

有一定基礎,想直接看用法,直接看第二部分——實現(xiàn)(強調(diào)!代碼部分要精讀,文字略抽象,例子好理解)。

功能覆蓋率(Function Coverage)是衡量驗證完備性的重要標準之一。

其用于度量驗證中已執(zhí)行的測試點(cover point)占設計規(guī)范的比例,從而避免功能驗證的遺漏。或者說,F(xiàn)unctional coverage是驗證工程師基于對DUT的認識來對驗證feature進行分解后,將需要覆蓋的點進行分析后寫出,因此對于DUT Spec的信息提取非常重要。

Functional_coverage可以檢查:

1. 你關心的場景是否覆蓋完備;2. 驗證工程師構造的隨機激勵的隨機程度/合理性;3. 從Spec中提取的feature點是否覆蓋完備;...

Function Coverage通過編寫coverage group, coverage points和bins等來構造收集“容器”。這里我們不介紹Assertion Coverage, Code Coverage等,以后會單獨介紹。

收集Function Coverage的相關驗證文件是由驗證工程師定義編寫的,靈活度很高,所以更需要謹慎對待,這是個Review的過程,一般需要編寫:unit_coverage.sv + unit_coverage_interface.sv + top.sv。

1. unit_coverage.sv (unit_cov.sv),可能包含多個功能覆蓋模型coverage group,構造的收集“容器”,收集過程在這里實現(xiàn);2. unit_coverage_interface.sv(unit_cov_if.sv),定義unit_cov.sv中需要用到的interface;3. top.sv,將unit_cov_if.sv中定義的interface與DUT中對應的interface連接起來;

二、實現(xiàn)

功能覆蓋率模型/覆蓋組(cover group):

覆蓋組是使用cover group構造定義的。

ex1: 會在指定的signal_abc變化時才采樣

wKgZomR8TDGAc0leAADkFCfty84581.jpg

ex2:在時鐘上升沿((posedge)采樣。

覆蓋點(cover ponit):

wKgaomR8TJqAbM2cAACJGNmh7Ug700.jpg

覆蓋點是使用cover ponit和bins構造定義的。

一個覆蓋組可以包含一個或多個覆蓋點。每個覆蓋點都與“ bins”關聯(lián)。“bins”可自動創(chuàng)建,也可以明確定義。

ex1:自動創(chuàng)建bins

為coverpoint變量范圍的每個值自動創(chuàng)建一個bins,這稱為自動或隱式bins。

對于“ n”位的整數(shù)coverpoint變量,將創(chuàng)建2^n個bin,但是最多為64個,當2^n大于64時,每個bin不再是一個值,而是2^n/64

ex2:明確定義bins

該方式--- 常用,這里重點看每個bins定義代表的不同意義。

在覆蓋點標識符(cover point)之后,在大括號{}中顯式聲明bins,其中聲明bins名稱和變量值/范圍。

ex3:交叉覆蓋(cross)

覆蓋選項(cover options)

at_least

每個bins的最小匹配/采樣次數(shù)。默認值為“ 1”,默認情況下,數(shù)值采樣了1次就可以計入有效的bin(已覆蓋)。可以通過修改at_least來修改每個bin對應的最小采樣次數(shù),注意,如果低于at_least數(shù)值,則該bin不算被覆蓋。在covergroup里使用 option.at_least,會影響所有的coverpoint里的bin。在coverpoint里使用 option.at_least,只影響該coverpoint下的bin,但coverpoint中使用會覆蓋covergroup中的使用。

auto_bin_max

沒有為coverpoint明確定義bins時自動創(chuàng)建bins的最大數(shù)量。默認值為“ 64”。

cross_auto_bin_max

沒有默認值,它是無界的。

wKgaomR8TG6AAeZKAABjNDhZ1-U692.jpg

如果對一個covergroup實例化了很多次,那么SV默認會把所有實例的覆蓋率合并在一起。 option.per_instance = 1,表示covergroup的每一個實例的覆蓋率都要單獨計算。

goal

不論covergroup或是coverpoint的目標覆蓋率皆是100%,不過也可以通過option.goal=value,來降低覆蓋率目標,這個選項只會影響覆蓋率報告。

......

更多options和關于Function Coverage更詳細的描述/用法去翻閱《system verilog官方手冊》:《IEEE Standard for SystemVerilog — Unified Hardware Design, Specification, and Verification Language》的第19章。

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

    關注

    28

    文章

    1352

    瀏覽量

    110443
  • 時鐘
    +關注

    關注

    11

    文章

    1747

    瀏覽量

    131849
  • DUT
    DUT
    +關注

    關注

    0

    文章

    189

    瀏覽量

    12509

原文標題:【看即會用】SystemVerilog實用知識點:覆蓋率之Function Coverage

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

收藏 人收藏

    評論

    相關推薦

    一文詳解Modelsim代碼覆蓋率功能使用

    作者:默宸? Modelsim代碼覆蓋率功能Code coverage,能報告出statement(語句)、branch(分支)、condition(條件)、expression(表達
    的頭像 發(fā)表于 12-09 11:45 ?5965次閱讀

    怎么用Vivado做覆蓋率分析

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

    為什么覆蓋率分析師沒有證明電阻器已經(jīng)過測試?

    您好,我對Coverage Analyst有疑問。我使用的是Coverage Analyst版本5.21p。覆蓋率分析師完成覆蓋率報告確定(html文件),但我對報告中顯示的結果有疑問
    發(fā)表于 01-07 16:06

    如何改善5G覆蓋率

    改善5G覆蓋率的方法
    發(fā)表于 12-15 07:52

    如何提高DFT設計測試覆蓋率

    提高DFT設計測試覆蓋率的有效方法是什么
    發(fā)表于 05-07 06:37

    關于SpinalHDL中的驗證覆蓋率收集簡單說明

    成Verilog/Systemverilog電路交由Verilator進行仿真,而激勵則由scala本身提供,兩者之間通過verilator的VPI進行通信交流。SpinalHDL覆蓋率的收集在
    發(fā)表于 06-24 15:56

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

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

    Systemverilog覆蓋率的合并和計算方式

      在systemverilog中,對于一個covergroup來說,可能會有多個instance,我們可能需要對這些instance覆蓋率進行操作。  只保存covergroup type的覆蓋率
    發(fā)表于 03-21 14:24

    Verilog代碼覆蓋率檢查

    Verilog代碼覆蓋率檢查是檢查驗證工作是否完全的重要方法,代碼覆蓋率(codecoverge)可以指示Verilog代碼描述的功能有多少在仿真過程中被驗證過了,代碼覆蓋率分析包括以下分析內(nèi)容。
    發(fā)表于 04-29 12:35 ?8494次閱讀

    IP開發(fā)時如何考慮復用覆蓋率

    如何在開發(fā)IP的同時去鞏固集成和復用覆蓋率?IP的某些功能和性能是可以配置的,需要考慮的是IP被各種合理配置后的工作是否都能夠正常,將功能覆蓋率先整理為層次化的抽象功能覆蓋率模型,稱之為cover model。
    的頭像 發(fā)表于 02-18 12:08 ?2695次閱讀

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

    代碼覆蓋率是衡量軟件測試完成情況的指標,通常基于測試過程中已檢查的程序源代碼比例計算得出。代碼覆蓋率可以有效避免包含未測試代碼的程序被發(fā)布。 1. 問題背景 代碼覆蓋(Code coverag
    的頭像 發(fā)表于 01-06 15:06 ?3239次閱讀
    嵌入式代碼<b class='flag-5'>覆蓋率</b>統(tǒng)計方法和經(jīng)驗

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

    代碼覆蓋率是衡量軟件測試完成情況的指標,通常基于測試過程中已檢查的程序源代碼比例計算得出。代碼覆蓋率可以有效避免包含未測試代碼的程序被發(fā)布。 1. 問題背景 代碼覆蓋(Code coverag
    的頭像 發(fā)表于 03-29 11:58 ?2014次閱讀
    統(tǒng)計嵌入式代碼<b class='flag-5'>覆蓋率</b>的方法和經(jīng)驗

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

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

    脫離代碼談芯片驗證關鍵指標:覆蓋率

    驗證覆蓋率(Verification Coverage)的存在是為了試圖回答這樣一個問題:“你怎么知道驗證已經(jīng)完成?”
    的頭像 發(fā)表于 04-17 10:04 ?4413次閱讀

    SystemVerilog覆蓋率建模方式

    為了確保驗證的完備性,我們需要量化驗證目標。SystemVerilog提供了一套豐富的覆蓋率建模方式。
    的頭像 發(fā)表于 06-25 10:44 ?1251次閱讀
    主站蜘蛛池模板: 一级免费看片 | 亚洲精品一区二区中文 | 玖玖玖精品视频免费播放 | 亚洲人成网站在线在线 | 久久在草 | 色色色色色色网 | 高清一级做a爱视频免费 | 国产精品资源在线播放 | 天天操天天射天天爽 | 操一操日一日 | tdg58在线观看 | 天天做天天做天天综合网 | 人人插人人干 | 中国黄色一级毛片 | 亚洲第一福利网站 | 欧美亚洲综合在线观看 | 一级做a爱免费观看视频 | 一级黄a| 男女视频在线观看免费 | 午夜视频在线网站 | 在线亚洲国产精品区 | 人操人操 | 男男污肉高h坐便器调教 | 91视频三级| 女人张腿让男子桶免费动态图 | 五月激情网站 | 亚洲第一视频在线 | 男人天堂综合网 | 国产精品特黄毛片 | 国产一区二区三区免费大片天美 | 在线成人欧美 | 成年人的毛片 | 在线精品91青草国产在线观看 | 亚洲精品视频专区 | 色视网站 | 在线综合网 | 欧美极品第1页专区 | 国产一级特黄aa级特黄裸毛片 | 俄罗斯欧美色黄激情 | 国产caoni111在线观看视频 | 宅男666在线永久免费观看 |