验证用于找出DUT中的bug,这个过程通常是把DUT放入一个验证平台中来实现的。一个验证平台要实现如下基本功能:
验证平台要模拟DUT的各种真实使用情况,这意味着要给DUT施加各种激励,有正常的激励,也有异常的激励;有这种模 式的激励,也有那种模式的激励。激励的功能是由driver来实现的。
验证平台要能够根据DUT的输出来判断DUT的行为是否与预期相符合,完成这个功能的是记分板(scoreboard,也被称为 checker,本书统一以scoreboard来称呼)。既然是判断,那么牵扯到两个方面:一是判断什么,需要把什么拿来判断,这里很明显 是DUT的输出;二是判断的标准是什么。
验证平台要收集DUT的输出并把它们传递给scoreboard,完成这个功能的是monitor。
验证平台要能够给出预期结果。在记分板中提到了判断的标准,判断的标准通常就是预期。假设DUT是一个加法器,那么 当在它的加数和被加数中分别输入1,即输入1+1时,期望DUT输出2。当DUT在计算1+1的结果时,验证平台也必须相应完成同样 的过程,也计算一次1+1。在验证平台中,完成这个过程的是参考模型(reference model)。
一个简单的验证平台框图:
在UVM中,引入了agent和sequence的概念,因此UVM中验证平台的典型框图长这样:
通知:
本章更新后在更新一篇《IC验证之UVM常用宏汇总(四)》将不在更新.......
如:
加入factory机制
加入objec
tion机制
加入virtual interface
加入transaction
加入env
加入monitor
封装成agent
加入reference model
加入scoreboard
加入field_automation机制................
如果有任何疑问请在下方评论.......
0