Using of uvm_config_db# in virtual sequence

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:

  1. 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

  2. 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