# uvm_config_db_implementation_t#(T)

Abstract class representing the implementation details of the API for uvm_config_db#(T) to allow users to create alternate implementations

@uvm-contrib

Contents

uvm_config_db_implementation_t#(T) | Abstract class representing the implementation details of the API for uvm_config_db#(T) to allow users to create alternate implementations
uvm_config_db_default_implementation_t#(T) | Provides an implementation of uvm_config_db_implementation_t#(T).

### Methods

### set_imp

> static function void set_imp(
> | uvm_config_db_implementation_t | #(T) | imp | = | null
> )

#### Sets the implementation to be used to

1) the imp argument if it is not null, else 2) the relevant factory override of uvm_config_db_implementation_t#(T) if such an override exists, else 3) a new creation of uvm_config_db_default_implementation_t#(T) @uvm-contrib

### get_imp

> static function uvm_config_db_implementation_t #(
> | T
> ) get_imp()

Returns the implementation instance to be used. When called the first time, it gets that instance via set_imp(). For all subsequent calls, it returns that same instance. @uvm-contrib

### get

> pure virtual function bit get (
> |  | uvm_component | cntxt,
> |  | string | inst_name,
> |  | string | field_name,
> | inout | T | value
> )

Intended to provide the functionality for uvm_config_db#(T)::get @uvm-contrib

### set

> pure virtual function void set(
> | string | cntxt_name,
> | string | inst_name,
> | string | field_name,
> | T | value,
> | int | cntxt_depth,
> | uvm_pool#(string, uvm_resource#(T)) | pool,
> | uvm_component | cntxt
> )

Intended to provide the functionality for uvm_config_db#(T)::set @uvm-contrib

### exists

> pure virtual function bit exists(
> | uvm_component | cntxt,
> | string | inst_name,
> | string | field_name,
> | bit | rpterr
> )

Intended to provide the functionality for uvm_config_db#(T)::exists @uvm-contrib

### wait_modified

> pure virtual task wait_modified(
> | uvm_component | cntxt,
> | string | inst_name,
> | string | field_name
> )

Intended to provide the functionality for uvm_config_db#(T)::wait_modified @uvm-contrib

### trigger_modified

> pure virtual function void trigger_modified(
> | string | inst_name,
> | string | field_name
> )

Triggers the event associated with inst_name and field_name, potentially unblocking calls to wait_modified.

The inst_name variable supports regular expressions via <uvm_is_match>.

@uvm-contrib

### show_msg

> pure virtual function void show_msg(
> | string | id,
> | string | rtype,
> | string | action,
> | string | scope,
> | string | name,
> | uvm_object | accessor,
> | rsrc_t | rsrc
> )

Intended to print a formatted string regarding an access of a particular config item @uvm-contrib

## uvm_config_db_default_implementation_t#(T)

Provides an implementation of uvm_config_db_implementation_t#(T). Users may extend this class to provide an implementation that is a variation of the library implementation.

@uvm-contrib

Summary

uvm_config_db_default_implementation_t#(T)
Provides an implementation of uvm_config_db_implementation_t#(T).
Methods |
get | Provides an implementation of get, including support for config_db tracing @uvm-accellera
wait_modified | Provides an implementation of wait_modified @uvm-accellera
trigger_modified | @uvm-accellera
set | Provides an implementation of set, including support for config_db tracing @uvm-accellera
exists | Provides an implementation of get @uvm-accellera
show_msg | Provides an implementation of show_msg.

### Methods

### get

> virtual function bit get (
> |  | uvm_component | cntxt,
> |  | string | inst_name,
> |  | string | field_name,
> | inout | T | value
> )

Provides an implementation of get, including support for config_db tracing @uvm-accellera

### wait_modified

> virtual task wait_modified(
> | uvm_component | cntxt,
> | string | inst_name,
> | string | field_name
> )

Provides an implementation of wait_modified @uvm-accellera

### trigger_modified

> virtual function void trigger_modified(
> | string | inst_name,
> | string | field_name
> )

@uvm-accellera

### set

> virtual function void set(
> | string | cntxt_name,
> | string | inst_name,
> | string | field_name,
> | T | value,
> | int | cntxt_depth,
> | uvm_pool#(string, uvm_resource#(T)) | pool,
> | uvm_component | cntxt
> )

Provides an implementation of set, including support for config_db tracing @uvm-accellera

### exists

> virtual function bit exists(
> | uvm_component | cntxt,
> | string | inst_name,
> | string | field_name,
> | bit | rpterr
> )

Provides an implementation of get @uvm-accellera

### show_msg

> virtual function void show_msg(
> | string | id,
> | string | rtype,
> | string | action,
> | string | scope,
> | string | name,
> | uvm_object | accessor,
> | rsrc_t | rsrc
> )

Provides an implementation of show_msg. @uvm-accellera

> pure virtual task wait_modified(
> | uvm_component | cntxt,
> | string | inst_name,
> | string | field_name
> )

Intended to provide the functionality for uvm_config_db#(T)::wait_modified @uvm-contrib

> virtual function bit get (
> |  | uvm_component | cntxt,
> |  | string | inst_name,
> |  | string | field_name,
> | inout | T | value
> )

Provides an implementation of get, including support for config_db tracing @uvm-accellera

> virtual task wait_modified(
> | uvm_component | cntxt,
> | string | inst_name,
> | string | field_name
> )

Provides an implementation of wait_modified @uvm-accellera

> virtual function void trigger_modified(
> | string | inst_name,
> | string | field_name
> )

@uvm-accellera

> virtual function void set(
> | string | cntxt_name,
> | string | inst_name,
> | string | field_name,
> | T | value,
> | int | cntxt_depth,
> | uvm_pool#(string, uvm_resource#(T)) | pool,
> | uvm_component | cntxt
> )

Provides an implementation of set, including support for config_db tracing @uvm-accellera

> virtual function bit exists(
> | uvm_component | cntxt,
> | string | inst_name,
> | string | field_name,
> | bit | rpterr
> )

Provides an implementation of get @uvm-accellera

> virtual function void show_msg(
> | string | id,
> | string | rtype,
> | string | action,
> | string | scope,
> | string | name,
> | uvm_object | accessor,
> | rsrc_t | rsrc
> )

Provides an implementation of show_msg.