User guide
21-94
OpenVera Native Testbench
the current thread is suspended until that clock edge occurs and then
the value is sampled. NTB-OV implements this behavior by default.
On the other hand, in SystemVerilog, sampling never blocks and the
value that was sampled at the most recent edge of the clock is used.
Analogous differences exist for drives and expects.
Miscellaneous Issues
Blocking Functions in OpenVera
When a SystemVerilog function calls a virtual function that may
resolve to a blocking OpenVera function at run-time, the compiler
cannot determine with certainty if the SystemVerilog function will
block. VCS Issues a warning at compile time and let the
SystemVerilog function block at run-time
The terminate, wait_child, disable fork, and wait fork
Constructs
Besides killing descendant processes in the same language domain,
terminate invoked from OpenVera will also kill descendant
processes in SystemVerilog. Similarly, disable fork invoked from
SystemVerilog will also kill descendant processes in OpenVera.
wait_child will also wait for SystemVerilog descendant processes
and wait fork will also wait for OpenVera descendant processes.
Constraints and Randomization
• SystemVerilog code can call randomize() on objects of an
OpenVera class type.