Set_global_timeout() doesn't obey time units

Communicating time values across multiple timescale domains has been a gotchain Verilog since day one. Timescales only apply to scaling of literal time values, not values of variables or passed arguments. Therefore, you should always use a literal time value in any expression involving time to a normalized time unit.
Unfortunately, they didn’t do this inside the OVM library. So if your OVM package is compiled with a default of timescale of 1ps, then you should do this to normalize it :

set_global_timeout(1us/1ps);
Dave Rich

Hi dave,
the syntax that you mentioned “
set_global_timeout(1us/1ps);
” will result in such compile error:
: near “ps”: syntax error, unexpected “IDENTIFIER”, expecting ‘)’
Actually why not set such timescale in makefile and be decided by users rather than in OVM lib?