Timescale versus UVM info?

Hello,

By debugging some of my code, I encountered a surprising message :
uvm_blabla @ 2250886.000000 ns --: uvm_test_top [TEST_NAME] Start waiting time : 2250885.778000 ns –

It was generated by this line of code :
@(posedge top_env.vseqr.DUT_if.Signal); `uvm_info(get_type_name(), $sformatf("Start waiting time : %t", $realtime), UVM_MEDIUM)

My timescale is the following : “-TIMESCALE 1ns/10ps”

So I was wondering if that is because UVM is printing infos only every (first time unit) step, and evey event driven by TB and processed by DUT still have the Precision timestep ?

Or could it be that it causes some issues if I put a delay after that posedge like :
#100 react();

Thank you in advance.

There was a flaw in the uvm_report_server because it used $time instead of $realtime. A fix that was inadvertently removed, then reapplied in 1800.2 2020-2.0.

1 Like

Thank you for your answer.
Is it only changing the uvm info behavior, or is it also impacting the code execution ?

it only affects the text displayed by the message. You can safely edit the uvm_report_server with this fix if you do not want to switch the latest version.

1 Like

Hi Dave,
Just wanted to confirm the following.

Is the flaw due to the following code within function compose_report_message

 $swrite(time_str, "%0t", $time);

Line 775 from uvm_report_server

Correct.