In reply to Danil:
Hi Danil,
it might not work because of the hierachy in the uvm_config_db command.
The first argument in uvm_config_db ist the context. Finally this describes the hierarchy.
There are two useful ways to define this:
-
uvm_config_db#(int)::set( null, ".driver", <string_name>, value);
‘null’ as the first argument means you want to use the full hierarchical path
'.driver’(second argument) means you are pointing to a component named driver in the hierarchy
<string_name> is a simple name under which the value is stored in the config database -
uvm_config_db#(int)::set( this, “driver”, <string_name>, value);
‘this’ as the first argument indicates you are using a hierarchical path
‘driver’ means you are pointing to a component named driver and instantiated in test.
Remark to class my_config: there is no need to register this with the factory.
Remark to class my_driver: (1) insert extends between my_driver and uvm_driver
(2) don’t use the field macro for the config.
Hope you get it running.
Christoph