在芯片验证岗位的面试过程中,有很多面试官喜欢问这个问题,目的是为了考察面试者对CDV(Coverage Drive Verification)的理解。本文讨论下这个问题。
1.代码覆盖率低 + 功能覆盖率高
1.1)有可能是cover group写得不完备,进一步地,测试点分解和test plan可能也不完备,尤其是对于初学者而言。遇到这种现象,PL应当警觉,需要明确是否存在测试点,test plan, cover group不完备的情况。
1.2)DUT中有大量冗余代码。或者集成进来的公共IP只用到其中一部分功能。
2.代码覆盖率高 + 功能覆盖率低
2.1) 功能覆盖率的sample有问题,即相关的场景都打到了,但cover group没有采样到,这个对于新开发的验证环境容易出现。
2.2)cover group中的一些cross bin或者conner点没覆盖到,需要增加direct case,修改随机约束或者增加回归次数。项目经过这个过程是比较正常的。
本文探讨了芯片验证中代码覆盖率与功能覆盖率的关系。分析了代码覆盖率低而功能覆盖率高的情况可能是由于covergroup不完整或被验证单元存在冗余代码。同时讨论了代码覆盖率高而功能覆盖率低的现象,可能是covergroup采样不足或某些交叉项未覆盖。
707

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



