例程中,uvm_config_string的原型是uvm_config_db#(string),uvm_config_int的原型是uvm_config_db#(uvm_bitstream_t),这是UVM中为了简写通过typedef定义的类型。 仿真结果如下: 04 扩展:Config_db资源优先级 当不得已需要在环境中的多个地方,对相同数据对象,通过config_db进行配置的时候,就需要关心到这些资源的...
(1) UVM中用于在不同component之间共享资源的一种机制,即实现了资源共享(也可描述为在UVM验证平台间传递参数),又避免了全局变量的弊端. (2) umv_config_db是从uvm_resource_db派生而来,对uvm_resource_db的一些功能进行了扩展,主要体现在对资源的写入和读取上. 注1:具体应用如将virtual interface传递到环境中(...
config_db机制分为set和get两个操作,set和get一般都成对出现。 set函数范式 uvm_config_db #(传输数据类型)::set(发送源地址, “相对于发送源的接收方地址”, “传输数据名称”, 传输数据内容); set:自顶向下set,如从top_tb向下driver设置参数,即在top_tb中进行set。 举个例子,我们要用uvm_config_db传输...
config_db 的主要用途就是进行全局参数的传递共享,主要包含 set() 和 get() 函数,其中 set()用于在 config 全局数据库(config database)中创建一个条目(entries),当然前提是没有数据库中未包含该条目,如果已经存在,则更新它,get() 则用于从数据库中取出最新的 entries uvm_config_db #(T)::set(....
在UVM中,`config_db`(配置数据库)就像一个邮局,你可以使用它来“寄信”(`set`操作)告诉邮局你家的地址(`input_if`接口)。然后,服务员(`my_driver`)会去邮局“收信”(`get`操作),得知派对的地址,这样他们就知道在哪里工作了。 这是对应到UVM代码的“寄信”和“收信”过程: ...
UVM:3.5.7 config_db 机制对通配符的支持,config_db::set时,第二个参数都是完整的路径。还可以用通配符*:之前:可以把前两个set合并为一个set:可以进一步简化为:不推荐使用通配符,容易产生交互问题。
API Explorer SDK中心 软件开发生产线 AI开发生产线 数据治理生产线 数字内容生产线 开发者Programs Huawe...
对于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机制是用来传递数据的 config机制在UVM验证平遥中都是成对出现的。如在某个case(派生自uvm_test)的build_phase中可以做如下设置: uvm_config_db#(int)::set(this,”env.agent.driver”,”pre_num_max”,100); 那么在driver的build_phase中要这样做: ...
3.3 field automation机制 3.4 UVM中打印信息的控制 3.5 config_db机制 第4章 UVM中的TLM1.0通信 4.1 TLM1.0 4.2 UVM中各种端口的互连 4.3 UVM中的通信方式 第5章 UVM验证平台的运行 5.1 phase机制 5.2 objection机制 5.3 domain的应用 第6章 UVM中的sequence 6.1 sequence基础 6.2 sequence的仲裁机制 6.3 seque...