UVM has an internal database table in which we can store values under a given name and can be retrieved later by someother testbench component. Theuvm_config_db class provides a convenience interface on top of theuvm_resource_db to simplify the basic interface used for uvm_component instances.Note that all the functions are staticand must be called using the : :scope operator.
Such a configuration database allows us to store different configuration settings under different names that could potentiallyconigure testbench components when required without modifying the actual testbench code. For example, to turn onfunctional coverage for an agent,we would simply have to give the path to that agent and set a variable within theconfiguration database to value 1.The agent could check for the value under this variable and start collecting coverage if it is turned on.