大家好,我是谷公子,上节课跟大家分享了黑盒设计的几种常用方法。今天我们来讲激励的白盒设计和灰盒设计。
白盒设计允许我们检查芯片的内部结构。这种验证策略对芯片的逻辑结构进行检查,从中获取验证数据,遗憾的是,这种策略常常忽略了芯片的规范。
白盒设计最直观的方法就是穷举逻辑路径验证,即如果使用验证用例执行了芯片中所有可能的控制流路径,那么芯片有可能得到完全的测试。但这个论断存在两个问题:1.芯片中不同逻辑路径的数量可能达到天文数字;2.我们可能验证到芯片中的所有路径,但是芯片仍可能存在错误。原因有三:
-
即使是穷举路径验证也无法保证芯片符合设计规范;
-
芯片可能会因为缺少某些路径而引起问题,穷举路径验证当然不能发现缺少了哪些必需路径;
-
穷举路径测试可能不会暴露数据敏感错误。
因此穷举路径验证就如同穷举输入验证,是人力物力都不可及的。在实际应用中,白盒设计重点关注的是验证用例执行的程度以及覆盖设计代码逻辑结构的程度。
分享视频链接如下: