[DV]如何找出击中某个cover bins的testcase?

如何找出击中某个Cover bins的Testcase

       前言:在数字电路验证中,我们通常是通过coverage分析来评价验证工作是否完备(相对完备)。在验证工作进行的过程中,我们也需要在Wavefrom上面确认某个coverpoint或者cover property是否真的击中了。那么我们怎么通过已经击中的cover bins来找到对应的Wavefrom呢?本文将介绍一种方法。

一、需要在merge vdb的时候添加Option

  • 在使用urg merge vdb的时候,需要添加如下Option
-show tests

  • 例如:
urg -full64 -dbname digrf_dfe_dsb_top.vdb -show tests -dir  sim_a.vdb sim_b.vdb & 

二、需要通过urgReport目录下的dashboard.html文件来找Testcase

 2.1 如何打开dashboard.html文件?

  1. 可以使用如下命令打开改文件
firefox dashboard.html &

 2.2 如何找到击中某个cover bins的Testcase?

  1. 进入groups,找到coverage实例,点击进入
  2. 在Bins下面寻找目标,看这个被击中的bins对应的TEST是多少,例如:T1、T120
  3. 进入tests,在tests下面会有tests.html | tests1.html | tests2.html | tests3.html | .............................................
  4. 分别进入上述子目录,然后按Ctrl+F,搜索T1、T120等TEST编号
  5. 然后就可以确定打中该cover bins的Testcase

自动化选择合适的bins数量通常是数据可视化和数据分组的一个步骤,特别是在创建直方图时。自动化选择bins数量的方法有多种,其一种常见的方法是使用 Freedman-Diaconis 规则,另一种是Scott的规则。以下是这两种方法的一个简单介绍: 1. Freedman-Diaconis 规则:这种方法基于数据的四分位数间距(IQR)和样本数量。bins的数量可以通过以下公式计算: bins = (Q3 - Q1) / (2*IQR*n^(-1/3)) 其 Q3 和 Q1 分别是数据的第三个和第一个四分位数,IQR 是四分位数间距(Q3 - Q1),n 是数据点的数量。 2. Scott的规则:这种方法基于标准差和样本数量。bins的数量可以通过以下公式计算: bins = 3.5 * σ / n^(1/3) 其 σ 是数据的标准差,n 是数据点的数量。 在编程,我们可以根据这些公式来实现自动选择bins数量的功能。以Python为例,可以使用numpy库来计算所需的统计数据,并应用上述规则来计算bins的数量。以下是一个使用Freedman-Diaconis规则的例子: ```python import numpy as np def select_bins_by_freedman_diaconis(data): q1 = np.percentile(data, 25) q3 = np.percentile(data, 75) iqr = q3 - q1 n = len(data) bin_width = (2 * iqr) * n**(-1/3) bins = int((data.max() - data.min()) / bin_width) return bins # 示例数据 data = np.random.randn(1000) # 计算bins的数量 bins_count = select_bins_by_freedman_diaconis(data) print("Selected bins count:", bins_count) ``` 这段代码首先计算了数据的四分位数间距,然后使用Freedman-Diaconis规则计算了bins的数量,并打印出来。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

元直数字电路验证

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值