在UVM环境搭建后之后,我们可以通过print_topology()函数将UVM层次结构打印出来。 比如我们在TB里以下任一种方法代码: // 方法1:uvm_top.print_topology();// 需要UVM hierarchy建立之后调用// 方法2:uvm_top.enable_print_topology =1;// 在end_of_elaboration phase之前调用 在log中会出现以” [UVMTOP] UVM...
可以在外部设置uvm_root.enable_print_topology = 1来调print_topology(). 如何添加uvm_top.enable_print_topology = 1这句话的位置?(uvm_top是uvm_root类型的全局变量) end_of_elaboration_phase之前,如果是放在之后,比如说run_phase,并不能够打印出层级。 build_phase之后,因为UVM 树,要有uvm_top的树根。 ...
uvm_root.print_topolgy() enable_print_topology print_topology 最简单的使用方法是将enable_print_topology修改成1. 打印结果 并不是从uvm_top开始打印的,而是从它的下一级,uvm_top只能有一个。 当然你的实际的环境不能修改源代码。可以在外部设置uvm_root.enable_print_topology = 1来调print_topology(). ...
首先我们知道uvm_top是uvm_root的唯一实例,声明在uvm_root中 于是就可以在uvm_root中找到print_topology()是定义如下图 分析上面的源代码可知,print_topology本质上是把uvm_root树形结构下的所有的树叶(m_children)遍历执行printer里的print_object()函数,接下来我们来看看printer和print_object()都做了什么。 printer...
在扩展自uvm_test的base_test类的start_of_simulation_phase里(在build之后run_phase之前): 在仿真用例(扩展自base_...
uvm_top.enable_print_topology = 1; 或者: uvm_top.print_topology(); Global Variables uvm_top const uvm_root uvm_top = uvm_root::get() uvm_top是验证平台的top-level,控制着phases的执行,提供search component的接口。 以上如有不对的地方,欢迎指正,谢谢!!
// of the end_of_elaboration phase. bitenable_print_topology =0; // Variable: finish_on_completion // If set, then run_test will call $finish after all phases are executed. bitfinish_on_completion =1; endclass 层次结构用句柄表示; 路径时用实例化时的名字表示;...
print_topologyPrint the verification environment’s component topology. enable_print_topologyIf set, then the entire testbench topology is printed just after completion of the end_of_elaboration phase. Global Variables uvm_topThis is the top-level that governs phase execution and provides component se...
在UVM的类库地图中,有一个函数print_topology,负责打印验证环境的组件拓扑结构,调用这个函数即可: 代码语言:javascript 复制 unctionvoidprint_topology(uvm_printer printer=null) 同时,也有一个控制打印拓扑结构的bit位: 代码语言:javascript 复制 bit enable_print_topology=0 ...
"put_port" is connected to its implementation "put_imp"virtualfunctionvoidconnect_phase(uvm_phase phase);compA.m_put_port.connect(compB.m_put_imp);endfunctionvirtualfunctionvoidend_of_elaboration_phase(uvm_phase phase);super.end_of_elaboration_phase(phase);uvm_top.print_topology();endfunction...