网站首页

人工智能P2P分享搜索全网发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

SystemVerilog的覆盖率建模方式

时间:2023-06-25 10:44

人气:

作者:admin

标签: FSMC  DUT  有限状态 

导读:为了确保验证的完备性,我们需要量化验证目标。SystemVerilog提供了一套丰富的覆盖率建模方式。...

为了确保验证的完备性,我们需要量化验证目标。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开发者应提供配置,允许验证环境集成者或测试用例开发人员控制覆盖率模型的EnableDisabe。验证VIP文档应该包括哪些属性可以被设置来影响覆盖率的收集,最基本的控制是决定是否要收集覆盖率。

uvm_config_db#(int)::(this,"ubus0.masters[0].monitor","coverage_enable",0);


或者
ubus0.masters[0].monitor.coverage_enable = 0;




审核编辑:刘清

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信