虚拟任务问题

时间:2016-07-26 08:48:16

标签: uvm

请帮助了解这是否是工具问题或代码问题。

我有内部调用driver_cfg类的驱动程序类。 Insdie driver_cfg类我有虚拟任务:masterSlaveMode_cfg。

因此,在调用该任务时,工具会出现ncsim: *E,TRNULLID: NULL pointer dereference.错误

这是我的代码结构:

class driver extends uvm_driver #(uvm_sequence_item);

 driver_cfg driver_cfg_inst;
..
task run_phase (uvm_phase phase);
 seq_item_port.get_next_item(req);

 if ($cast(cfgTr, req))
 begin
    driver_cfg_inst.configDUT(cfgTr);
 end

 seq_item_port.item_done;
endtask
endclass

class driver_cfg extends uvm_component;
 `uvm_component_utils(driver_cfg)

 extern virtual task masterSlaveMode_cfg;

 task configDUT (seqItem_cfg trans);
      this.masterSlaveMode_cfg;
 endtask
endclass

task automatic driver_cfg::masterSlaveMode_cfg;
..

endtask

运行模拟工具时会出现以下错误:

ncsim: *E,TRNULLID: NULL pointer dereference. File: ./tb/driver_cfg.sv, line = 13, pos = 27 Scope: worklib.vipFiles_pkg::driver_cfg::configDUT

0 个答案:

没有答案