0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SystemVerilog的覆盖率建模方式

芯片验证工程师 来源:芯片验证工程师 2023-06-25 10:44 次阅读

为了确保验证的完备性,我们需要量化验证目标。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;




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 有限状态机
    +关注

    关注

    0

    文章

    51

    浏览量

    10270
  • FIFO存储
    +关注

    关注

    0

    文章

    102

    浏览量

    5894
  • FSMC
    +关注

    关注

    0

    文章

    54

    浏览量

    37932
  • Verilog语言
    +关注

    关注

    0

    文章

    113

    浏览量

    8159
  • DUT
    DUT
    +关注

    关注

    0

    文章

    180

    浏览量

    11998

原文标题:开发一个覆盖率模型

文章出处:【微信号:芯片验证工程师,微信公众号:芯片验证工程师】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    怎么用Vivado做覆盖率分析

    在做仿真的时候往往会去做代码覆盖率和功能覆盖率的分析,来保证仿真是做的比较充分完备的。
    的头像 发表于 01-03 12:34 589次阅读
    怎么用Vivado做<b class='flag-5'>覆盖率</b>分析

    请问依靠RM48系列MCU的自身资源是否可以实现对时钟的高覆盖率诊断?

    本帖最后由 一只耳朵怪 于 2018-5-22 16:25 编辑 MCU型号:RM48目标功能:实现对时钟的高覆盖率诊断背景描述:1. 根据IEC61508-2:2010对时钟高覆盖率诊断
    发表于 05-22 01:58

    为什么覆盖率分析师没有证明电阻器已经过测试?

    您好,我对Coverage Analyst有疑问。我使用的是Coverage Analyst版本5.21p。覆盖率分析师完成覆盖率报告确定(html文件),但我对报告中显示的结果有疑问: - 覆盖率
    发表于 01-07 16:06

    如何改善5G覆盖率

    改善5G覆盖率的方法
    发表于 12-15 07:52

    如何增加板级互连的故障诊断覆盖率

    在边界扫描机制引入电路设计的前提下,如何增加板级互连的故障诊断覆盖率
    发表于 04-26 06:37

    如何提高DFT设计测试覆盖率

    提高DFT设计测试覆盖率的有效方法是什么
    发表于 05-07 06:37

    怎么提高非随机图形设计的故障覆盖率

    怎么提高非随机图形设计的故障覆盖率?为LBIST设计提高故障检测能力的技术是什么?
    发表于 05-08 07:11

    VCO中的子带覆盖率是否跟开关电容的取值有关?

    仿真VCO时候,开关电容阵列中开关电容的值取30fF,子带呈现不规律变化。当取100fF时,子带才呈现比特位控制那样规律变化,但这样子带覆盖率会存在问题。求遇到过同样问题的大神解答下!感谢!
    发表于 06-25 06:19

    嵌入式仿真平台SkyEye的覆盖率分析相关资料下载

    代码执娜行覆盖情况的功能,来检测代码中未执行覆盖情况。在覆盖率分析时需要分析嵌入式软件的指令覆盖率、指令函数覆盖率、指令函数分支
    发表于 12-17 07:27

    关于SpinalHDL中的验证覆盖率收集简单说明

    成Verilog/Systemverilog电路交由Verilator进行仿真,而激励则由scala本身提供,两者之间通过verilator的VPI进行通信交流。SpinalHDL覆盖率的收集在
    发表于 06-24 15:56

    重点厘清覆盖率相关的概念以及在芯片开发流程中跟覆盖率相关的事项

    。提个小建议,即使对SV相关语法很熟悉,实现覆盖率模型的时候还是使用最直接和最简单的方式。这样可以提高可读性,便于维护和评审。03 代码覆盖率代码覆盖率,被用来度量RTL中哪些代码被仿
    发表于 09-14 11:57

    Systemverilog覆盖率的合并和计算方式

      在systemverilog中,对于一个covergroup来说,可能会有多个instance,我们可能需要对这些instance覆盖率进行操作。  只保存covergroup type的覆盖率
    发表于 03-21 14:24

    怎么才能写出高覆盖率的Verilog代码?

    设计的角度上来讨论,如何写出高覆盖率的Verilog代码。assign慎用按位运算逻辑, | ^ ^~和三目运算符,慎用。使用这样的描述方式本身功能并没有什么问题,而且写起来很爽,但是在很多
    的头像 发表于 06-01 10:13 2384次阅读

    覆盖率的Verilog代码的编写技巧

    设计工程师需要关心的主要有行覆盖率(Block),条件覆盖率(Expression),翻转覆盖率(Toggle),状态机覆盖率。本文从ASIC设计的角度上来讨论,如何写出高
    的头像 发表于 05-26 17:30 3718次阅读

    SystemVerilog实用知识点:覆盖率之Function Coverage

    SystemVerilog是一名芯片验证工程师,必须掌握的一门语言,其中Function Coverage是必须要懂的知识点之一;
    的头像 发表于 06-04 16:30 4125次阅读
    <b class='flag-5'>SystemVerilog</b>实用知识点:<b class='flag-5'>覆盖率</b>之Function Coverage