Watchdog Timer

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?