checker 收集DUT输出,然后从功能的角度验证了设计是否按照预期工作,而不仅仅只检查输出接口协议的正确性。
checker 往往是验证环境中最难创建的组件之一,因为验证工程师必须在checker 中实现端到端的许多DUT功能。这就需要验证工程师能够设想所有的输入场景,以及思考更多完备性地检查。
所以,关于checker,验证工程师需要经常思考一个问题:“如果这个地方有问题,我如何才能发现?”
过去,验证工程师通过手工检查测试用例执行结果并和DUT输出比较进行功能检查。随着设计复杂性的增加,验证工程师需要在checker中进行自动比对。Checker的输入和DUT的输入一样,即利用来自输入接口的激励预测DUT的输出。因为在一个测试用例中可能存在多个请求,所以checker需要将输入请求与输出响应相关联起来,以实现保序或者乱序比对。
checker 将预期结果与DUT的实际输出进行比较。如果结果匹配,则测试用例成功完成。如果结果比较错误,checker 将向log日志文件中打印一些定位故障需要的所有相关信息。
以下列出了Checker检查的一些基本的故障类型:
■所有请求都接收到了响应(没有丢失的请求)。
■所有输出结果都匹配预测值。
■其他一些涉及设计实现细节的检查
END
作者:验证哥布林
原文链接:https://mp.weixin.qq.com/s/\_rbpz\_aJ3kaF8mVzRKWt7w
微信公众号:
推荐阅读
更多IC设计技术干货请关注IC设计技术专栏。