例程中,uvm_config_string的原型是uvm_config_db#(string),uvm_config_int的原型是uvm_config_db#(uvm_bitstream_t),这是UVM中为了简写通过typedef定义的类型。 仿真结果如下: 04 扩展:Config_db资源优先级 当不得已需要在环境中的多个地方,对相同数据对象,通过config_db进行配置的时候,就需要关心到这些资源的...
void'(uvm_config_db#(int)::get(this.m_parent, "i_agt.drv", "pre_num", drv_pre_num));`uvm_info("my_model", $sformatf("after get, the pre_num is %0d", drv_pre_num), UVM_LOW)endfunction//或void'(uvm_config_db#(int)::get(uvm_root::get(), "uvm_test_top.env.i_agt...
uvm中连接interface使用的uvm_config_db机制 配置组件的DUT接口 全局UVM资源 UVM配置机制的选择 UVM调试机制 内容 UVM组件基类 UVM组件的逻辑层次:parent-child关系 组件显示和查询 查询组件的层次关系 使用逻辑层次配置组件 配置组件字段 动态控制变量 物理接口配置 配置组件的DUT接口 全局UVM资源 UVM配置机制的选择 UV...
config_db机制用于在UVM验证平台间传递参数。它们通常都是成对出现的。set函数是寄信,而get函数是收信。 【在哪里用】 build_phase中使用cfg_db机制 【set 寄信】 uvm_config_db#(int)::set(this,"env.i_agt.drv","pre_num",100); int:需要填写要送的东西的类型 【get 收信】 uvm_config_db#(int):...
对于uvm_config_db来说,在调用get()函数检索数据库的时候,get()函数传递的{cntxt,”.”, inst_name}会作为uvm_re_match()的str的实参,set()函数设置的{cntxt,”.”, inst_name}在经过uvm_glob_to_re()处理后作为uvm_re_match()的实参,这也就是为什么set()参数的inst_name支持正则格式,而get()参数...
一、config_db机制概述 uvm树形结构的节点,往往需要高层次的组件来下发环境参数,或者通过配置来进行环境模式的变更。例如interface,环境中的driver和monitor都需要用到interface和DUT连接,interface往往在top中例化,输入不同的时钟和复位信号。interface例化好了之后就需要进行传递,传递的方法就是config_db机制。
一、uvm_config_db简介 uvm_config_db的全称是configuration database,它是建立在 uvm_resource_db 之上的便利层,resource database储存的是与scope字符串相关联的name-value对(如下图所示) 。uvm_config_db可以将scope字符串与组件层次结构中的完整层次结构名称相关联,这样就可以通过组件层次来更加方便地访问...
config_db机制在UVM验证平台中主要用于参数传递。它们通常都是成对出现的,set函数是寄信,而get函数是收信。函数格式如下: uvm_config_db# (Type)::set(this,"inst_path","field",value); //将value寄送给 “field(字段)” uvm_config_db# (Type)::get(this,"","field",field) //field将接收参数的传...
• uvm_config_db#(T): :set(uvm_component cntxt, string inst_name, string field_name, T value); • uvm_config_db# (T): :get(uvm_component cntxt, string inst_name,string field_name, inout T value); • UVM的uvm_config_db使得接口的传递和获取彻底分离开来。