Loading...
第七章 UVM的寄存器模型寄存器模型简介带寄存器配置总线的DUT在本书以前所有的例子中,使用的DUT几乎都是基于2.2.1节中所示的最简单的DUT,只有一组数据输入输出口,而没有行为控制口,这样的DUT几乎是没有任何价值的。通常来说,DUT中会有一组控制端口,通过控制端口,可以配置DUT中的寄存器,DUT可以根据寄存器的值来改变其行为。这组控制端口就是寄存器配置总线。这样的DUT的一个示例如...
第五章 UVM验证平台的运行phase机制task phase与function phaseUVM中的phase,按照其是否消耗仿真时间($time打印出的时间)的特性,可以分成两大类,一类是function phase,如 build_phase、connect_phase等,这些phase都不耗费仿真时间,通过函数来实现;另外一类是task phase,如run_phase等,它们耗费 ...
第四章 UVM中的TLM1.0通信TLM1.0验证平台内部的通信如果要在两个uvm_component之间通信,如一个monitor向一个scoreboard传递一个数据(如图4-1所示)有哪些方法呢?transdata最简单就是全局变量,但是这种方法不能乱用。第二种是在scoreboard中设置一个变量,但是是可以外部直接访问(public类型),要完成这个任务,需要给monitor留一个...
第三章 UVM基础uvm_component与uvm_objectuvm_component 派生自uvm_object常见的派生自uvm_object 的类基本上除了uvm_component 之外,其他的类本质上都是uvm_object 。常见的派生自uvm_component 的类之前提过了,uvm_driver,monitor(理论上要从uvm_monitor派生,但是直接从comp...
第二章 一个简单的UVM验证平台验证平台的组成验证用于找出DUT的bug,这个过程通常是把DUT放入一个验证平台实现的。一个验证平台要实现的功能如下:- 模拟DUT的各种真是使用情况,施加激励「正常激励和异常激励」。激励的功能是由driver实现的。 - 验证平台要能够根据DUT的输出来判断DUT的行为是否与预期相符合,完成这个功能的是计分板「scoreboard」。一是判断的是DUT的输出...