User guide

20-62
Using OpenVera Assertions
General Inlined OVA Coding Guidelines
Note the following guidelines when coding inlined OVA:
Since OVA pragmas are declarative in nature, they do not need
to placed within procedural code, for example, within tasks,
functions, and always/initial/forever blocks.
Cross-module References (XMRs) are not allowed to
concurrently reside within a custom OVA description.
Template instantiation will be treated as an OVA description (the
XMR restriction also applies).
Unit binding is allowed inside ‘module endmodule’, but the
keyword ‘bind’ needs to be specifed in order to distinguish it from
template instantiation. Unit binding (with the keyword ‘bind’) can
have XMRs in its connections; however, using XMRs in
connections without the bind keyword will cause a warning
statement. Inlined bindings have the same requirements and
limits as bindings created in an OVA source file.
Inlined OVA cannot be read directly by third-party simulators.
You can, however, use VCS to produce output files that can be
read by third-party simulators.
Each instance must be terminated by a “;” (semi-colon).
Both positional and named (explicit) association of actual
arguments are supported. However, the two styles cannot be
used simultaneously in an instance.