We are Raising two phase objections and only dropping one phase objection then, what will happen? If we are not dropping any phase objection, how much time will the simulation go into the loop? Will our simulation finish or stop by itself if there is some time limitation?
There is a default UVM_DEFAULT_TIMEOUT which will end a phase after 9200 seconds if an objection is not dropped. It can be overridden on the command line with +UVM_TIMEOUT=<timeout>, or in the testbench via several methods.
Thanks Cgales
Can we raise an objection in any phase and then drop it into the run phase? Why are we not using raise and drop objections to every or other component of the UVM hierarchy?
You need to raise/lower an objection in the same phase to allow the phase to complete. A phase won’t complete until all objections are lowered.
Since a test won’t complete until all sequences are finished, there is only the need to raise/drop an objection at the test level. Raising/dropping objections in other components will only add complexity to the environment and reduce performance.