Shared Parameters and Ports¶
Every OVL checker takes the parameters and ports on this page, in addition to
its own (see Checker Reference). Defaults come from std_ovl/std_ovl_defines.h
and can be changed globally by defining the matching OVL_*_DEFAULT macro
before compiling.
Shared parameters¶
Name |
Default |
Meaning |
|---|---|---|
|
|
How a violation is reported: |
|
|
|
|
|
Text added to every message from this instance. Use it to tell instances apart. |
|
|
Bit mask of coverage to collect: |
|
|
Clock edge the checker samples on: |
|
|
Active level of |
|
|
What |
Shared ports¶
Name |
Direction |
Meaning |
|---|---|---|
|
input |
Sampling clock. Not present on the unclocked checkers
( |
|
input |
Checker reset; polarity set by |
|
input |
Checker enable; effect set by |
|
output [2:0] |
Violation flags, one cycle per violation (see below). |
The fire output¶
Bit |
Name |
Set when |
|---|---|---|
|
|
The checker’s rule is violated. |
|
|
A checked input has X or Z ( |
|
|
A coverage point is hit. Not implemented in the AsFigo
|
fire is driven only with -DOVL_VERILOG. With -DOVL_SVA the
upstream wrappers tie it to 0 and report through SVA action blocks only.
Compile-time macros¶
Macro |
Effect |
|---|---|
|
Select plain-Verilog or SVA checker logic. |
|
Turn on the assertion checks. Without it the checkers do nothing. |
|
Turn on coverage collection. |
|
Turn off all X/Z checks. |
|
Turn off the implicit X/Z checks that each checker adds on its inputs. |
|
Stop reporting after this many errors per instance. |
|
Report |
|
Report through |
|
Use the original upstream reporting task
( |
Message format¶
Without OVL_UVM, a violation prints:
OVL_ERROR : <assert_name> : <msg> : <error message>
where <assert_name> is the checker name in capitals (for example
OVL_BITS) and <msg> is the instance’s msg parameter. The simulator
adds the file, line, time and scope.