Hi, all
Does anybody know the differences between debug_all and debug_pp. When i use -debug_all option, vcs runs my test successfully, it will failed if i change -debug_all to -debug_pp.
This is the error message and corresponding code:
Error-[NOA] Null object access
/EDA_Tools/synopsys/vcs_vE-2011.03/etc/uvm-1.1/uvm-1.1d/src/base/uvm_pool.svh, 307
The object is being used before it was constructed/allocated.
Please make sure that the object is newed before using it.
#0 in \uvm_object_string_pool#(uvm_event)::get at
/EDA_Tools/synopsys/vcs_vE-2011.03/etc/uvm-1.1/uvm-1.1d/src/base/uvm_pool.svh:307
#1 in \uvm_transaction::new at
/EDA_Tools/synopsys/vcs_vE-2011.03/etc/uvm-1.1/uvm-1.1d/src/base/uvm_transaction.svh:494
#2 in \uvm_sequence_item::new at
/EDA_Tools/synopsys/vcs_vE-2011.03/etc/uvm-1.1/uvm-1.1d/src/seq/uvm_sequence_item.svh:53
#3 in \my_tr::new at ../sv/common/my_tr.sv:495
#4 in \uvm_object_registry#(my_tr,"my_tr")::create_object
at
/EDA_Tools/synopsys/vcs_vE-2011.03/etc/uvm-1.1/uvm-1.1d/src/base/uvm_registry.svh:197
#5 in \uvm_factory::create_object_by_type at
/EDA_Tools/synopsys/vcs_vE-2011.03/etc/uvm-1.1/uvm-1.1d/src/base/uvm_factory.svh:1104
#6 in \uvm_object_registry#(my_tr,"my_tr")::create at
/EDA_Tools/synopsys/vcs_vE-2011.03/etc/uvm-1.1/uvm-1.1d/src/base/uvm_registry.svh:248
#7 in \my_monitor::run_phase at
../sv/master/my_monitor.sv:91
#8 in \uvm_run_phase::exec_task at
/EDA_Tools/synopsys/vcs_vE-2011.03/etc/uvm-1.1/uvm-1.1d/src/base/uvm_common_phases.svh:245
#9 in \uvm_task_phase::execute at
/EDA_Tools/synopsys/vcs_vE-2011.03/etc/uvm-1.1/uvm-1.1d/src/base/uvm_task_phase.svh:150
#10 in \uvm_task_phase::m_traverse at
/EDA_Tools/synopsys/vcs_vE-2011.03/etc/uvm-1.1/uvm-1.1d/src/base/uvm_task_phase.svh:112
#11 in \uvm_task_phase::m_traverse at
/EDA_Tools/synopsys/vcs_vE-2011.03/etc/uvm-1.1/uvm-1.1d/src/base/uvm_task_phase.svh:92
#12 in \uvm_task_phase::m_traverse at
/EDA_Tools/synopsys/vcs_vE-2011.03/etc/uvm-1.1/uvm-1.1d/src/base/uvm_task_phase.svh:92
#13 in \uvm_task_phase::m_traverse at
/EDA_Tools/synopsys/vcs_vE-2011.03/etc/uvm-1.1/uvm-1.1d/src/base/uvm_task_phase.svh:92
#14 in \uvm_task_phase::m_traverse at
/EDA_Tools/synopsys/vcs_vE-2011.03/etc/uvm-1.1/uvm-1.1d/src/base/uvm_task_phase.svh:92
#15 in \uvm_task_phase::m_traverse at
/EDA_Tools/synopsys/vcs_vE-2011.03/etc/uvm-1.1/uvm-1.1d/src/base/uvm_task_phase.svh:92
#16 in \uvm_task_phase::traverse at
/EDA_Tools/synopsys/vcs_vE-2011.03/etc/uvm-1.1/uvm-1.1d/src/base/uvm_task_phase.svh:80
#17 in \uvm_phase::execute_phase at
/EDA_Tools/synopsys/vcs_vE-2011.03/etc/uvm-1.1/uvm-1.1d/src/base/uvm_phase.svh:1171
#18 in \uvm_phase::m_run_phases at
/EDA_Tools/synopsys/vcs_vE-2011.03/etc/uvm-1.1/uvm-1.1d/src/base/uvm_phase.svh:1847
#19 in \uvm_root::run_test at
/EDA_Tools/synopsys/vcs_vE-2011.03/etc/uvm-1.1/uvm-1.1d/src/base/uvm_root.svh:417
#20 in run_test at
/EDA_Tools/synopsys/vcs_vE-2011.03/etc/uvm-1.1/uvm-1.1d/src/base/uvm_globals.svh:40
#21 in unnamed$$_15 at ../sv/top/my_top.sv:470
#22 in my_tb_top
Pieces code of my_monitor.sv:
virtual task run_phase(uvm_phase phase);
my_tr axi_item;
@(negedge clkmg_vif.rst);
forever begin
@(this.clkmg_vif.wait_one_clk);
axi_item = my_tr::type_id::create("axi_item");
collect_pkt(axi_item);
scb_port.write(axi_item);
end
endtask : run_phase
By the way, class my_tr has using the field and factory mechanism. Anybody met the same problem?
Regards