`uvm_info("my_driver", $sformatf("after super.build_phase, the pre_num is %0d", pre_num), UVM_LOW)if(!uvm_config_db#(virtual my_if)::get(this,"","vif", vif)) `uvm_fatal("my_driver","virtual interface must be set for vif!!!")endfunction//省略下面get语句:uvm_config_db#...
$sformatf("test_sig=%0d",test_sig),UVM_LOW)`uvm_info(this.name,"build_phase active.",UVM_LOW)if(!uvm_config_db#(virtualwr_interface)::get(this,"","wr_drv_if",wr_drv_if))begin`uvm_fatal(this.
弄UVM的验证工程的过程种,发现之前resource这块学得不到位,来这补充一下,先补充uvm_config_db,就拿我自己那个工程的代码来举例子说明uvm_config_db是怎么用的。 我的工程中主要是对virtual interface用到了config_db,流程是这样的: 1.在testbench中例化了interface,然后通过config_db::set来把interface这个样的一...
virtual function void build_phase(uvm_phase phase); super.build_phase(phase); `uvm_info("my_driver", "build_phase is called", UVM_LOW); if(!uvm_config_db#(virtual my_if)::get(this, "", "vif", vif)) `uvm_fatal("my_driver", "virtual interface must be set for vif!!!") end...
uvm_config_db的用途大概有如下三种: 传递virtual interface到环境中。 设置单一变量值,如int.string.enum等。 传递配置对象(config object)到环境中 在使用uvm_config_db的配置方法时,下面给出一些建议: · 在使用set/get方法时,传递的参数类型应当上下保持一致。对于uvm_object等实例的传递,如果get类型与set类型不...
• uvm_config_db# (T): :get(uvm_component cntxt, string inst_name,string field_name, inout T value); • UVM的uvm_config_db使得接口的传递和获取彻底分离开来。 • 在实现接口传递的过程中需要注意: 接口传递应该发生在run_test()之前。这保证了在进入build phase之前,virtual interface已经被传递...
一、config_db机制概述 uvm树形结构的节点,往往需要高层次的组件来下发环境参数,或者通过配置来进行环境模式的变更。例如interface,环境中的driver和monitor都需要用到interface和DUT连接,interface往往在top中例化,输入不同的时钟和复位信号。interface例化好了之后就需要进行传递,传递的方法就是config_db机制。
在run_test()之前,通过uvm里的函数uvm_config_db::set()函数把interface存储到指定的存储路径。 第四步,在uvm里读取interface,并存储到virtual interface里。 从名字上看,config_db是一种存储配置信息的数据库(类似全局变量,可以想象成一个关联数组),要正确存储和读取数据,需要类型和存储路径同时正确。v_intf有点...
在run_test()之前,通过uvm里的函数uvm_config_db::set()函数把interface存储到指定的存储路径。 第四步,在uvm里读取interface,并存储到virtual interface里。 从名字上看,config_db是一种存储配置信息的数据库(类似全局变量,可以想象成一个关联数组),要正确存储和读取数据,需要类型和存储路径同时正确。v_intf有点...
• uvm_config_db# (T): :get(uvm_component cntxt, string inst_name,string field_name, inout T value); • UVM的uvm_config_db使得接口的传递和获取彻底分离开来。 • 在实现接口传递的过程中需要注意: 接口传递应该发生在run_test()之前。这保证了在进入build phase之前,virtual interface已经被传递...