Class uvm_pkg::uvm_resource_db
Inheritance Diagram of uvm_resource_db
Name |
Default value |
Description |
---|---|---|
T |
uvm_object |
Name |
Actual Type |
Description |
---|---|---|
rsrc_t |
Functions
- get_by_type(string scope)
function
get_by_type
Get a resource by type. The type is specified in the db class parameter so the only argument to this function is the scope .
- Parameters:
scope (string)
- Return type:
- get_by_name(string scope, string name, bit rpterr = 1)
function
get_by_name
Imports a resource by name . The first argument is the current scope of the resource to be retrieved and the second argument is the name . The rpterr flag indicates whether or not to generate a warning if no matching resource is found.
- Parameters:
scope (string)
name (string)
rpterr (bit)
- Return type:
- set_default(string scope, string name)
function
set_default
add a new item into the resources database. The item will not be written to so it will have its default value. The resource is created using name and scope as the lookup parameters.
- Parameters:
scope (string)
name (string)
- Return type:
- set(string scope, string name, uvm_object val, uvm_object accessor = null)
function
set
Create a new resource, write a val to it, and set it into the database using name and scope as the lookup parameters. The accessor is used for auditing.
- Parameters:
scope (string)
name (string)
val (uvm_object)
accessor (uvm_object)
- set_anonymous(string scope, uvm_object val, uvm_object accessor = null)
function
set_anonymous
Create a new resource, write a val to it, and set it into the database. The resource has no name and therefore will not be entered into the name map. But is does have a scope for lookup purposes. The accessor is used for auditing.
- Parameters:
scope (string)
val (uvm_object)
accessor (uvm_object)
- set_override(string scope, string name, uvm_object val, uvm_object accessor = null)
function set_override
Create a new resource, write val to it, and set it into the database. Set it at the beginning of the queue in the type map and the name map so that it will be (currently) the highest priority resource with the specified name and type.
- Parameters:
scope (string)
name (string)
val (uvm_object)
accessor (uvm_object)
- set_override_type(string scope, string name, uvm_object val, uvm_object accessor = null)
function set_override_type
Create a new resource, write val to it, and set it into the database. Set it at the beginning of the queue in the type map so that it will be (currently) the highest priority resource with the specified type. It will be normal priority (i.e. at the end of the queue) in the name map.
- Parameters:
scope (string)
name (string)
val (uvm_object)
accessor (uvm_object)
- set_override_name(string scope, string name, uvm_object val, uvm_object accessor = null)
function set_override_name
Create a new resource, write val to it, and set it into the database. Set it at the beginning of the queue in the name map so that it will be (currently) the highest priority resource with the specified name. It will be normal priority (i.e. at the end of the queue) in the type map.
- Parameters:
scope (string)
name (string)
val (uvm_object)
accessor (uvm_object)
- read_by_name(string scope, string name, uvm_object val, uvm_object accessor = null)
function
read_by_name
locate a resource by name and scope and read its value. The value is returned through the output argument val . The return value is a bit that indicates whether or not the read was successful. The accessor is used for auditing.
- Parameters:
scope (string)
name (string)
val (uvm_object)
accessor (uvm_object)
- read_by_type(string scope, uvm_object val, uvm_object accessor = null)
function
read_by_type
Read a value by type. The value is returned through the output argument val . The scope is used for the lookup. The return value is a bit that indicates whether or not the read is successful. The accessor is used for auditing.
- Parameters:
scope (string)
val (uvm_object)
accessor (uvm_object)
- write_by_name(string scope, string name, uvm_object val, uvm_object accessor = null)
function
write_by_name
write a val into the resources database. First, look up the resource by name and scope . If it is not located then add a new resource to the database and then write its value.
Because the scope is matched to a resource which may be a regular expression, and consequently may target other scopes beyond the scope argument. Care must be taken with this function. If a get_by_name match is found for name and scope then val will be written to that matching resource and thus may impact other scopes which also match the resource.
- Parameters:
scope (string)
name (string)
val (uvm_object)
accessor (uvm_object)
- write_by_type(string scope, uvm_object val, uvm_object accessor = null)
function
write_by_type
write a val into the resources database. First, look up the resource by type. If it is not located then add a new resource to the database and then write its value.
Because the scope is matched to a resource which may be a regular expression, and consequently may target other scopes beyond the scope argument. Care must be taken with this function. If a get_by_name match is found for name and scope then val will be written to that matching resource and thus may impact other scopes which also match the resource.
- Parameters:
scope (string)
val (uvm_object)
accessor (uvm_object)
- dump()
function
dump
Dump all the resources in the resource pool. This is useful for debugging purposes. This function does not use the parameter T, so it will dump the same thing -- the entire database -- no matter the value of the parameter.
class
uvm_resource_db
All of the functions in uvm_resource_db#(T) are static, so they must be called using the :: operator. For example:
The parameter value "int" identifies the resource type as uvm_resource#(int). Thus, the type of the object in the resource container is int. This maintains the type-safety characteristics of resource operations.