1、代码覆盖率
这种方式主要包括行覆盖率、路径覆盖率、翻转覆盖率、有限状态机覆盖率。其中,
行覆盖率:衡量多少行代码被执行过;
路径覆盖率:衡量穿过代码和表达式的路径有多少被执行过;
翻转覆盖率:衡量哪些单bit变量的值为0或者1;
有限状态机覆盖率:衡量状态机中哪些状态和状态转换已经被执行过。
2、功能覆盖率
这种方式通过收集设计在实际环境中的行为来说明设计所要求的全部功能特性是否已经满足,换言之,功能覆盖率与设计意图紧密相连,其可以发现设计中被漏掉的情况,而代码覆盖率却不能发现。
3、断言覆盖率
断言是用于一次性或在一段时间内核对两个设计信号之间关系的声明性代码。断言常用于检查错误,一旦检测出错误,仿真就会立刻停止。使用断言覆盖率可以测量断言被触发的频繁程度。