一、uvm_config_db简介 uvm_config_db的全称是configuration database,它是建立在 uvm_resource_db 之上的便利层,resource database储存的是与scope字符串相关联的name-value对(如下图所示) 。uvm_config_db可以将scope字符串与组件层次结构中的完整层次结构名称相关联,这样就可以通过组件层次来更加方便地访问...
// 在sequence中获取变量的值 uvm_config_db #(int)::get(get_squencer(),"","INR",INR); 物理接口配置 uvm中连接interface使用的uvm_config_db机制 配置组件的DUT接口 全局UVM资源 UVM配置机制的选择 UVM调试机制 内容 UVM组件基类 UVM组件的逻辑层次:parent-child关系 组件显示和查询 查询组件的层次关系 ...
在module环境中如果要使用uvm_config_db::set(),则传递的第一个参数uvm_component cntxt参数一般用来表示当前的层次。如果当前层次为最高层,用户可以设置为null,也可以设置为uvm_root::get()来表示uvm_root的全局顶层实例。 在使用配置变量时,应当确保先进行uvm_config_.db::get()操作,在获得了正确的配置值以后...
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,T value) 实例: uvm_config_db#(virtual intf)::get(),"uvm_test_top.c1","vif",intf); get方法中的前两个参数...
对于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()参数...
3、set_config_int/set_config_string/set_config_object是参数固定后的uvm_config_db#(int)::set等的简写。 接下来我们再看set函数内的执行代码 我们还需要知道几个变量的来历: m_rsc是一个key为string,value为uvm_resource#(T)的静态键值对(其他语言里也有叫字典等)(uvm里给之取名叫uvm_pool)组成的以uvm...
`uvm_component_utils(trans); function new(string name = "trans", uvm_component parent = null); super.new(name,parent); this.val3 = 0; endfunction function void build_phase(uvm_phase phase); super.build_phase(phase); //if(uvm_config_db#(virtual uvm_config_if)::get("this","","vi...
uvm_config_db的全称是configuration database,它是建立在 uvm_resource_db 之上的便利层,resource database储存的是与scope字符串相关联的name-value对(如下图所示) 。 uvm_config_db可以将scope字符串与组件层次结构中的完整层次结构名称相关联,这样就可以通过组件层次来更加方便地访问数据库的条目(储存的信息)。
在Kubernetes(K8S)中,uvm_config_db是指Universal Verification Methodology(通用验证方法)中使用的配置数据库,用于在不同的组件之间传递配置信息。其主要作用是在测试环境中管理和分发配置参数,从而实现测试用例的灵活性和可维护性。 要实现uvm_config_db,我们需要按照以下步骤进行操作: ...
综上,uvm_config_db::set()和uvm_resource_db::set()是没有任何继承继承关系的。 从user的角度来讲,uvm_config_db::set/get是经常用到的。 第一个参数是uvm_component,所以一定要特别留心在sequence中参数设定的时候,这里不能是this,必须要是一个uvm_component的类型。