# uvm_component

The library implements the following public API beyond what is documented in 1800.2.

Summary

uvm_component
The library implements the following public API beyond what is documented in 1800.2.
Methods |
print_config | Print_config prints all configuration information for this component, as set by previous calls to <uvm_config_db::set()> and exports to the resources pool.
Variables |
print_config_matches | Setting this static variable causes uvm_config_db::get() to print info about matching configuration settings as they are being applied.
Methods |
begin_tr | Implementation of uvm_component::begin_tr as described in IEEE 1800.2-2017.

### Methods

### print_config

> function void print_config(
> | bit | recurse | = | 0,
> | bit | audit | = | 0
> )

Print_config prints all configuration information for this component, as set by previous calls to <uvm_config_db::set()> and exports to the resources pool. The settings are printed in the order of their precedence.

If recurse is set, then configuration information for all children and below are printed as well.

if audit is set then the audit trail for each resource is printed along with the resource name and value

@uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2

### Variables

### print_config_matches

> static bit print_config_matches

Setting this static variable causes uvm_config_db::get() to print info about matching configuration settings as they are being applied.

@uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2

### Methods

### begin_tr

Implementation of uvm_component::begin_tr as described in IEEE 1800.2-2017.

>     function int begin_tr( uvm_transaction tr,
>                            string stream_name="main",
>                            string label="",
>                            string desc="",
>                            time begin_time=0,
>                            int parent_handle=0 );

As an added feature, this implementation will attempt to get a non-0 parent_handle from the parent sequence of the transaction tr if the parent_handle argument is 0 and the transaction can be cast to a uvm_sequence_item.

> function void print_config(
> | bit | recurse | = | 0,
> | bit | audit | = | 0
> )

Print_config prints all configuration information for this component, as set by previous calls to uvm_config_db::set() and exports to the resources pool.

> static bit print_config_matches

Setting this static variable causes uvm_config_db::get() to print info about matching configuration settings as they are being applied.