目录
0. 引言
我们都知道uvm环境是通过在tb顶层调用run_test方法来启动的,但它具体完成了什么呢?怎么样启动整个环境的呢?本专题则是围绕这两点学习源码,主要是m_run_phase方法,该方法按照设定的phase节点顺序调用了各个组件的phase。本文主要介绍run_test。
1. run_test
在tb_top中使用的run_test,是定义在uvm_globals.svh的一个全局方法。如下。
1.1. global::run_test
task run_test (string test_name="");
uvm_root top;
uvm_coreservice_t cs;
cs = uvm_coreservice_t::get();
top = cs.get_root();
top.run_test(test_name);
endtask
通过该方法创建uvm_root的唯一实例,并调用uvm_root的run_test。
1.1.1. get_root
static functi