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

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

3天内不再提示

EDA仿真验证环境中的激励、检查和覆盖率

jf_GctfwYN7 来源:芯片验证工程师 2023-04-15 10:13 次阅读

下图是一个典型的EDA仿真验证环境,其中主要的组件就是激励生成检查覆盖率收集

这三者缺一不可。

b6af3e12-daca-11ed-bfe3-dac502259ad0.png

· 激励生成是我们验证环境的第一个关键组件,用于驱动DUT到一个预期的状态。

· 在DUT正在处理激励以及完成激励处理之后我们需要实时的或者离线的checker机制来确保芯片按照预期行为工作。

· 覆盖率是最终的量化机制、也可以理解为激励的反馈机制。我们不断地激励着DUT,同时也在进行检查,整个过程中通过覆盖率的量化来反馈验证工程师有没有验证完成?哪里还需要继续验证?

下图是覆盖率反馈到激励,以及表明验证是否完成的一个流程。在这个流程中,我们不断地根据覆盖率调整激励发送的随机机制,直到只剩几个边界场景很难覆盖到,我们再构造定向用例

b6c68cca-daca-11ed-bfe3-dac502259ad0.png

这是一个比较高效的现代EDA仿真验证流程,整个流程中激励生成、检查机制和覆盖率量化都需要保证完备性。

完备的激励+完备的检查机制+完备的覆盖率量化才能够获得有信心的验证结果,缺一不可。另外,这三者中的任何一个做到绝对的完备就是非常难的。

· 如果覆盖率完备了,也可以保证激励的完备。如果发现用例构造过程非常困难,大概率是验证环境架构的不合理。

要么趋向于定向用例,你需要维护非常多的sequence,经常一个需求会让你改动多个sequence;要么趋向完全随机,可控性比较差。这两个情况都降低验证效率。

· checker是必须要保证完备的,否则就算你激励覆盖到了某个场景,你也识别不出来问题。验证的重点是发现所有的bug,然后才是尽可能地保证激励完备性。如果非要分个优先级,个人觉得checker的完备要高于激励的完备。因为如果你遗漏了某个bug,更上层的验证环境也许可以通过集成你的checker来发现问题。

· 覆盖率也非常重要。否则就是在黑暗中胡乱开枪射击,你不知道去过哪里,也就不知道后面要往哪里去了

保证激励、检查和覆盖率的完备,全部都是难点。





审核编辑:刘清

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

    关注

    4

    文章

    268

    浏览量

    32037
  • EDA仿真技术
    +关注

    关注

    0

    文章

    5

    浏览量

    5455
  • DUT
    DUT
    +关注

    关注

    0

    文章

    190

    浏览量

    12543

原文标题:IC干货 | 验证环境中的激励、检查和覆盖率

文章出处:【微信号:IC修真院,微信公众号:IC修真院】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    相关推荐

    一个高效的现代EDA仿真验证流程

    下图是一个典型的EDA仿真验证环境,其中主要的组件就是激励生成、检查
    的头像 发表于 04-13 09:27 2198次阅读

    怎么用Vivado做覆盖率分析

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

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

    在做RTL仿真验证时,覆盖率收集往往是我们在验证需要注意的地方,本篇就SpinalHDL
    发表于 06-24 15:56

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

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

    结合覆盖率驱动技术的RVM验证方法学在SOC验证的应用

            本文首先介绍RVM验证方法学和覆盖率驱动技术,然后详细分析如何使用结合覆盖率驱动技术的RVM验证
    发表于 09-05 08:53 15次下载

    针对功能覆盖率验证过程

    针对功能覆盖率验证过程神州龙芯集成电路设计公司徐伟俊 杨鑫 陈先勇 夏宇闻[摘要]:本文在介绍传统验证过程及其局限性的基础上,阐述了针对功能覆盖率
    发表于 12-23 16:12 13次下载

    基于覆盖率的功能验证方法

    随着半导体技术的发展,验证已经逐渐成为大规模集成电路设计的主要瓶颈。首先介绍传统的功能验证方法并剖析其优缺点,然后引入传统方法的一种改进基于覆盖率验证方法,最后
    发表于 06-29 10:46 22次下载
    基于<b class='flag-5'>覆盖率</b>的功能<b class='flag-5'>验证</b>方法

    Verilog代码覆盖率检查

    Verilog代码覆盖率检查检查验证工作是否完全的重要方法,代码覆盖率(codecoverge)可以指示Verilog代码描述的功能有多少在仿真
    发表于 04-29 12:35 8512次阅读

    使用 Veloce 完成局部系统级协议检查覆盖率收敛

    使用 Veloce 完成局部系统级协议检查覆盖率收敛
    发表于 09-05 08:39 4次下载
    使用 Veloce 完成局部系统级协议<b class='flag-5'>检查</b>和 <b class='flag-5'>覆盖率</b>收敛

    嵌入式代码覆盖率统计方法和经验

    代码覆盖率是衡量软件测试完成情况的指标,通常基于测试过程检查的程序源代码比例计算得出。代码覆盖率可以有效避免包含未测试代码的程序被发布。 1. 问题背景 代码
    的头像 发表于 01-06 15:06 3262次阅读
    嵌入式代码<b class='flag-5'>覆盖率</b>统计方法和经验

    统计嵌入式代码覆盖率的方法和经验

    代码覆盖率是衡量软件测试完成情况的指标,通常基于测试过程检查的程序源代码比例计算得出。代码覆盖率可以有效避免包含未测试代码的程序被发布。 1. 问题背景 代码
    的头像 发表于 03-29 11:58 2043次阅读
    统计嵌入式代码<b class='flag-5'>覆盖率</b>的方法和经验

    脱离代码谈芯片验证关键指标:覆盖率

    验证覆盖率(Verification Coverage)的存在是为了试图回答这样一个问题:“你怎么知道验证已经完成?”
    的头像 发表于 04-17 10:04 4501次阅读

    SystemVerilog的覆盖率建模方式

    为了确保验证的完备性,我们需要量化验证目标。SystemVerilog提供了一套丰富的覆盖率建模方式。
    的头像 发表于 06-25 10:44 1275次阅读

    Vivado仿真器和代码覆盖率简析

    编写 HDL 通常是 FPGA 开发耗时最少的部分,最具挑战性和最耗时的部分可能是验证。根据最终应用程序,验证可能非常简单,也可能非常复杂,简单的话只需对大多数功能进行检查或执行完全
    的头像 发表于 08-03 09:23 2183次阅读
    Vivado<b class='flag-5'>仿真</b>器和代码<b class='flag-5'>覆盖率</b>简析

    利用静态检查工具完善功能安全测试覆盖率

    在功能安全测试覆盖率是比较重要的概念,也是在验证过程通常需要花费时间较多的步骤,如果能借助于静态检查工具的死逻辑查找和声明、测试用例自动
    的头像 发表于 09-05 09:15 462次阅读
    利用静态<b class='flag-5'>检查</b>工具完善功能安全<b class='flag-5'>中</b>测试<b class='flag-5'>覆盖率</b>