系统与设计
的意见

简化SystemVerilog功能覆盖率

如何使用本机SystemVerilog结构作为指标验证关闭。

受欢迎程度

假设你有一块你需要验证。你怎么知道刺激要使用足够详尽的和你有了必要的场景/情况证明它是否正常工作?这就是功能覆盖率。SystemVerilog的功能覆盖结构允许您量化刺激通过记录的完整性值发生在你的信号。

考虑一个8位地址信号,paddr,和一个32位的数据信号,pwdata。分配一个coverpoint信号模拟器将直接追踪这些信号在模拟和记录的数量。对于每个coverpoint,垃圾箱可以创建组织成有意义的类别可能的信号值。最后,covergroup用于封装,使用新的()构造函数实例化。关联covergroup与时钟事件也是一个好方法触发覆盖抽样。

每个covergroup包含配置选项,允许定制。图1所示的例子中使用选择,确定箱子的数量为pwdata创建信号和covergroup是否是静态的或者应该有一个单独的covergroup所有实例为每个实例的新()构造函数。其他选项允许您更改的加权结构covergroups和指定目标覆盖命中率和所需数量的支安打为每本;加上其他选项。

交叉覆盖也利用这有助于回答这个问题:对于每个paddr本,有足够的各种pwdata信号吗?见图2中的覆盖率报告,测试了几百个不同的数据值为每个paddr本pwdata的整个32位范围。这应该提供足够的信心,刺激相当多样化。这也可以帮助你决定如果你应该限制你的刺激更多勉强达到大量的验证结果。

Riviera-PRO完成运行模拟,巧妙地组织与彩色亮点可以生成HTML报告,审查功能覆盖率。报告包含的信息在每个covergroup coverpoint,垃圾箱。相关报道等信息的数量,覆盖率百分比(目标)和覆盖状态都显示为一个层次树。这个报告可以成为一个方便的文件共享与验证团队测量验证的进展。



留下一个回复


(注意:这个名字会显示公开)

Baidu