概述
功能验证的目标在于确定设计有关的功能描述是否被全部实现了。
这一检查中可能会存在一些不期望的情况:(要尽量发现)
- 一些功能没有被实现
- 一些功能被错误地实现了
- 一些没有被要求的功能也被实现了
我们无法通过代码覆盖率得知要求的功能是否被实现了,而需要显性地通过功能覆盖率与设计功能描述做映射,继而量化功能验证的进程。
所以功能覆盖率极其重要,用来量化验证的指标。
覆盖组(cover group)
覆盖组可以在以下中定义(覆盖组与类相似,在一次定义以后便可以多次进行例化)
- 类/接口
- 模块
- 程序(program)
在类中的覆盖组也可以采集类的成员变量。
覆盖组应该定义在适当的抽象层次上。
一个类/接口中,中往往可以定义多个覆盖组 。多个覆盖组可以在测试过程中,根据需要将它们使能或者禁止。
覆盖组含有
- 覆盖点(coverpoint)(可以定义多个覆盖点,一个覆盖组包含了一个或者多个数据点,全都在同一时间采集。)
- 选项(option) (有选项可以配置)
- 形式参数( argument)(外部传入变量,方便复用)
- 可选触发(trigger event) (覆盖组需要给采样的变量定义采样事件)
覆盖组为了采样变量,必须先定义采样事件。只要采样事件被触发后,覆盖组监测的变量才会在该时刻被采样。(对任何事务的采样都

本文详细介绍了功能验证的重要性,包括验证目标、可能存在的问题和功能覆盖率的概念。覆盖组作为验证工具,可在类、模块或程序中定义,并通过覆盖点和交叉覆盖率来量化验证进度。覆盖点和覆盖仓用于数据采样和变化跟踪,而交叉覆盖率则涉及多个变量的联合覆盖。文章还举例说明了如何定义和使用覆盖组、覆盖点和交叉覆盖率,以及各种覆盖选项和采样事件。
最低0.47元/天 解锁文章
1713

被折叠的 条评论
为什么被折叠?



