色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

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

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

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

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

一、概述

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

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

其用于度量驗證中已執行的測試點(cover point)占設計規范的比例,從而避免功能驗證的遺漏。或者說,Functional 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,構造的收集“容器”,收集過程在這里實現;2. unit_coverage_interface.sv(unit_cov_if.sv),定義unit_cov.sv中需要用到的interface;3. top.sv,將unit_cov_if.sv中定義的interface與DUT中對應的interface連接起來;

二、實現

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

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

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

wKgZomR8TDGAc0leAADkFCfty84581.jpg

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

覆蓋點(cover ponit):

wKgaomR8TJqAbM2cAACJGNmh7Ug700.jpg

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

一個覆蓋組可以包含一個或多個覆蓋點。每個覆蓋點都與“ bins”關聯。“bins”可自動創建,也可以明確定義。

ex1:自動創建bins

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

對于“ n”位的整數coverpoint變量,將創建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的最小匹配/采樣次數。默認值為“ 1”,默認情況下,數值采樣了1次就可以計入有效的bin(已覆蓋)。可以通過修改at_least來修改每個bin對應的最小采樣次數,注意,如果低于at_least數值,則該bin不算被覆蓋。在covergroup里使用 option.at_least,會影響所有的coverpoint里的bin。在coverpoint里使用 option.at_least,只影響該coverpoint下的bin,但coverpoint中使用會覆蓋covergroup中的使用。

auto_bin_max

沒有為coverpoint明確定義bins時自動創建bins的最大數量。默認值為“ 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章。

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

    關注

    28

    文章

    1364

    瀏覽量

    111570
  • 時鐘
    +關注

    關注

    11

    文章

    1859

    瀏覽量

    132707
  • DUT
    DUT
    +關注

    關注

    0

    文章

    190

    瀏覽量

    12785

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

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

收藏 0人收藏

    評論

    相關推薦
    熱點推薦

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

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

    怎么用Vivado做覆蓋率分析

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

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

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

    如何改善5G覆蓋率

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

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

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

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

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

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

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

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

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

    Verilog代碼覆蓋率檢查

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

    IP開發時如何考慮復用覆蓋率

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

    嵌入式代碼覆蓋率統計方法和經驗

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

    統計嵌入式代碼覆蓋率的方法和經驗

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

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

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

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

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

    SystemVerilog覆蓋率建模方式

    為了確保驗證的完備性,我們需要量化驗證目標。SystemVerilog提供了一套豐富的覆蓋率建模方式。
    的頭像 發表于 06-25 10:44 ?1420次閱讀
    主站蜘蛛池模板: 国产性夜夜春夜夜爽1A片 | 男人的天堂MV在线视频免费观看 | 射死你天天日 | 91传媒蜜桃香蕉在线观看 | 丰满大屁俄罗斯肥女 | 乌克兰10一12x video | 黑兽在线观看高清在线播放樱花 | 美女张开大腿 | 国精产品一区一区三区有 | 伊人久久大香线蕉无码麻豆 | 十分钟免费观看大全视频 | 调教美丽的白丝袜麻麻视频 | 高清无码色大片中文 | 97在线视频免费播放 | 九九热这里只有精品2 | 色综合五月激情综合色一区 | 久久午夜夜伦痒痒想咳嗽P 久久午夜夜伦鲁鲁片无码免费 | 亚洲 欧美 中文字幕 在线 | 99热精品在线视频观看 | 啊灬啊灬啊灬快高潮视频 | 国产亚洲精品精品精品 | 宅男午夜大片又黄又爽大片 | 一级毛片美国 | 秋霞伦理高清视频在线 | 亚洲在线2018最新无码 | 美女露出乳胸扒开尿口 | 37大但人文艺术A级都市天气 | 欲奴第一季在线观看全集 | 日本湿姝在线观看 | 动漫美女的禁 | 久久婷婷电影网 | 暖暖视频 免费 高清 日本8 | 九九在线中文字幕无码 | 伊人久久精品99热超碰 | 国产午夜伦伦伦午夜伦 | 欧美精品AV精品一区视频 | 亚洲视频精品在线观看 | 亚洲黄色三级视频 | 日韩精品无码久久一区二区三 | 国产精品久久久久久52AVAV | 亚洲AV久久无码精品九号软件 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品