System verilog 永远不会调用uvm配置_阶段

System verilog 永远不会调用uvm配置_阶段,system-verilog,uvm,System Verilog,Uvm,嗨,我有一个测试台环境,在配置阶段的每个测试中我都要做一些事情。所以我决定进行如下的base_测试 class base_test extends uvm_test; .... task configure_phase(uvm_phase phase); super.configure_phase(phase); phase.raise_objection(phase); `uvm_info(get_name(), "Entered configure_phas

嗨,我有一个测试台环境,在配置阶段的每个测试中我都要做一些事情。所以我决定进行如下的base_测试

class base_test extends uvm_test;
  ....

  task configure_phase(uvm_phase phase);
    super.configure_phase(phase);
    phase.raise_objection(phase);
    `uvm_info(get_name(), "Entered configure_phase", UVM_LOW)
    phase.drop_objection(phase);
  endtask
endclass

class actual_test extends base_test;
  ....
endclass

当我运行从基本测试扩展而来的测试时,当流经过UVM阶段化时,永远不会自动调用配置阶段。我还需要做些什么吗?

如果从
base\u test
扩展的
测试有一个
configure\u阶段
,它需要调用
super.configure\u阶段(阶段)


你真的需要展示一个,像下面这样的对我有用的

import uvm_pkg::*;
`include "uvm_macros.svh"

class base_test extends uvm_test;
function new(string name="",uvm_component parent);
  super.new(name,parent);
endfunction
`uvm_component_utils(base_test)
  task configure_phase(uvm_phase phase);
    super.configure_phase(phase);
    `uvm_info(get_name(), "Entered configure_phase", UVM_LOW)
  endtask
endclass

class actual_test extends base_test;
function new(string name="",uvm_component parent);
  super.new(name,parent);
endfunction
`uvm_component_utils(actual_test)
endclass
module top;
  initial run_test("actual_test");
endmodule

顺便说一句,你不应该在他们之间毫不拖延地提出或放弃反对意见,或者干脆不要这样做

测试中没有定义配置阶段,但仍然不够。我刚刚发布的代码适用于我,应该是没有运行阶段的旧版本的UVM。只有2011年发布的UVM早期采用者(早期alpha:)没有这些阶段。