本篇举2个例子说明一下uvm中config_db的使用:如下图所示
- case 1
我们把第一个参数设置为null
, 并且instance_name
设置为uvm_test_top, 这就意味着test_case中所有的component都可以访问要设置的item:
1 | class base_env extends uvm_env; |
我们在仿真时可以在命令行中加入命令+VUM_CONFIG_DB_TRACE
来通过打印信息检查环境是否OK, 上面的例子仿真的log如下所示:
1 | ncsim> run |
- case 2
设置第一个参数为this
, instance_name 为空, 如下:
1 | uvm_config_db #(string) :: set (this, "", "Friend", "Joey"); |
log如下, 仍然可以正确获取参数:
1 | UVM_INFO /playground_lib/uvm-1.2/src/base/uvm_resource_db.svh(121) @ 0: reporter [CFGDB/SET] Configuration 'uvm_test_top.Friend' (type string) set by uvm_test_top = (string) "Joey" |