【发布时间】:2016-09-29 23:46:55
【问题描述】:
是否可以转储 UVM(或 SV)TB 类/对象层次图?
它有助于轻松浏览代码和查看总体上的 TB。
提前致谢:)
【问题讨论】:
标签: system-verilog uvm
是否可以转储 UVM(或 SV)TB 类/对象层次图?
它有助于轻松浏览代码和查看总体上的 TB。
提前致谢:)
【问题讨论】:
标签: system-verilog uvm
【讨论】:
我不确定是否可以将其动态转储到波形中(这可能需要模拟器支持)。但是,如果您只想打印您创建的整个 UVM 验证环境,请致电 uvm_top.print_topology()end_of_elaboration_phase。
class your_test extends uvm_test;
//...
virtual function void end_of_elaboration_phase(uvm_phase phase);
uvm_top.print_topology();
endfunction
endclass
【讨论】:
如果您要打印整个拓扑,请在基础测试中创建一个 uvm_table_printer,然后在 end_of_elaboration_phase 中使用它以表格格式打印您的类层次结构
class my_test extends uvm_test
uvm_table_printer m_printer;
// .... All other class variables
virtual function void build_phase(uvm_phase phase);
super.build_phase(phase);
m_printer = new();
// Rest of your build phase
endfunction
virtual function void end_of_elaboration_phase(uvm_phase phase);
`uvm_info(get_full_name(), "Printing test topology", UVM_NONE)
uvm_top.print_topology(m_printer);
endfunction
endclass;
这将以可读的表格格式打印您的整个班级层次结构。请注意,它不会打印出端口之间的连接
【讨论】: