covergroup是对coverage model的一种包装,每个covergroup可以包含:

  1) sync event来触发采样,

  2) 很多coverpoint,

  3) cross coverpoint,

  4) 可选的formal arguments,

  5) 很多options。

covergroup与class类似,也是需要new出来对象,本身定义的只是一个原型,covergroup可以被定义在

  package,module,program,interface,checker或者class中

sync event是可选的,省略的情况下,显示调用内部的sample() function来进行采样,build-in的sample是不支持参数传递的

formal arguments,不可以定义为inout和output,只能定义为ref和input,这时的ref等同于const  ref这时在new的时候,需要传递进去参数

    这样的参数是不能被hier引用到的。

一个covergroup特有的option,strobe,表明只在当前time slot的最后,进行sample,避免有时可能在同一slot采样多次。

    

coverpoint的定义,一般需要加一个label,方便分析coverage report。

  $可以在数组中,表示上限和下限;

  iff可以表示条件;

  default,可以表示default的数值bin;

  default sequence,可以表示default的 transition bin;

  wildcard bins,主要可以使用?、x、z等匹配符;需要匹配x、z的时候,使用===

  with语句,表示附件条件,类似于&&;但是coverpoint中并不能使用&&;

  定义全集合bins,ignore_bins,illegal_bins,否则coverage计算不能收集全

  

  transition的bins:[*n]表示连续的n次迭代;

          [->n]表示不连续的n次迭代,但是紧跟着的是连续的跳变;

          [=n]表示不连续的n次迭代,下一次的跳变不需要连续

  

  cross bins,可以使用逻辑运算符,!,&&,||,关键字,with,matches,binsof,intersect等。

  

  也可以直接对cross bin进行赋值,与coverpoint相同;

   

covergroup中内建的几个function,

  void sample();real get_coverage();real get_inst_coverage();

  void set_inst_name();void start(); void stop()

用户也可以重载sample的方法,使用with function的语法:(加入参数的传递)

  

covergroup,coverpoint,cross point定义的option,type_option没见过用处。

  

  

  auto_bin_max只对用户不定义bins的情况,auto的大小的限制;

  weight,在不同的层次,表示对上一级贡献的百分比。cross中的weight,表示该cross对整个group的coverage report的影响。

SV coverage的更多相关文章

  1. 转:SYNOPSYS VCS Makefile文件编写与研究

    SYNOPSYS VCS Makefile文件编写与研究 这个Makefile是synopsys提供的模板,看上去非常好用,你只要按部就班提供实际项目的参数就可以了.我们来看这个文件的头部说明:mak ...

  2. Cadence UVM基础视频介绍(UVM SV Basics)

    Cadence关于UVM的简单介绍,包括UVM的各个方面.有中文和英文两种版本. UVM SV Basics 1 – Introduction UVM SV Basics 2 – DUT Exampl ...

  3. SV processses

    SV中的structured procedure: 1)intial procedure,keyword只有initial:最开始被调用一次: 2)always procedure,keyword包括 ...

  4. SV中的覆盖率

    SV采用CRT的激励形式,而判断验证进度的标准也就是覆盖率(coverage). 覆盖率的两种指定形式:显式的,直接通过SV来指定出的,如SVA,covergroup. 隐式的,在验证过程中,随&qu ...

  5. coverage report

    转载:http://blog.sina.cn/dpool/blog/s/blog_7853c3910102yn77.html VCS仿真可以分成两步法或三步法, 对Mix language, 必须用三 ...

  6. 挣值管理(PV、EV、AC、SV、CV、SPI、CPI) 记忆

    挣值管理法中的PV.EV.AC.SV.CV.SPI.CPI这些英文简写相信把大家都搞得晕头转向的.在挣值管理法中,需要记忆理解的有三个参数:PV.AC.EV.     PV:计划值,在即定时间点前计划 ...

  7. Python 代码覆盖率统计工具 coverage.py

    coverage.py是一个用来统计python程序代码覆盖率的工具.它使用起来非常简单,并且支持最终生成界面友好的html报告.在最新版本中,还提供了分支覆盖的功能. 官方网站: http://ne ...

  8. test homework ~ coverage about method printPrimes

    /******************************************************* * Finds and prints n prime integers * Jeff ...

  9. test lab ~ triangle test by using junit and coverage

    first set up a new folder as your test class place, and then let your package in test class folder b ...

随机推荐

  1. git常见用法介绍

    1. git help:帮助 git help xxx git xxx --help 2. git init:初始化 git init 3. git config:配置 常见用法 git config ...

  2. Ubuntu下创建新用户后,不能使用管理员用户下安装的Anaconda

    解决办法: 将管理员用户下Anaconda的安装环境添加到新用户下的环境变量里,具体操作: 系统切换到新用户下: vim .bashrc #添加Anaconda的环境变量 source .bashrc ...

  3. shadowMap

    采用PCF软化阴影,感觉还是不够柔软

  4. [转]springboot2 webflux 响应式编程学习路径

    原文链接 spring官方文档 springboot2 已经发布,其中最亮眼的非webflux响应式编程莫属了!响应式的weblfux可以支持高吞吐量,意味着使用相同的资源可以处理更加多的请求,毫无疑 ...

  5. 美客分销商城-接力购源码系统,全开源代码可进行二次开发,微信小程序分销商城

    1. 准备服务器.域名(SSL证书).认证的微信小程序.微信支付商户号 2. 系统功能简介 三.演示案例,微信扫码查看 四.后台管理系统 五. 全套开源源码,进行二次开发 六.本系统完美运营,全套代码 ...

  6. Spring 注入枚举数组

    在spring的配置文件xml中 示例: <!--注入枚举数組--> <bean id="writeMapNullValue" class="org.s ...

  7. [BTS] BizTalk EDI character set and separator settings

    最近一个项目上遇到需要对EDI头.分隔符.小数点等配置项进行设置. 这里只记录一下结果,原理不记了,多看MSDN. UNB1中的信息在BizTalk中是不会体现在EDI输出文件中的,双方协商好即可. ...

  8. 从0移植uboot(六) _实现网络功能

    为uboot添加网卡功能可以让uboot通过tftp下载内核, 方便我们的开发, 对于网卡功能的移植,我们依然在在一遍又一遍的实践这个uboot改造的套路. 找运行逻辑,即插入代码的位置. 根据运行逻 ...

  9. 半深入理解CSS3 object-position/object-fit属性

    半深入理解CSS3 object-position/object-fit属性 转载:https://www.zhangxinxu.com/wordpress/2015/03/css3-object-p ...

  10. Piggy-Bank 完全背包

    来源hdu1114 Problem Description Before ACM can do anything, a budget must be prepared and the necessar ...