Config_db是UVM中非常重要和实用的机制,其作用可以简单概括为全局对象之间的数据共享。 本文将介绍UVM中Config_db这套数据共享机制的基本内容,包含config_db的概念、使用方法、应用示例,并扩展介绍资源优先级的概念。当然,后续还有文章《SystemVerilog|UVM|深入Config_db机制》去深入介绍Config_db的实现原理。我尽可能在...
简单说就是字符串的正则匹配,在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字符串变量...
3.小白学uvm验证 - phase机制和config_db机制 1.phase机制 uvm 验证环境通过 phase 机制,引入了一套自动化的运行流程,通过该机制我们可以清晰的了解 UVM 仿真阶段的层次化,因为 verilog 中有阻塞和非阻塞赋值,相应的仿真平台中,也要实现 NBA 区域 和 Actice 区域,在不同的 phase 区域中做不同的事情,...
1initialbegin2uvm_config_db#(virtual my_if)::set(null,"uvm_test_top.env.i_agt.drv","vif",input_if);3end45initialbegin6uvm_config_db#(virtual my_if)::set(uvm_root::get(),"uvm_test_top.env.i_agt.drv","vif",input_if);7end 注1:在top module中通过config_db机制的set函数设置vir...
uvm_config_db#(virtual my_if)::set(null, "uvm_test_top", "vif", input_if); 2. 收信(Get): 在`my_driver`或其他UVM组件中,他们在开始工作之前会通过`uvm_config_db#(...)::get(...)`来“收信” - 即查找并获取接口实例的地址。 // 在my_driver中 - 收信 virtual my_if vif; if ...
UVM:3.5.7 config_db 机制对通配符的支持,config_db::set时,第二个参数都是完整的路径。还可以用通配符*:之前:可以把前两个set合并为一个set:可以进一步简化为:不推荐使用通配符,容易产生交互问题。
API Explorer SDK中心 软件开发生产线 AI开发生产线 数据治理生产线 数字内容生产线 开发者Programs Huawe...
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.1 uvm_component与uvm_object 3.2 UVM的树形结构 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...
config_db机制用于在UVM验证平台间传递参数。他们通常是成对出现的。set函数时寄信,get函数是收信。 如在某个测试用例的build_phase中可以使用如下方式寄信: uvm_config_db#(int)::set(this, "env.i_agt.drv" "pre_num", 100); 其中第一个参数和第二个参数联合起来组成目标路径,与此路径符合的目标才能收...