Answer»
- Uvm_config_db is a parameterized class used for configuration of different type of parameter into the uvm database, So that it can be used by any component in the lower level of HIERARCHY.
- Uvm_config_db is a convenience layer built on top of uvm_resource_db, but that convenience is very IMPORTANT. In particular, uvm_resource_db uses a "last write wins" approach. The uvm_config_db, on the other hand, looks at where things are in the hierarchy up through end_of_elaboration, so "PARENT wins." Once you start start_of_simulation, the config_db becomes "last write wins."
- All of the functions in uvm_config_db#(T) are static, so they MUST be CALLED using the :: operator. It is extended from the uvm_resource_db#(T), so it is child class of uvm_resource_db#(T).
|