我有几个与 UVM 阶段build()
和run()
. 它们可能也适用于其他验证方法 a> 为什么build()
以自上而下的顺序执行该阶段。这是否意味着我们需要更新build()
阶段中的所有组件,然后继续执行build()
在类中实例化的其他子组件?b> 中run()
相是什么super.run()
叫什么?run()
阶段的执行顺序是什么
问问题
3012 次
1 回答
3
是的, UVM 以自上而下的顺序执行,因为子组件在父组件build_phase()
中构造之前不存在(并且 UVM 建议使用工厂方法而不是直接调用构造函数)。也是自上而下执行的,以便父级可以提供子级在执行其任务时将使用的覆盖设置build_phase()
create()
new()
build_phase()
build_phase()
每个组件的 run_phase() 是同时执行的,没有您可以依赖的定义顺序。
你只需要调用super。method () 如果你正在扩展一个需要基方法的功能的类。a 的 run_phase() 内部没有任何内容,因此从它扩展时uvm_component
无需调用。super.run_phase()
从基类扩展类时,您可能需要调用它。
于 2013-10-14T16:31:49.770 回答