请帮助了解这是否是工具问题或代码问题。
我有内部调用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