uvm_pkg:uvm修炼体系的原始真解
在sv中引入了package(包),将各种数据类型封装在一个命名空间中,可以在多个module、interface、program中共享内部的参数、类型、方法等,需要通过域操作符::进行引用。
uvm_pkg中通过·include插入了多个pkg,其中包括:uvm_macros定义了uvm的所有宏,uvm_dpi实现了sv和外部语言交互,uvm_base定义了包括工厂机制、phase机制等基础class,uvm_dap提供了一种数据访问策略,uvm_tlm和uvm_tlm2用于组件通信,uvm_comps定义了所有component,uvm_seq定义了sequence机制,uvm_reg_model定义了寄存器模型。
`include "uvm_macros.svh"
package uvm_pkg;
`include "dpi/uvm_dpi.svh"
`include "base/uvm_base.svh"
`include "dap/uvm_dap.svh"
`include "tlm1/uvm_tlm.svh"
`include "comps/uvm_comps.svh"
`include "seq/uvm_seq.svh"
`include "tlm2/uvm_tlm2.svh"
`include "reg/uvm_reg_model.svh"
endpackage