一:类型
line(行)覆盖率,Toggle(跳变)覆盖率,condition(条件)覆盖率,FSM(状态机)覆盖率,path(路径)覆盖率
二:覆盖率
1:行覆盖率
一般要求100%,例如缺else,default
例子如下,缺少else,default;但这不一定是错误,可能故意为之;二次检查
2:条件覆盖率
代码中有if语句,实际可能出现某种情况,但程序没有覆盖,则报告
3:Toggle coverage
信号是否有0->1,1->0的跳变;x->1,x->0不会报告
4:FSM覆盖率
报告state1-state2没有转换
5:path覆盖率
路径是否覆盖
三:什么时候使用覆盖率
1:behavior code
line,condition,path,FSM
2:RTL code
line, condition,path,Toggle(not command),FSM
3:Gate-level code
Toggle
四:覆盖率编译执行开关
1:compile