为了确保验证的完备性,我们需要量化验证目标。systemverilog提供了一套丰富的覆盖率建模方式。 有两种覆盖率建模方法:
functional coverage。用户指定覆盖率的目标,所需覆盖的值和收集的时刻。完成所有覆盖率的收集是确定dut验证完成情况的指标之一。
code-coverage。通常情况下,创建一个code-coverage很简单,不需要花费很多精力。例如,行覆盖率、toogle覆盖率和fsm(有限状态机)覆盖率都是code-coverage。code-coverage的缺点是很难将code-coverage映射到验证特性目标上,code-coverage没有考虑到high-level的事务级行为。
建议从functional coverage开始建立一个功能覆盖率模型来表示high-level验证目标,之后可以使用code-coverage作为作为functional coverage的补充。
在code-coverage很低的情况下达到100%的functional coverage,通常意味着需要完善和加强functional coverage建模。
实现functional coverage model
一个验证组件应该有一个针对协议的功能覆盖模型。你可能想禁用一些不重要或不需要验证的覆盖点。例如,你可能不需要测试系统中所有的总线事务类型。
你可能还想扩展功能覆盖模型,在验证组件覆盖率和系统中的其他属性或其他接口验证组件之间建立关联。例如,你可能想确保当fifo已经满时所有类型的事务都被发送过,这就需要事务类型与fifo-状态之间的cross。
启用和禁用coverage
验证ip开发者应提供配置,允许验证环境集成者或测试用例开发人员控制覆盖率模型的enable和disabe。验证vip文档应该包括哪些属性可以被设置来影响覆盖率的收集,最基本的控制是决定是否要收集覆盖率。
uvm_config_db#(int)::(this,ubus0.masters[0].monitor, coverage_enable, 0);或者ubus0.masters[0].monitor.coverage_enable = 0;
IPhone IOS是什么意思?
LiFePO4是什么东西?
高通扩展骁龙计算生态系统 基于AMD RDNA 2架构的GPU推出
高熵微区互锁的全固态聚合物电解质
什么是等效电路模型?等效电路元件有哪些?
SystemVerilog的覆盖率建模方式
政策赋能 深圳坪山区科技产业规划及发展概况
设计和制造的较量 IC分为有产者和无产者
小米6跑分超110万?鲁大师官方:网友PS的图片
夏普最快一季度量产OLED 并推出OLED屏智能手机
中国联通正式提出了打造五新联通的重要发展思路
色环电阻的识别小技巧
为什么智能电表电费降低,用电量却提升
瑞丰光电RGB实力赋能户外屏显
PCBA功率最大化的方法:并联使用阻抗
基于labviewFPGA数据传输技术
百度华为合作致力于打造聪明的AI手机
华为WatchGT已在美国亚马逊上售罄 售价为199.99美元
AMD邓元鋆:互联新时代 精彩“芯”生活
网络分析仪的应用和维修选型维护