Emulation And `uvm_delay macro

since Emulation the TB developer need to remove all the #delay statements from the TB,
while what could be done for the #delay the exist in the UVM source code ?
for example (`uvm_delay used at uvm_phase.svh line 1237 (uvm v1.1d))

I believe this restriction is for time consuming delays only, not #0’s. #0’s are usually a poorly written workaround for simulation race conditions.

In reply to dave_59:

the uvm_delay macro, is defined at uvm_macros, {define uvm_delay(TIME) #(TIME)}

and called in uvm_phase::execute_phase()
{`uvm_delay(top.phase_timeout)}

in Emulation, i do a phase_jump nearly at 8570ns, and re-raise objection, but the simulation terminate reporting timeout @ 9200000000000ns !!!
{uvm_object_globals.sv: `define UVM_DEFAULT_TIMEOUT 9200s}

so i believe this phase watchdog timeout is what causing the fake timeout issue in emulation mode is not in simulation mode !