Config_db所用到的方法定义在uvm_config_db这个类中,该类继承自uvm_resource_db,可以看成是对其进行了必要的封装,以提供给用户简单易用的接口。这里所说的”简单易用的接口“指的是set(...)函数和get(...)函数,用于向数据库存放数据对象和读取数据对象。此外,uvm_config_db提供的主要函数还有exists(...)函...
$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.
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内部是通过uvm_glob_to_re()和uvm_re_match()这两个函数来实现的,它们是在uvm_config_db背后默默工作的功臣。 在TB调用uvm_config_db::set()的时候,set函数会将参数cntxt和inst_name拼接起来后,调用用uvm_glob_to_re()转换格式,再存到uvm_resource类里的scope字符串变量...
第一部分:uvm_config_db的使用方法 uvm_config_db作用是把验证环境的一些资源配置为类似全局变量一样,使得它对于整个验证环境来说是可见的。最常见的是在验证环境顶层通过它对一些组件进行配置,组件可以在建立的阶段读取这些配置实现组件不同工作模式的切换,下面是使用uvm_config_db的语法: ...
在Kubernetes(K8S)中,uvm_config_db是指Universal Verification Methodology(通用验证方法)中使用的配置数据库,用于在不同的组件之间传递配置信息。其主要作用是在测试环境中管理和分发配置参数,从而实现测试用例的灵活性和可维护性。 要实现uvm_config_db,我们需要按照以下步骤进行操作: ...
config_db.svh文件。类uvm_config_db扩展了uvm_resource_db。定义了一个静态的uvm_pool,其中包含字符串和uvm_resource的数组。还定义了一个静态局部变量,它是一个uvm_queue类型,用于存储m_uvm_waiter。通过uvm_config_db类,实现str type config sim nbsp stat pool provides basic功能。
综上,uvm_config_db::set()和uvm_resource_db::set()是没有任何继承继承关系的。 从user的角度来讲,uvm_config_db::set/get是经常用到的。 第一个参数是uvm_component,所以一定要特别留心在sequence中参数设定的时候,这里不能是this,必须要是一个uvm_component的类型。
答案在于uvm_config_db内部的m_rsc数组。这是一个由string作为键,uvm_resource#(T)作为值的静态键值对数组,以uvm_component为索引。这意味着,m_rsc数组实际上是一个以uvm_component为键,联合数组为值的结构,其中联合数组内部包含了key(string类型)和value(uvm_resource#(T)类型)。接下来,我们...