systemverilog中关于覆盖率定义、例化、采样

发布时间:2024年01月24日

典型例子:

name:?
  • name可以不与这个覆盖率的名字相同;如下

?关键词iff:
  • ?可以使用关键词iff给coverpoint或者cover group添加条件
翻转覆盖率:
  • 0 => 1翻转
wildcard覆盖率:
  • 使用关键词wildcard创建多个状态或者翻转,在表达式中,任何X,Z或者?都会被当成0或1的通配符?
忽略的bin:
  • 对于那些不计算功能的域值可以使用ignore_bins来排除,最终不会计入覆盖路
    ignore_bins hi = {[6,7]};   //忽略数值6,7
非法的bin:
  • 使用illegal_bins对特定的bin进行标识
    illegal_bins hi = {[6,7]};   //如果出现6,7便报错
交叉覆盖率:
  • 如果记录在某一时刻,多个变量之间值的组合情况,需要使用交叉覆盖率(cross)
  • cross语句只允许带coverpoint或者简单的变量名
    class Transaction;
        rand bit [3:0] kind;
        rand bit [2:0] port;
    endclass
    
    Transaction tr;
    
    covergroup Covport;
        kind: coverpoint tr.kind;
        port: coverpoint tr.port;
        cross kind, port;        //交叉覆盖率
    endgroup
排除部分cross bin?
文章来源:https://blog.csdn.net/weixin_49816194/article/details/135768937
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。