只有指定parent,才能正确的继承,才能在遍历UVM的树形拓扑结构时,生成完整的topology结构,你不想某个类“无父无母无孩”吧?那怎么打印UVM的topology结构呢? 在UVM的类库地图中,有一个函数print_topology,负责打印验证环境的组件拓扑结构,调用这个函数即可: 代码语言:javascript 代码运行次数:0 运行 AI代码解释
print_topology()时,可以看到类似如下格式的log 打印的内容类似于我们uvm树形结构,但是又有些许的不同,有些tlm_port甚至int都被打印了出来,而我们定义的一些uvm_object却没有被打印,即使我们用了type_id::create("", this),例如register_model/adapater等等,下面我们就结合源代码分析分析原因。 首先我们知道uvm_...
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...
这些函数可以在验证环境中被调用,调用后会将对应的数据结构按照强可读性的格式打印到仿真日志中,为环境调试工作提供极大的便利。 uvm_root::print_topology():打印整个验证环境的组件拓扑结构 uvm_component::print_config():打印当前组件可见视角...
最简单的使用方法是将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 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_set_verbosity...
uvm_top.print_topology(uvm_default_tree_printer)函数打印出来的测试平台拓扑结构; 查看仿真时间及平台对应的动作;..._do(req) 来产生句柄handle为req的transaction;uvm_do()的具体执行步骤?4、如何创建sequencer:sequence和transaction是流动的数据流 UVM——部分继承组件源码 ...
// 方法1:uvm_top.print_topology();// 需要UVM hierarchy建立之后调用// 方法2:uvm_top.enable_print_topology =1;// 在end_of_elaboration phase之前调用 在log中会出现以” [UVMTOP] UVM testbench topology:”开头的打印信息,里面详细列出了当前UVM结构。
在UVM中,我们一般都是使用单顶层的模式。也就是只有一个uvm_test_top顶层,然后下面有env,env下面有agent等。如下图所示: 通过uvm_top.print_topology()函数,可以打印uvm的拓扑结构。比如如下我的一个uvm环境,打印的拓扑结构如下: 如果我有另外一个uvm环境,那么怎么可以简单的,将两个uvm环境给集成到一起,进行整...
在UVM中,我们一般都是使用单顶层的模式。也就是只有一个uvm_test_top顶层,然后下面有env,env下面有agent等。如下图所示: 通过uvm_top.print_topology()函数,可以打印uvm的拓扑结构。比如如下我的一个uvm环境,打印的拓扑结构如下: 如果我有另外一个uvm环境,那么怎么可以简单的,将两个uvm环境给集成到一起,进行整...