微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 请教一个基础问题,UVM中new和build_phase的问题

请教一个基础问题,UVM中new和build_phase的问题

时间:10-02 整理:3721RD 点击:
new和build_phase有什么不同,感觉new阶段好像没什么作用,为啥new和build_phase要用function,而main_phase是task?

new和build_phase

沙发沙发沙发沙发

用 build_phase 是UVM 层次化结构 设计的原因。new应该是被隐含在factory模式中来调用的。至于为什么build 用 function,而main用task,可以看看function和task的基本区别就懂了。

简单来讲,new就是初始化,build就是简历UVM各部分结构的联系。

在C++中,初始化的new函数被称作构造函数,相当于在硬件电路里面的复位操作。

It's Everything I Hoped For!

一个类要使用它必须提供new()函数,当然static的例外。至于那两个phase是UVM的层次化要求,当然你可以把所有东西写到一个里面,也有办法跑起来,但是可重用性就打折扣了。
build phase的典型应用:
Instantiate sub-components.
Instantiate register model.
Get configuration values for the component being built.
Set configuration values for sub-components.
main phase就不简单包含初始化组件和赋值这种非时间推进的操作了,所有用task

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top