UVM仿真的启动(二)—— uvm_phase::m_run_phase()
目录
0. 引言
1. m_run_phase()
2. uvm_domain
2.1 uvm_domain::get_common_domain
2.2 uvm_domain::new()
2.3 uvm_domain::get_uvm_domain()
3. uvm_phase
3.1 UVM_PHASE_TYPE
3.2 uvm_phase::new()
3.3 uvm_phase::add(...)
3.3.1 line 833~874
3.3.2 line 875~908
3.3.3 line 910~929
3.3.4 line 932~984
4. 小结
0. 引言
通过前面的介绍,run_test最后会调用uvm_phase中的静态方法——m_run_phase,该方法是整个环境运行的核心,按照schedule的顺序执行各个component的build_phase,connect_phase... run_phase...,来运行整个环境。本文着重描述get_common_domain的行为。
1. m_run_phase()
// associated with phase processes related as parents/children
task uvm_phase::m_run_phases();uvm_root top;uvm_coreservice_t cs;cs = uvm_coreservice_t::get();top = cs.get_root();// initiate by starting first phase in common domainbeginuvm_phase ph = uvm_domain::get_common_domain();void&#