覆盖率

为了测量功能覆盖率(functional verification),首先要设定验证计划(verification plan)。
在测试平台中对变量和表达式的值进行采样。这些采样点就是覆盖点(coverpoint)。
而覆盖组(covergroup)就是包含了同一时间采集的一个或多个数据点。

covergroup CovPort;
    coverpoint tr.port;
endgrouop

覆盖组必须实例化后才能够用来收集数据,

CovPort ck;  //实例化

覆盖率信息是如何收集到的?
当在一个覆盖点上指定一个变量或表达式时,SystemVerilog便会创建很多的仓(bin)来记录每个数值被采样的次数。仓是衡量功能覆盖率的基本单位。如果采样一个单比特变量,最多会有两个仓会被创建。每次覆盖组被触发,systemVerilog都会在一个或多个仓里留下标记。每次仿真的结尾,所有带标记的仓会被汇聚到一个新创建的数据库中。之后使用分析工具读取这些数据库就可以生成覆盖率报告,包括设计各部分和总体的覆盖率。

systemVerilog自动创建仓,但也可以限制自动创建的仓的数目。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值