UVM Links

UVMkit » 1800.2-2020

The <uvm_link_base> class, and its extensions, are provided as a mechanism to allow for compile-time safety when trying to establish links between records within a uvm_tr_database.

Contents
UVM LinksThe <uvm_link_base> class, and its extensions, are provided as a mechanism to allow for compile-time safety when trying to establish links between records within a uvm_tr_database.
Accessors
Implementation Callbacks
uvm_parent_child_linkThe uvm_parent_child_link is used to represent a Parent/Child relationship between two objects.
uvm_cause_effect_linkThe uvm_cause_effect_link is used to represent a Cause/Effect relationship between two objects.
uvm_related_linkThe uvm_related_link is used to represent a generic “is related” link between two objects.

uvm_parent_child_link

The uvm_parent_child_link is used to represent a Parent/Child relationship between two objects.

Summary
uvm_parent_child_link
The uvm_parent_child_link is used to represent a Parent/Child relationship between two objects.
Class Hierarchy
uvm_link_base
uvm_parent_child_link
Class Declaration
class uvm_parent_child_link extends uvm_link_base
Implementation Callbacks
do_set_lhsSets the left-hand-side (Parent)
do_get_lhsRetrieves the left-hand-side (Parent)
do_set_rhsSets the right-hand-side (Child)
do_get_rhsRetrieves the right-hand-side (Child)

do_set_lhs

virtual function void do_set_lhs( uvm_object  lhs )

Sets the left-hand-side (Parent)

do_get_lhs

virtual function uvm_object do_get_lhs()

Retrieves the left-hand-side (Parent)

do_set_rhs

virtual function void do_set_rhs( uvm_object  rhs )

Sets the right-hand-side (Child)

do_get_rhs

virtual function uvm_object do_get_rhs()

Retrieves the right-hand-side (Child)

uvm_cause_effect_link

The uvm_cause_effect_link is used to represent a Cause/Effect relationship between two objects.

Summary
uvm_cause_effect_link
The uvm_cause_effect_link is used to represent a Cause/Effect relationship between two objects.
Class Hierarchy
uvm_link_base
uvm_cause_effect_link
Class Declaration
class uvm_cause_effect_link extends uvm_link_base
Implementation Callbacks
do_set_lhsSets the left-hand-side (Cause)
do_get_lhsRetrieves the left-hand-side (Cause)
do_set_rhsSets the right-hand-side (Effect)
do_get_rhsRetrieves the right-hand-side (Effect)

do_set_lhs

virtual function void do_set_lhs( uvm_object  lhs )

Sets the left-hand-side (Cause)

do_get_lhs

virtual function uvm_object do_get_lhs()

Retrieves the left-hand-side (Cause)

do_set_rhs

virtual function void do_set_rhs( uvm_object  rhs )

Sets the right-hand-side (Effect)

do_get_rhs

virtual function uvm_object do_get_rhs()

Retrieves the right-hand-side (Effect)

uvm_related_link

The uvm_related_link is used to represent a generic “is related” link between two objects.

Summary
uvm_related_link
The uvm_related_link is used to represent a generic “is related” link between two objects.
Class Hierarchy
uvm_link_base
uvm_related_link
Class Declaration
class uvm_related_link extends uvm_link_base
Implementation Callbacks
do_set_lhsSets the left-hand-side
do_get_lhsRetrieves the left-hand-side
do_set_rhsSets the right-hand-side
do_get_rhsRetrieves the right-hand-side

do_set_lhs

virtual function void do_set_lhs( uvm_object  lhs )

Sets the left-hand-side

do_get_lhs

virtual function uvm_object do_get_lhs()

Retrieves the left-hand-side

do_set_rhs

virtual function void do_set_rhs( uvm_object  rhs )

Sets the right-hand-side

do_get_rhs

virtual function uvm_object do_get_rhs()

Retrieves the right-hand-side

virtual class uvm_tr_database extends uvm_object
The uvm_tr_database class is intended to hide the underlying database implementation from the end user, as these details are often vendor or tool-specific.
class uvm_parent_child_link extends uvm_link_base
The uvm_parent_child_link is used to represent a Parent/Child relationship between two objects.
class uvm_cause_effect_link extends uvm_link_base
The uvm_cause_effect_link is used to represent a Cause/Effect relationship between two objects.
class uvm_related_link extends uvm_link_base
The uvm_related_link is used to represent a generic “is related” link between two objects.
virtual function void do_set_lhs( uvm_object  lhs )
Sets the left-hand-side (Parent)
virtual function uvm_object do_get_lhs()
Retrieves the left-hand-side (Parent)
virtual function void do_set_rhs( uvm_object  rhs )
Sets the right-hand-side (Child)
virtual function uvm_object do_get_rhs()
Retrieves the right-hand-side (Child)
virtual function void do_set_lhs( uvm_object  lhs )
Sets the left-hand-side (Cause)
virtual function uvm_object do_get_lhs()
Retrieves the left-hand-side (Cause)
virtual function void do_set_rhs( uvm_object  rhs )
Sets the right-hand-side (Effect)
virtual function uvm_object do_get_rhs()
Retrieves the right-hand-side (Effect)
virtual function void do_set_lhs( uvm_object  lhs )
Sets the left-hand-side
virtual function uvm_object do_get_lhs()
Retrieves the left-hand-side
virtual function void do_set_rhs( uvm_object  rhs )
Sets the right-hand-side
virtual function uvm_object do_get_rhs()
Retrieves the right-hand-side