一、验证覆盖的完备性
1.1 验证覆盖率的目的
完备的覆盖率测量结果和漏洞增长曲线,可以帮助确认设计是否被完整地验证过。
1.2 代码(功能)覆盖率低(高)
如果功能覆盖率高但代码覆盖率低,这说明验证计划不完整,测试没有执行设计的所有代码。如果代码覆盖率高但功能覆盖率低,这说明即使测试平台很好地执行了设计的所有代码,但是测试还是没有把设计定位到所有感兴趣的状态上。我们的目标是同时驱动高的代码覆盖率和功能覆盖率。
二、covergroup
2.1 coverpoint相关定义
coverpoint:为了测量功能覆盖率,应首先编写verification plan和相应的用于仿真的可执行版本,在sv测试平台中对变量和表达式的数值进行采样,这些采样的地方就是coverpoint;
2.2、covergroup定义以及使用
covergroup:在同一时间点的多个coverpoint被放在一起,那就是covergroup;
cover