请教一个基础问题,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