Class uvm_pkg::uvm_link_base
Inheritance Diagram of uvm_link_base
Constructors
- new(string name = "unnamed-uvm_link_base")
 Function
new
Constructor
Parameters
- 
name
 - 
Instance name
 
- Parameters:
 name (string)
- 
 
Functions
- set_lhs(uvm_object lhs)
 - Parameters:
 lhs (uvm_object)
- get_lhs()
 - Return type:
 
- set_rhs(uvm_object rhs)
 - Parameters:
 rhs (uvm_object)
- get_rhs()
 - Return type:
 
- set(uvm_object lhs, uvm_object rhs)
 Function
set
Convenience method for setting both sides in one call.
Triggers both the do_set_rhs and do_set_lhs callbacks.
- Parameters:
 lhs (uvm_object)
rhs (uvm_object)
- do_set_lhs(uvm_object lhs)
 Function
do_set_lhs
Callback for setting the left-hand-side
- Parameters:
 lhs (uvm_object)
- do_get_lhs()
 Function
do_get_lhs
Callback for retrieving the left-hand-side
- Return type:
 
- do_set_rhs(uvm_object rhs)
 Function
do_set_rhs
Callback for setting the right-hand-side
- Parameters:
 rhs (uvm_object)
- do_get_rhs()
 Function
do_get_rhs
Callback for retrieving the right-hand-side
- Return type:
 
  ×
  
CLASS
uvm_link_base
The uvm_link_base class presents a simple API for defining a link between any two objects.
Using extensions of this class, a uvm_tr_database can determine the type of links being passed, without relying on "magic" string names.
For example: |
virtual function void do_establish_link(uvm_link_base link); uvm_parent_child_link pc_link; uvm_cause_effect_link ce_link; if ($cast(pc_link, link)) begin // Record the parent-child relationship end else if ($cast(ce_link, link)) begin // Record the cause-effect relationship end else begin // Unsupported relationship! end endfunction : do_establish_link