欢迎光临专业集成电路测试网~~欢迎加入IC测试QQ群:111938408

专业IC测试网

当前位置: 网站主页 > 相关技术 > 芯片制造 >

IC验证干货|验证环境中的激励、检查和覆盖率

时间:2024-06-25 21:48来源:芯片验证工程师 作者:ictest8_edit 点击:

 

下图是一个典型的EDA仿真验证环境,其中主要的组件就是激励生成、检查和覆盖率收集。
这三者缺一不可。

 

激励生成是我们验证环境的第一个关键组件,用于驱动DUT到一个预期的状态。

在DUT正在处理激励以及完成激励处理之后我们需要实时的或者离线的checker机制来确保芯片按照预期行为工作。

覆盖率是最终的量化机制、也可以理解为激励的反馈机制。我们不断地激励着DUT,同时也在进行检查,整个过程中通过覆盖率的量化来反馈验证工程师有没有验证完成?哪里还需要继续验证?

下图是覆盖率反馈到激励,以及表明验证是否完成的一个流程。在这个流程中,我们不断地根据覆盖率调整激励发送的随机机制,直到只剩几个边界场景很难覆盖到,我们再构造定向用例。

 
 
这是一个比较高效的现代EDA仿真验证流程,整个流程中激励生成、检查机制和覆盖率量化都需要保证完备性。
完备的激励+完备的检查机制+完备的覆盖率量化才能够获得有信心的验证结果,缺一不可。另外,这三者中的任何一个做到绝对的完备就是非常难的。

如果覆盖率完备了,也可以保证激励的完备。如果发现用例构造过程非常困难,大概率是验证环境架构的不合理。要么趋向于定向用例,你需要维护非常多的sequence,经常一个需求会让你改动多个sequence;要么趋向完全随机,可控性比较差。这两个情况都降低验证效率。
 
checker是必须要保证完备的,否则就算你激励覆盖到了某个场景,你也识别不出来问题。验证的重点是发现所有的bug,然后才是尽可能地保证激励完备性。如果非要分个优先级,个人觉得checker的完备要高于激励的完备。因为如果你遗漏了某个bug,更上层的验证环境也许可以通过集成你的checker来发现问题。

覆盖率也非常重要。否则就是在黑暗中胡乱开枪射击,你不知道去过哪里,也就不知道后面要往哪里去了。

 
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
用户名: 验证码: 点击我更换图片