UVM phase执行顺序的问题
时间:10-02
整理:3721RD
点击:
1.在UVM中,自定义component类中有new()函数,build_phase函数,测试平台工作时,这两个函数执行顺序是什么?2.自定义component类中定义了一些成员变量,我想在类实例化时,对这些成员变量进行初始化,应该讲初始化代码放在哪里?new()中还是build_phase()中?已知C++派生类构造函数执行顺序是:1)基类构造函数,2)子对象构造函数,3)自己成员变量初始化
1. new跟build_phase之间没有顺序要求。
比如,在top_tb中,用new例化一个base_test类,然后执行run_test()。那么base_test的new就是在build_phase之前执行的。
但是,在base_test的build_phase里,用new例化my_env类。那么my_env的new就是在build_phase里面执行的。
总之,只需在build_phase结束之前,完成tree的构建即可。
2. 我觉得都可以。