在数字芯片中很多事情都可以称之为verificaiton,例如
- functional verification
- timing verification
- test verification
一般在中文里面为了方便区分,我们可以分别称之为功能验证、时序检查和芯片测试。
芯片测试的重点是快速检测从生产线上出来的芯片中制造缺陷的能力。测试工程师给芯片施加随机的激励,然后采样芯片输出,最后和自己预期的参考模型输出进行比对。如果比对不通过,说明所测的就是一颗具有生产缺陷的石头,即点石成金失败。
数字芯片RTL实现时除了包括业务功能,还包括BIST(built-in self test)逻辑。芯片制造完成后,测试工程师会激活芯片内部的BIST逻辑,然后再进行测试。
即使芯片验证和芯片测试看起来类似,其实差异很大。一颗芯片测试通过之后仍然可能因为功能问题而导致1 + 1 =3,因为芯片测试仅仅保证芯片在制造过程中没有改变电路本身的功能,而并不保证电路原始功能是否正确。
相比芯片测试的对象(制造bug),芯片验证的对象(电路功能bug)更为隐蔽,通常需要非常多有经验的验证工程师才能保证功能的正确性。
作者:验证哥布林
原文链接:https://mp.weixin.qq.com/s/AyJ3qVtRie9ndviB6yPviA
微信公众号:
推荐阅读
更多IC设计技术干货请关注IC设计技术专栏。