首先我们知道uvm_top是uvm_root的唯一实例,声明在uvm_root中 于是就可以在uvm_root中找到print_topology()是定义如下图 分析上面的源代码可知,print_topology本质上是把uvm_root树形结构下的所有的树叶(m_children)遍历执行printer里的print_object()函数,接下来我们来看看printer和print_object()都做了什么。 printer...
3.1 组件层次结构 uvm_top.print_topology(); // 输出示例: // UVM testbench topology: // uvm_test_top adpcm_test // m_driver adpcm_driver // seq_item_port uvm_seq_item_pull_port 3.2 消息控制 控制方式命令行参数作用范围 全局详细度设置 +UVM_VERBOSITY=UVM_DEBUG 全环境 组件级详细度设置 ...
UVM对他的解释是 Print the verification environment’s component topology. The printer is a uvm_printer object that controls the format of the topology printout; a null printer prints with the default output. 这个方法属于uvm_root类,我们在调用时,直接实用uvm_top这个句柄即可,这个句柄类型就是uvm_root...
只有指定parent,才能正确的继承,才能在遍历UVM的树形拓扑结构时,生成完整的topology结构,你不想某个类“无父无母无孩”吧?那怎么打印UVM的topology结构呢? 在UVM的类库地图中,有一个函数print_topology,负责打印验证环境的组件拓扑结构,调用这个函数即可: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 unctionv...
uvm_root::print_topology():打印整个验证环境的组件拓扑结构 uvm_component::print_config():打印当前组件可见视角下的所有配置资源信息 uvm_component::print_override_info():打印当前组件的工厂重载信息 uvm_factory::print():打印全局工厂中注册的类型以及instance和type重载信息 ...
print_topology() 打印UVM层级结构 set_timeout() 设置最大仿真时间,可以通过命令行重写 至此,单例模式在UVM中的应用就学习完毕,除了uvm_root, uvm_facotry , uvm_cmdline_processor, uvm_report_server, uvm_event_pool, uvm_barrier_pool, uvm中的各个phase和 uvm_resource_pool都使用了单例模式。
// 方法1:uvm_top.print_topology();// 需要UVM hierarchy建立之后调用// 方法2:uvm_top.enable_print_topology =1;// 在end_of_elaboration phase之前调用 在log中会出现以” [UVMTOP] UVM testbench topology:”开头的打印信息,里面详细列出了当前UVM结构。
最简单的使用方法是将enable_print_topology修改成1. 并不是从uvm_top开始打印的,而是从它的下一级,uvm_top只能有一个。 当然你的实际的环境不能修改源代码。可以在外部设置uvm_root.enable_print_topology = 1来调print_topology(). 如何添加uvm_top.enable_print_topology = 1这句话的位置?(uvm_top是uvm...
uvm_top.print_topology(uvm_default_tree_printer)函数打印出来的测试平台拓扑结构; 查看仿真时间及平台对应的动作;..._do(req) 来产生句柄handle为req的transaction;uvm_do()的具体执行步骤?4、如何创建sequencer:sequence和transaction是流动的数据流 UVM——部分继承组件源码 ...
uvm_root::print_topology():打印整个验证环境的组件拓扑结构 uvm_component::print_config():打印当前组件可见视角下的所有配置资源信息 uvm_component::print_override_info():打印当前组件的工厂重载信息 uvm_factory::print():打印全局工厂中...