验证用于找出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机制 加入objection机制 加入virtual interface 加入transaction 加入env 加入monitor 封装成agent 加入reference model 加入scoreboard 加入field_automation机制................ 如果有任何疑问请在下方评论.......
|