# uvm_resource_db_implementation_t#(T)

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

@uvm-contrib

Contents

uvm_resource_db_implementation_t#(T) | Abstract class representing the implementation details of the API for uvm_resource_db#(T) to allow users to create alternate implementations
uvm_resource_db_default_implementation_t#(T) | Provides an implementation of uvm_resource_db_implementation_t#(T).

### Methods

### set_imp

> static function void set_imp(
> | uvm_resource_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_resource_db_implementation_t#(T) if such an override exists, else 3) a new creation of uvm_resource_db_default_implementation_t#(T) @uvm-contrib

### get_imp

> static function uvm_resource_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_by_type

> pure virtual function rsrc_t get_by_type(
> | string | scope
> )

Intended to provide the functionality for uvm_resource_db#(T)::get_by_type @uvm-contrib

### get_by_name

> pure virtual function rsrc_t get_by_name(
> | string | scope,
> | string | name,
> | bit | rpterr
> )

Intended to provide the functionality for uvm_resource_db#(T)::get_by_name @uvm-contrib

### set_default

> pure virtual function rsrc_t set_default(
> | string | scope,
> | string | name
> )

Intended to provide the functionality for uvm_resource_db#(T)::set_default @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 resource @uvm-contrib

### set

> pure virtual function void set(
> | string | scope,
> | string | name,
> | T | val,
> | uvm_object | accessor
> )

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

### set_anonymous

> pure virtual function void set_anonymous(
> | string | scope,
> | T | val,
> | uvm_object | accessor
> )

Intended to provide the functionality for uvm_resource_db#(T)::set_anonymous @uvm-contrib

### set_override

> pure virtual function void set_override(
> | string | scope,
> | string | name,
> | T | val,
> | uvm_object | accessor
> )

Intended to provide the functionality for uvm_resource_db#(T)::set_override @uvm-contrib

### set_override_type

> pure virtual function void set_override_type(
> | string | scope,
> | string | name,
> | T | val,
> | uvm_object | accessor
> )

Intended to provide the functionality for uvm_resource_db#(T)::set_override_type @uvm-contrib

### set_override_name

> pure virtual function void set_override_name(
> | string | scope,
> | string | name,
> | T | val,
> | uvm_object | accessor
> )

Intended to provide the functionality for uvm_resource_db#(T)::set_override_name @uvm-contrib

### read_by_name

> pure virtual function bit read_by_name(
> |  | string | scope,
> |  | string | name,
> | inout | T | val,
> | input | uvm_object | accessor
> )

Intended to provide the functionality for uvm_resource_db#(T)::read_by_name @uvm-contrib

### read_by_type

> pure virtual function bit read_by_type(
> |  | string | scope,
> | inout | T | val,
> | input | uvm_object | accessor
> )

Intended to provide the functionality for uvm_resource_db#(T)::read_by_type @uvm-contrib

### write_by_name

> pure virtual function bit write_by_name(
> | string | scope,
> | string | name,
> | T | val,
> | uvm_object | accessor
> )

Intended to provide the functionality for uvm_resource_db#(T)::write_by_name @uvm-contrib

### write_by_type

> pure virtual function bit write_by_type(
> | string | scope,
> | T | val,
> | uvm_object | accessor
> )

Intended to provide the functionality for uvm_resource_db#(T)::write_by_type @uvm-contrib

## uvm_resource_db_default_implementation_t#(T)

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

@uvm-contrib

Summary

uvm_resource_db_default_implementation_t#(T)
Provides an implementation of uvm_resource_db_implementation_t#(T).
Methods |
get_by_type | Provides an implementation of get_by_type, with a warning if the resource was not located.
get_by_name | Provides an implementation of get_by_name, with a warning if the matching resource is the wrong type.
set_default | Provides an implementation of set_default.
show_msg | Provides an implementation of show_msg.
set | Provides an implementation of set, including support for resource tracing @uvm-accellera
set_anonymous | Provides an implementation of set_anonymous, including support for resource tracing @uvm-accellera
set_override | Provides an implementation of set_override, including support for resource tracing @uvm-accellera
set_override_type | Provides an implementation of set_override_type, including support for resource tracing @uvm-accellera
set_override_name | Provides an implementation of set_override_name, including support for resource tracing @uvm-accellera
read_by_name | Provides an implementation of read_by_name, including support for resource tracing @uvm-accellera
read_by_type | Provides an implementation of read_by_type, including support for resource tracing @uvm-accellera
write_by_name | Provides an implementation of write_by_name, including support for resource tracing @uvm-accellera
write_by_type | Provides an implementation of write_by_type, including support for resource tracing @uvm-accellera

### Methods

### get_by_type

> virtual function rsrc_t get_by_type(
> | string | scope
> )

Provides an implementation of get_by_type, with a warning if the resource was not located. @uvm-accellera

### get_by_name

> virtual function rsrc_t get_by_name(
> | string | scope,
> | string | name,
> | bit | rpterr
> )

Provides an implementation of get_by_name, with a warning if the matching resource is the wrong type. @uvm-accellera

### set_default

> virtual function rsrc_t set_default(
> | string | scope,
> | string | name
> )

Provides an implementation of set_default. @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

### set

> virtual function void set(
> | string | scope,
> | string | name,
> | T | val,
> | uvm_object | accessor
> )

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

### set_anonymous

> virtual function void set_anonymous(
> | string | scope,
> | T | val,
> | uvm_object | accessor
> )

Provides an implementation of set_anonymous, including support for resource tracing @uvm-accellera

### set_override

> virtual function void set_override(
> | string | scope,
> | string | name,
> | T | val,
> | uvm_object | accessor
> )

Provides an implementation of set_override, including support for resource tracing @uvm-accellera

### set_override_type

> virtual function void set_override_type(
> | string | scope,
> | string | name,
> | T | val,
> | uvm_object | accessor
> )

Provides an implementation of set_override_type, including support for resource tracing @uvm-accellera

### set_override_name

> virtual function void set_override_name(
> | string | scope,
> | string | name,
> | T | val,
> | uvm_object | accessor
> )

Provides an implementation of set_override_name, including support for resource tracing @uvm-accellera

### read_by_name

> virtual function bit read_by_name(
> |  | string | scope,
> |  | string | name,
> | inout | T | val,
> | input | uvm_object | accessor
> )

Provides an implementation of read_by_name, including support for resource tracing @uvm-accellera

### read_by_type

> virtual function bit read_by_type(
> | input | string | scope,
> | inout | T | val,
> | input | uvm_object | accessor
> )

Provides an implementation of read_by_type, including support for resource tracing @uvm-accellera

### write_by_name

> virtual function bit write_by_name(
> | string | scope,
> | string | name,
> | T | val,
> | uvm_object | accessor
> )

Provides an implementation of write_by_name, including support for resource tracing @uvm-accellera

### write_by_type

> virtual function bit write_by_type(
> | string | scope,
> | T | val,
> | uvm_object | accessor
> )

Provides an implementation of write_by_type, including support for resource tracing @uvm-accellera

> virtual function rsrc_t get_by_type(
> | string | scope
> )

Provides an implementation of get_by_type, with a warning if the resource was not located.

> virtual function rsrc_t get_by_name(
> | string | scope,
> | string | name,
> | bit | rpterr
> )

Provides an implementation of get_by_name, with a warning if the matching resource is the wrong type.

> virtual function rsrc_t set_default(
> | string | scope,
> | string | name
> )

Provides an implementation of set_default.

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

> virtual function void set(
> | string | scope,
> | string | name,
> | T | val,
> | uvm_object | accessor
> )

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

> virtual function void set_anonymous(
> | string | scope,
> | T | val,
> | uvm_object | accessor
> )

Provides an implementation of set_anonymous, including support for resource tracing @uvm-accellera

> virtual function void set_override(
> | string | scope,
> | string | name,
> | T | val,
> | uvm_object | accessor
> )

Provides an implementation of set_override, including support for resource tracing @uvm-accellera

> virtual function void set_override_type(
> | string | scope,
> | string | name,
> | T | val,
> | uvm_object | accessor
> )

Provides an implementation of set_override_type, including support for resource tracing @uvm-accellera

> virtual function void set_override_name(
> | string | scope,
> | string | name,
> | T | val,
> | uvm_object | accessor
> )

Provides an implementation of set_override_name, including support for resource tracing @uvm-accellera

> virtual function bit read_by_name(
> |  | string | scope,
> |  | string | name,
> | inout | T | val,
> | input | uvm_object | accessor
> )

Provides an implementation of read_by_name, including support for resource tracing @uvm-accellera

> virtual function bit read_by_type(
> | input | string | scope,
> | inout | T | val,
> | input | uvm_object | accessor
> )

Provides an implementation of read_by_type, including support for resource tracing @uvm-accellera

> virtual function bit write_by_name(
> | string | scope,
> | string | name,
> | T | val,
> | uvm_object | accessor
> )

Provides an implementation of write_by_name, including support for resource tracing @uvm-accellera

> virtual function bit write_by_type(
> | string | scope,
> | T | val,
> | uvm_object | accessor
> )

Provides an implementation of write_by_type, including support for resource tracing @uvm-accellera