SV精通6-①覆盖率类型-②功能覆盖策略-③覆盖组

1.概述

2.覆盖率反馈回路
例题
答案:AB。
C的错误原因是,不断重复递交回归测试覆盖率只会会增长到某一个数字,需要重新改变约束才能继续增加。

2.代码覆盖率(工具自带,不用自己写)
答案:C

3.断言覆盖率(需要自己写)
assert
cover property

4.漏洞率曲线(缺陷曲线)

5.功能覆盖率(要自己写)
  • 代码覆盖率是衡量设计的实现情况;而衡量设计的功能是否被遗漏,需要功能覆盖率。
覆盖率为百分之一百,设计也许还会有漏洞。 答案:BCD
②功能覆盖策略

1.收集信息而非数据

  • 应该着眼于寄存器地址是合法还是非法,寄存器域是非法还是合法,而不是具体的寄存器地址数值。

  • 信号数量范围大,需要化繁为简,拆分为多个小范围再加上边界情况。

  • 着眼于关心感兴趣的状态,而不是具体的数值。


2.只测量需要的内容

收集覆盖率时会降低仿真性能,收集功能覆盖率数据的开销很大,所以应该只测量我们需要的。


3.验证的完备性

  • 覆盖率包括:功能覆盖率、断言覆盖率、代码覆盖率。

  • 代码覆盖率相比于功能覆盖率而言,会更简单的增长。

  • 需要同时有高的代码覆盖率和高的功能覆盖率。

例题

答案:CD

③覆盖组

1.概述——covergroup(需要被例化)和class类似
  • 定义 covergroup有多个coverpoint,说明 covergroup可以对多个变量做采样,因此定义 covergroup时要明确说明要采样哪些变量,要在什么时间采样(声明采样事件是什么),针对这些采样变量,你感兴趣关心的数值(想采样到的数值)是什么。

2.在类里定义covergroup
  • 采样方法A:“.sample()函数”是采样函数
  • 采样方法B:“@()“,等待某些信号后自动采样
  • coverpoint tr.port;,其中 tr.port是要被采样的变量。

3.covergroup的采样触发
阻塞语句(wait(ready)或者@(posedge clk)),例如下所示。
答案:ABC

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值