Starting_phase to raise and drop objection ambigous behaviour in UVM1.2

Hello All ,

I was using starting phase to raise and drop objections in my uvm_env. But when I migrated to UVM1.2. It was working fine ( was able raise and drop
objection) but for some testcases it was raising the objection (for my sequence but not dropping the objection and simulation was also completed with
PASS banner.
The solution for this I found out was to use get_starting_phase() instead of starting phase.It behave correctly as earlier.

Any suggestions on this …?

In reply to pk_94:

My suggestion is to not use any objections in sequences. You should only use one objection in your test run_phase().

Read more about why you should only use objections in the test in this UVM Cookbook article.

In reply to pk_94:

Hello All ,
I was using starting phase to raise and drop objections in my uvm_env. But when I migrated to UVM1.2. It was working fine ( was able raise and drop
objection) but for some testcases it was raising the objection (for my sequence but not dropping the objection and simulation was also completed with
PASS banner.
The solution for this I found out was to use get_starting_phase() instead of starting phase.It behave correctly as earlier.
Any suggestions on this …?

Could you please show the code where you are raising and dropping your pbjections?
Ther eis achange from UVM-1-1 to UVM1.2 dealing with the starting phase. When migrationg your code you have to consider this.

In reply to pk_94:

Hello All ,
I was using starting phase to raise and drop objections in my uvm_env. But when I migrated to UVM1.2. It was working fine ( was able raise and drop
objection) but for some testcases it was raising the objection (for my sequence but not dropping the objection and simulation was also completed with
PASS banner.
The solution for this I found out was to use get_starting_phase() instead of starting phase.It behave correctly as earlier.
Any suggestions on this …?

i just simply changed all starting_phase to

uvm_phase ph ;
     task body/pre_body();
       ph= get_starting_phase();
       ph.raise_objection(....);

same for drop_objection. it works fine.