I am not clear on why my lookup in config_db is returning null? My understanding is that config_db allows metacharacter "*" to match zero or more characters for the key. So not sure why it is failing.
Below is the trace from +UVM_CONFIG_DB_TRACE. After the set, the first 2 get works even though they are called from different levels of hierarchy which matches my understanding that uvm_config_db is only doing string match. However, the next 2 get with '*' fails. Why is that?
[CFGDB/SET] Configuration 'uvm_a1.uvm_b1.key1' (type int) set by =(int) 1
[CFGDB/GET] Configuration 'uvm_a1.uvm_b1.key1' (type int) read by uvm_a1.uvm_b1 = (int) 1
[CFGDB/GET] Configuration 'uvm_a1.uvm_b1.key1' (type int) read by uvm_a1 = (int) 1
[CFGDB/GET] Configuration '*.key1' (type int) read by = null (failed lookup)
[CFGDB/GET] Configuration 'uvm_a1.*.key1' (type int) read by uvm_a1 = null (failed lookup)