Ovm_objection for sequences run by virtual sequence

For this test environment, I have a virtual sequencer instantiating 2 sequencers The virtual sequence kicks off the sequences, one sequence per sequencer.

I noticed that if I add a pre_body (raise_objection) and post_body(drop_objection) for the sequences of the 2 sequencers, they dont do anything.

But if I add the pre_body and post_body for the virtual sequence… that does make the objection_mechanism work.

Later I added the raise_objection and drop_objection within the body of one of the sequences of the 2 sequencers, the objection mechanism works.

Could I be doing something wrong, or this is how its suppose to work?

  1. pre_body(), post_body() only invoked when it is root sequence, as known on page. 138 of golden reference guide that could be downloaded at URL below. which matches your observation.

http://www.ovmworld.org/contributions-details.php?id=71&keywords=OVM_Golden_Reference_Guide

  1. Although example suggest us to add raise/drop in pre_body()/post_body(), however, personally I think in real case they should be invoked in the body. at least in my cases they work fine.

Thanks for the tip(item1)…it makes sense why it worked the way it did.
And agreed on item2, as my query says putting the calls in the body itself work fine…
Thanks