目录
在学习完UVM机制之后,就可以开始UVM验证框架的学习了。
在使用Systermverilog语言搭建的验证平台中,可以看到验证平台包含不同class创建的对象,各对象之间有着明确的从属关系(例如base_test有env成员,env成员有agent成员、和checker成员)
在UVM世界中,相应的也有这些成员以及固定的从属关系,而且有着固定的class定义方式。
1. UVM testbench的组成
uvm的testbench中也有相应的driver, monitor等等。
但在介绍这些组件之前,需要先介绍两个UVM超级重要的类,uvm_component和uvm_object,所有的这些组件都是继承自这两个基本类的。
1.1. uvm_component 与 uvm_object
uvm_component与uvm_object是uvm组件中非常重要的两个基类,实际上uvm_component也是uvm_object的子类。
一些永久存在的验证组件一般都继承于uvm_component,例如driver, monitor, sequencer ,agent , model, scoreboard, env, test等等。
而一些可随时创建、随机丢失的周期性实例一般都继承于uvm_object
本文介绍了UVM验证平台的组成,包括uvm_component与uvm_object的作用,测试用例中的树形结构,以及UVM testbench与Systemverilog testbench的差异。重点讲解了uvm_component的特有机制如factory、confid_db、消息和phase机制,以及如何构建和理解UVM树。此外,还讨论了继承自uvm_object的组件如sequence_item、sequence等的应用。
订阅专栏 解锁全文
3249

被折叠的 条评论
为什么被折叠?



