uvm_config_db静态函数dump 这个函数会将resource pool中的所有配置内容打印出来。 // example code: // uvm_config_db#(string)::dump(); // 这里无论数据类型用什么,拿到的resource pool都是同一个。所以数据类型可以随便填。 // function: dump // // Dump all the resources in the resource pool. ...
config_db存(set())和取(get())的关键在于字符串匹配,为此UVM库提供了一些功能来帮助调试这些字符串匹配。 1. 使用+UVM_CONFIG_DB_TRACE和+UVM_RESOURCE_DB_TRACE命令行参数 UVM库在Command Line上提供了+UVM_CONFIG_DB_TRACE和+UVM_RESOURCE_DB_TRACE命令行参数,当运行仿真命令时,如果带上上述的参数,那么在...
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:3.5.10 config_db 调试 1.除了之前的check_config_usage,UVM还提供了print_config 函数: 参数1 表示递归;0,只显示当前的component信息。 2.结果如下: 1)遍历整个验证平台(我发现只是这个component 下的,不包括并列和之上,书上有可能是错的?),找出那些被设置过的信息对于它们是可见的,比如 agt_scb_fifo有...
如果get()返回1就是找到了,返回0就算没有找到。上述两个函数中,如果cntxt传递的是null,那么UVM自动会使用uvm_root::get()替换它。大家如果需要调试uvm_config_db的话,可以使用+UVM_CONFIG_DB_TRACE或uvm_config_db_options类内的turn_on_tracing()/turn_off_tracing()/is_tracing()函数来进行。
一、config_db机制概述 (1)路径 (2)set和get (3)省略get函数 二、跨层次多重设置 三、非直线获取 四、对通配符的支持 五、保证传递的正确 六、调试 总结 一、config_db机制概述 uvm树形结构的节点,往往需要高层次的组件来下发环境参数,或者通过配置来进行环境模式的变更。例如interface,环境中的driver和monitor...
使用uvm_config_db 分层Testbench配置 前言 对于刚接触验证方法或正在采用 uvm 的工程师,本文重点介绍 uvm 配置机制 "uvm_config_db",它有助于在分层测试台组件之间传递不同的类属性。通过使用示例,本文解释了uvm_config_db的用法、技术和局限性。
弄UVM的验证工程的过程种,发现之前resource这块学得不到位,来这补充一下,先补充uvm_config_db,就拿我自己那个工程的代码来举例子说明uvm_config_db是怎么用的。 我的工程中主要是对virtual interface用到了config_db,流程是这样的: 1.在testbench中例化了interface,然后通过config_db::set来把interface这个样的一...
一、uvm_config_db简介 uvm_config_db的全称是configuration database,它是建立在 uvm_resource_db 之上的便利层,resource database储存的是与scope字符串相关联的name-value对(如下图所示) 。uvm_config_db可以将scope字符串与组件层次结构中的完整层次结构名称相关联,这样就可以通过组件层次来更加方便地访问...