【问题标题】:How to Dump a UVM TB class diagram?如何转储 UVM TB 类图?
【发布时间】:2016-09-29 23:46:55
【问题描述】:

是否可以转储 UVM(或 SV)TB 类/对象层次图?

它有助于轻松浏览代码和查看总体上的 TB。

提前致谢:)

【问题讨论】:

    标签: system-verilog uvm


    【解决方案1】:

    【讨论】:

    • 你明白它在编译之前可能不可用,可以从vcd/fsdb中提取这样的东西吗?
    • Mentor 有一个名为 HDL Designer 的产品,可以从源代码中提取该信息。它必须由 some 工具编译才能获得该信息。 VCD是用于仿真后的数据,而不是对源代码的分析。
    【解决方案2】:

    我不确定是否可以将其动态转储到波形中(这可能需要模拟器支持)。但是,如果您只想打印您创建的整个 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
    

    【讨论】:

    • 我在寻找类似this的东西
    【解决方案3】:

    如果您要打印整个拓扑,请在基础测试中创建一个 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;
    

    这将以可读的表格格式打印您的整个班级层次结构。请注意,它不会打印出端口之间的连接

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-18
      • 1970-01-01
      • 2020-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-09
      相关资源
      最近更新 更多