Quantcast
Channel: UVM Forums RSS Feed
Viewing all articles
Browse latest Browse all 756

Random stability issue with `uvm_info and changing verbosity

$
0
0

I've encountered a rather nasty issue with the UVM 1.2 BCL where changing the `uvm_info verbosity from UVM_NONE to UVM_LOW for the same random seed yields different simulation results.

 

Mantis bug logged here:

https://accellera.mantishub.com/view.php?id=5482

 

This is not good practice, BUT - It is possible for the random stability to be affected, for example, if within the `uvm_info macro, a function is called that allocates a new object or randomizes, thus altering the RNG.

 

Example:

 

`uvm_info("SOME_ID", $psprintf("Some number is: %0d", get_some_number()), UVM_LOW)

 

function int get_some_number();

  some_object obj = new();

  get_some_number = $urandom;

endfunction

 

I understand that some effort has been put in to revamping the message reporting mechanism from 1.1 to 1.2, as well as improving the random stability with the insertion of get/set_randstate guards.

 

If this is something that is completely unavoidable in UVM, then it might be a good idea to add this to the UVM User Guide as an example of bad coding.

 

 

 


Viewing all articles
Browse latest Browse all 756

Trending Articles