引言
完成前5节的内容之后,一个工程的设计阶段基本完成,接下来会进入对设计代码的验证阶段。本节着重介绍一下代码覆盖率统计的内容。
一、仿真覆盖率介绍
在仿真测试中,测试的全面性和充分性一般通过测试覆盖率来体现。在仿真测试的过程中,针对VHDL语言的测试,普遍要收集的数据应包括语句、分支、条件、表达式和状态机。需要注意的是,仿真覆盖率不应仅仅包含代码覆盖率,还需要包含功能覆盖率才行。所以,做仿真覆盖率统计工作一般以第4小节设计的测试用例为基础进行。针对第4小节的测试用例不能覆盖到的统计项,再增加测试用例进行测试统计。
1.1分支覆盖率
分支覆盖率针对的是类似if、case这样的分支结构语句,看看是否代码中的每个分支都被执行到了。
1.2语句覆盖率
语句覆盖率关注的是语句有没有被执行到,如果有没有被执行到的语句,要考虑是因为测试用例的设计没有被覆盖到还是因为冗余代码造成的。
1.3条件覆盖率与表达式覆盖率
条件覆盖率可以看作是对分支覆盖率的细节补充。与条件覆盖率类型,当一个表达式出现在一个赋值表达式的右边时,对应的覆盖率就是表达式覆盖率。