Error: The run phase must start at time 0

Hi,

I want to add delay. For example,
initial begin
#5ns;
force tb.a = 1’b1;
end

And I get an error:
UVM_FATAL |@ 15000 ps | RUNPHSTIME The run phase must start at time 0, current time is 15000 ps. No non-zero delays are allowed before run_test(), and pre-run user defined phases may not consume simulation time before the start of the run phase.

How to fix it ?

Thanks,
Alex

In reply to alexd555:

You cannot get that error message unless you call run_test(). That should be in another initial block.

In reply to dave_59:

If not in run_test then where ? Only in testbench ?

In reply to alexd555:
It looks like you do not have a UVM testbench.
Could you show some code, please?

In reply to dave_59:

what is the need of run_test getting started at 0 time only?

if I write,
initial begin
#10ns;
run_test(“base_test”)
end

it gives an error which is mentioned above.

In reply to Dhanesh_Padia:

It’s a methodology guideline that has been hard coded into the code. There is no technical reason.