芯片验证过程中代码覆盖率和功能覆盖率一高一低意味着什么?

本文探讨了芯片验证中代码覆盖率与功能覆盖率的关系。分析了代码覆盖率低而功能覆盖率高的情况可能是由于covergroup不完整或被验证单元存在冗余代码。同时讨论了代码覆盖率高而功能覆盖率低的现象,可能是covergroup采样不足或某些交叉项未覆盖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在芯片验证岗位的面试过程中,有很多面试官喜欢问这个问题,目的是为了考察面试者对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,修改随机约束或者增加回归次数。项目经过这个过程是比较正常的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值