0

我有几个与 UVM 阶段build()run(). 它们可能也适用于其他验证方法 a> 为什么build()以自上而下的顺序执行该阶段。这是否意味着我们需要更新build()阶段中的所有组件,然后继续执行build()在类中实例化的其他子组件?b> 中run()相是什么super.run()叫什么?run()阶段的执行顺序是什么

4

1 回答 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 回答