In reply to mseyunni:
Question for you: "How do you stop your sim now? If you use a
“uvm_test_done.drop_objection(this);”
then, add something like what I originally proposed, or put an assertion in one (or more interfaces to trigger a signal that can be used to do the drop_objection.
I am thinking of something like this
// in the SV interface
bit no_activity;
function void set_no_activity();
no_activity = 1'b1;
`uvm_error("ID", "did not wake up")
endfunction
ap_activity: assert property(@(posedge clk) activity |-> ##[1:MAX_DEL] activity)
else set_no_activity();
endinterface
BTW, do you use any of these functions?
a) $finish
b) $stop
c) $exit
If so, they can be called from an assertion action block.
Can you show a snippet on how you currently end the sim?