【覆盖率类型 & 覆盖策略覆盖组_2024.01.26】

本文探讨了IT设计验证中的关键概念,包括代码覆盖率、功能覆盖率、断言覆盖率,以及如何通过Makefile和covergroup进行覆盖率测量。还提及了漏洞率的监控和不同采样触发方式,强调了在实现过程中关注验证完备性和有效数据收集的重要性。
摘要由CSDN通过智能技术生成

在这里插入图片描述

覆盖率类型

覆盖率:衡量设计验证的完备性

代码覆盖率

检测对设计代码运行程度的衡量,达到100%并不代表验证的工作已经完成(可能某些功能并未设计)

  • line coverage
  • paths coverage
  • toggle coverage //所有变量都有过0,1翻转
  • FSM coverage //状态机中所有状态都已运行到
  • condition coverage
  • branch coverage

功能覆盖率

确保设计在实际环境中的行为正确

断言覆盖率

  • 用于一次性地或在一段时间内核对两个设计信号之间关系的声明性代码
  • 测量某断言被触发的频率程度
  • cover property测量关心的信号的值或状态是否发生

漏洞率

在一个项目实施期间,应保持追踪每周有多少个漏洞被发现

实现方法

Makefile文件中:
在这里插入图片描述

覆盖策略覆盖组

  • 收集信息而非数据
  • 只测量需要的内容
  • 验证的完备性

covergroup

  • 与类相似,一次定义后可多次实例化
  • 可包含一个或多个coverpoint,且都在同一时间采集
  • 可定义在类中,也可以定义在interface或者module中
  • 可采样任何可见的变量,如程序变量、接口信号或者设计端口,接口中cb的output信号不可采样

covergroup的采样触发

  • 直接使用sample()
  • 使用事件触发

类外使用方法

在这里插入图片描述

在这里插入图片描述

类内使用方法

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iKUNqa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值