类的操作方法
1. 静态/动态,静态
--使用同一存储空间。动态--使用不同存储空间。
变量作用域--变量的生命周期。
2. 类的继承 extends~super引用父类方法。
重载~~一个类中参数不同 名字相同的方法。
virtual~~也就是所谓的多态,当重载发生时,可以由父类指向子类。pure,常与virtual配合使用,父类不做任何定义,可在子类拓展使用。
3. ref类型端口,经常在读写访问作为参数,类似于inout.
4.联合数组。经常作为类或者队列的组合。component的new函数会用到此类数据。
factory
uvm整个是强调重载,系统化的概念,可参考zhangqiang uvm 实战。通过字符串的概念去把实例creat出来。这个实例在uvm树的位置要描述出来。也是creat时候的四个传参。
super/virtual.
vitual只是继承父类或者函数的名称。super可以带来父类方法的继承。
---可以看出这种解释与factory的关系。
phase
phase build/connect 执行顺序,从上而下,从env到agent,再到信号层。
run_phase分为reset,config,main,,shut_down.
每个phase自下而上启动,但是是同时运行。也就是说,类似于fork...join_none,一个agent中,driver可能先启动,但是agent也是并行运行。
report phase.