【UVM源码学习】uvm_links

简介: 【UVM源码学习】uvm_links

uvm_links.svh定义了基类uvm_link_base及派生类uvm_parent_child_link、uvm_cause_effect_link、uvm_related_link,采用这几个类可链接任意两个object。通过把存在一定关系(亲子关系、因果关系等)的object链接在一起,可确保编译安全进行。


 uvm_link_base直接派生自uvm_object,主要实现了以下几个方法:



image.png

uvm_parent_child_link派生自uvm_link_base,适用于满足亲自关系的两个object。类中定义了局部变量左分支m_lhs和右分支m_rhs,对uvm_parent_child_link类注册到factory中。相较于uvm_link_base,uvm_parent_child_link类中实现了do_set_lhs、do_set_rhs、do_get_lhs、do_get_rhs这四个函数,并新实现了一个function get_link(调用set)来预填充当前类节点的左右分支。


 uvm_cause_effect_link类适用于满足因果的两个object,uvm_related_link则适用于存在其他相关关系的两个object。这两个类与uvm_parent_child_link除名字不同外,实现方法与uvm_parent_child_link别无二致。



目录
相关文章
|
索引
【UVM源码学习】uvm_packer
【UVM源码学习】uvm_packer
968 0
|
算法
【UVM源码学习】uvm_spell_chkr
【UVM源码学习】uvm_spell_chkr
198 0
【UVM源码学习】uvm_spell_chkr
|
存储 C语言
【UVM源码学习】uvm_misc
【UVM源码学习】uvm_misc
140 0
【UVM源码学习】uvm_misc
|
测试技术 数据库 容器
【UVM源码学习】uvm_resource
【UVM源码学习】uvm_resource
185 0
【UVM源码学习】uvm_resource
【UVM源码学习】uvm_object
【UVM源码学习】uvm_object
137 0
【UVM源码学习】uvm_object
【UVM源码学习】uvm_recorder
【UVM源码学习】uvm_recorder
269 0
【UVM源码学习】uvm_recorder
【UVM源码学习】uvm_event
【UVM源码学习】uvm_event
330 0
【UVM源码学习】uvm_event
【UVM源码学习】uvm_object_globals
【UVM源码学习】uvm_object_globals
144 0
【UVM源码学习】uvm_object_globals
【UVM源码学习】uvm_registry
【UVM源码学习】uvm_registry
247 0
【UVM源码学习】uvm_registry
【UVM源码学习】uvm_heartbeat
【UVM源码学习】uvm_heartbeat
251 0
【UVM源码学习】uvm_heartbeat