In reply to Achilles:
if you set timescale to 1ps/1ps, but still got #1=1ns in your simulation, you’d better print out timescale before you start to wait #50000 by using cmd below:
$printtimescale(path)
Generally, if have other files re-define the timescale, your wait time will be different without notifying you.
So if there are several persons working on the same environment and you only handle part of the env(especially RTL also have the right to change timescale), better define your own wait task inside tb_top where you can call in sub-file:
timeunit 1ns
timeprecision 1ps
task dly_ns(input real delay);
#delay;
endtask:dly_ns
task dly_us(input real delay);
#(delay*1000);
endtask:dly_us
Now you can call dly_ns(num) or dly_us(num) as you want.