在SV环境中的验证组件按照功能需要,被称之为激励器(stimulator)、检测器(monitor)和检查器(checker)。这三个核心组件与验证环境的三个关键特性相对应:激励(sequencer)、检测(monitor)和检查(scoreboard)。 uvm_agent、uvm_env、uvm_test在UVM中所承担的功能并不多,主要起到构建环境层次的作用。 从uvm_component类继...
uvm_scoreboard 从名字来看,uvm_scoreboard担任着同SV中介绍的checker一样的功能,即进行数据比对和报告。uvm_scoreboard本身也并没有额外的成员变量和方法,但UVM建议用户将检查器类继承与uvm_scoreboard,这也便于日后的子类可以自动继承于可能被扩充到uvm_scoreboard中的成员。在实际环境中,uvm_scoreboard会接收来自于多个m...
coverage/ : coverage文件目录,内含一个或多个模块的覆盖率文件,也就是covergroup。 checker/ : checker文件目录,也就是reference model和scoreboard文件,不过有时候会将两者融合成一个checker文件。 include/ : include文件,一些环境路径的宏定义以及其他include文件存放在这里。 interface/ : interface文件目录,内含一个...
Q1 in uvm in which class we can write checker. Q2 what is difference between assertion and checker.
② 验证平台要能够根据DUT的输出来判断DUT的行为是否与预期相符合,完成这个功能的是计分板(scoreboard,在SV中被称为checker)。 ③ 验证平台要收集DUT的输出并把它们传递给scoreboard,完成这个功能的是monitor。 ④ 验证平台要能够给出预期结果。假设DUT是一个加法器,那么当在它的加数和被加数中分别输入1,即输入1+1...
uvm_monitor通过检测接口上的信号,转化为数据包,如实地发送给checker,只实现这一单纯的功能,而对于驱动DUT这一功能则交给uvm_driver。 uvm_driver通过从uvm_sequencer获取到的uvm_sequence_item解析出驱动数据,如实的将uvm_sequence_item的内容驱动到DUT的接口上,也只实现这一单纯的功能,至于具体的激励内容,则通过uvm...
本次讲一下UVM中的uvm_config_db,在UVM中提供了一个内部数据库,可以在其中存储给定名称下的值,之后可以由其它TB组件去检索。这样的数据库允许我们以不同的名称存储不同的配置设置,这些配置可以在需要时潜在地配置TB组件,而无需修改实际的TB代码。比如说,我们需要TB打开某个checker,我们只需要提供这个checker的路径...
验证平台要能够根据DUT的输出来判断DUT的行为是否与预期相符合,完成这个功能的是记分板(scoreboard,也被称为 checker,本书统一以scoreboard来称呼)。既然是判断,那么牵扯到两个方面:一是判断什么,需要把什么拿来判断,这里很明显 是DUT的输出;二是判断的标准是什么。验证平台要收集DUT的输出并把它们传递给scoreboard,...
uvm_monitor通过检测接口上的信号,转化为数据包,如实地发送给checker,只实现这一单纯的功能,而对于驱动DUT这一功能则交给uvm_driver。 uvm_driver通过从uvm_sequencer获取到的uvm_sequence_item解析出驱动数据,如实的将uvm_sequence_item的内容驱动到DUT的接口上,也只实现这一单纯的功能,至于具体的激励内容,则通过uvm...
uvm_monitor 通过检测接口上的信号,转化为数据包,如实地发送给 checker,只实现这一单纯的功能,而对于驱动 DUT 这一功能则交给 uvm_driver。 uvm_driver 通过从 uvm_sequencer 获取到的 uvm_sequence_item 解析出驱动数据,如实的将 uvm_sequence_item 的内容驱动到 DUT 的接口上,也只实现这一单纯的功能,至于具体...