In the run_phase() of a component, I'd like to raise an objection to the main phase so I added the following:
uvm_main_phase::get().raise_objection(this);
and I get this error when it runs:
UVM_ERROR @ 0 ns: reporter [UVM/PH/NULL_OBJECTION] 'uvm_test_top.foo' attempted to raise an objection on 'main', however 'main' is not a task-based phase node! (This is a UVM_PHASE_IMP, you have to query the schedule to find the UVM_PHASE_NODE)
Why? What do I not understand or how should this be done?
It looks to me like uvm_main_phase is derived from uvm_task_phase so wouldn't that make it a "task-based phase node"?
Thanks.
Walker