前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >UVM模型(二)之component

UVM模型(二)之component

作者头像
瓜大三哥
发布2018-02-26 11:38:12
1.8K0
发布2018-02-26 11:38:12
举报
文章被收录于专栏:瓜大三哥

UVM模型(二)之component

Component与object是UVM中两个最重要的概念。

1.uvm_component中的parent

UVM通过uvm_component来实现树形结构,所有的UVM树的节点都是一个uvm_component。每个uvm_component都有一个特点:他们在new的时候,需要指定一个类型为uvm_component,名字为parent的变量。

Function new(string name, uvm_component parent)

一般的,在使用的时候,parent都是this。假设现在有一个A派生自uvm_component,在A中有一个uvm_component B的成员变量,则A的定义如下: Class A extends uvm_component; uvm_compoent B; Function new(string name, uvm_component parent); super.new(name,parent); B = new(“B”,this); endfunction endclass

在B实例化的时候,就把this指针传递给了B,代表A是B的parent。

2.UVM树的根在哪里?

UVM中真正的树根是一个称为uvm_top的东西,uvm_top是一个全局变量,它是uvm_root的一个实例,而uvm_root派生自uvm_component,所以uvm_top本质上是一个uvm_component,它是树的根。

3.uvm_component的phase自动执行

Uvm_component有两大特性,除了上面提到的在new的时候需要指定一个parent外,另外一个重要的特性就是它具有phase自动执行的特性。当整棵树的build_phase执行完的时候,会自动执行connect_phase,以次类推。这样就可以最大程度上避免出错。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-10-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 瓜大三哥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • UVM模型(二)之component
  • Component与object是UVM中两个最重要的概念。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档