Non Standard Checks
ID |
Message |
Notes/Examples |
ASSERTION_IN_CUNIT_SCOPE |
Deferred immediate assertion not allowed in compilation-unit scope |
|
EXTERN_DECLARATION_IN_CUNIT_SCOPE |
Extern function not allowed in compilation-unit scope |
|
FATAL_SYSTEM_TASK_FIRST_ARGUMENT |
Expecting 0, 1 or 2 as first argument to ‘$fatal’ system task |
|
BEGIN_END_OUTSIDE_GENERATE |
‘begin/end’ generate block not allowed |
|
CONFIGURATION_RULE |
Unexpected configuration rule |
|
MISSING_CONFIGURATION_RULE_SEMI |
Expecting ‘;’ after configuration rule |
|
TIMEUNIT_IN_CLASS_SCOPE |
# declaration not allowed in class scope |
|
FUNCTION_PROTOTYPE |
Expecting ‘function’ keyword in prototype declaration |
|
PURE_QUALIFIER_POSITION |
‘pure’ qualifier not allowed before # qualifier |
|
CONSTRUCTOR_LIFETIME |
‘automatic’ lifetime for class constructor not allowed |
|
CLASS_VARIABLE_LIFETIME |
‘automatic’ lifetime for class variable # not allowed |
|
CONSTRAINT_DEFAULT_QUALIFIER |
‘default’ qualifier for constraint not allowed |
|
HARD_SOLVE_BEFORE |
‘hard’ qualifier not allowed |
|
SOFT_AFTER_EXPRESSION |
‘soft’ must be placed before the expression |
|
SOFT_BEFORE_SOFT |
‘soft’ not allowed before ‘soft’ |
|
SOFT_BEFORE_UNIQUE |
‘soft’ not allowed before ‘unique’ |
|
SOFT_BEFORE_IF |
‘soft’ not allowed before ‘if’ |
|
SOFT_BEFORE_FOREACH |
‘soft’ not allowed before ‘foreach’ |
|
SOFT_BEFORE_DISABLE |
‘soft’ not allowed before ‘disable’ |
|
PARENTHESES_DIST_EXPRESSION |
Enclosing parentheses not allowed for dist expression |
|
SPACE_DIST_WEIGHT |
Unexpected space between : and # in dist weight |
|
DYNAMICPARAM |
Unexpected keyword ‘dynamicparam’ |
|
CONST_AFTER_STATIC |
‘const’ qualifier not allowed after ‘static’ |
|
LIFETIME_QUALIFIER_BEFORE_VAR |
# qualifier not allowed before ‘var’ |
|
TYPEDEF_COVERGROUP |
Typedef of covergroup not allowed |
|
TYPEDEF_DATATYPE |
Explicit data type required (implicit ‘logic’ is assumed) |
|
IMPLICIT_DATA_TYPE_IN_DECLARATION |
Expecting net type (e.g. wire) or ‘var’ keyword before implicit data type |
|
PACKED_DIMENSION_INTEGER_TYPE |
Unexpected packed dimension for integer type |
|
PACKED_STRUCT_WITH_SIGNING |
Expecting ‘packed’ before signing |
|
TYPEOF_SYSTEM_FUNCTION |
‘$typeof’ system function not allowed |
|
PACKAGE_SCOPE_IN_ENUM_BASE_TYPE |
Package scope before enum base type not allowed |
|
ENUM_IMPLICIT_DATATYPE |
Explicit data type required (implicit # is assumed) |
|
DELAY_VALUE_EXPRESSION |
Expecting parentheses around bit-select and part-select |
|
PARAMETER_DYNAMIC_ARRAY |
Fixed size required for parameter dimension |
|
CONST_EXPR_PACKED_DIMENSION |
Expecting constant range instead of constant expression for packed dimension |
|
QUALIFIER_BEFORE_METHOD |
# qualifier not allowed before method keyword |
|
CLASS_SCOPE_END_LABEL |
Class scope #:: before end label not allowed |
|
HIERARCHICAL_INTERFACE_IDENTIFIER |
Hierarchical interface identifier #.# not allowed |
|
PROTOTYPE_RETURN_DATA_TYPE |
Expecting return data type or void for function prototype |
|
DPI_DECLARATION_STRING |
Expecting “DPI” or “DPI-C” |
|
EMPTY_ARGUMENTS_LIST |
Empty arguments list ‘()’ not allowed when arguments are declared inside function / task body |
|
DYNAMIC_ARRAY_INITIALIZATION |
Unexpected ‘new’ initialization for dynamic array |
|
CLASS_INSTANCE_INITIALIZATION |
Unexpected ‘new’ initialization for class instance |
|
MODPORT_PORTS_DECLARATION |
Unexpected empty modport ports declaration |
|
MODPORT_PORT_DIRECTION |
Explicit direction required for port # |
|
MODPORT_HIERARCHICAL_PORT |
Hierarchical identifier not allowed in modport port declaration |
|
MODPORT_IMPORT_EXPORT |
Unexpected .* used in modport import / export declaration |
|
REPETITION_IN_SEQUENCE |
Goto repeat ‘[->’ and non-consecutive repeat ‘[=’ operators not allowed |
|
COVERPOINT_IFF_EXPRESSION |
Expecting parentheses around coverpoint ‘iff’ expression |
|
BINS_IFF_EXPRESSION |
Expecting parentheses around bins ‘iff’ expression |
|
COVERCROSS_IFF_EXPRESSION |
Expecting parentheses around covercross ‘iff’ expression |
|
BINS_SELECTION_IFF_EXPRESSION |
Expecting parentheses around bins selection ‘iff’ expression |
|
WILDCARD_BINS_SELECTION |
‘wildcard’ not allowed for bins selection |
|
HIERARCHICAL_ACCESS_IN_BINS_EXPRESSION |
Cover point hierarchical identifier not allowed in bins expression |
|
SELECT_IN_BINS_EXPRESSION |
Select not allowed in bins expression |
|
COVERPOINT_EXPRESSION_TYPE |
Coverpoint expression should be of an integral data type |
|
COVERGROUP_EXPRESSION |
Expecting constant expression or non-ref covergroup argument, found # |
|
CONCATENATION_MULTIPLIER |
Expecting constant expression as concatenation multiplier, found # |
|
PULL_GATE_INSTANCE |
Multiple terminals to a pull gate instance not allowed |
|
IMPLICIT_INSTANCE_NAME |
Implicit name not allowed for instance of # |
|
PARENTHESES_GATE_TERMINAL |
Enclosing parentheses around gate terminal not allowed |
|
PARAMETER_OVERRIDE |
Expecting parentheses around parameter override |
|
EMPTY_ORDERED_PARAMETER_OVERRIDE |
Empty parameter override in ordered list not allowed |
|
MULTIPLE_DOT_STAR_CONNECTIONS |
Dot start port connection ‘.*’ cannot appear more than once in the port list |
|
INITIAL_BLOCK_SCOPE |
Unexpected initial block construct |
|
FINAL_BLOCK_SCOPE |
Unexpected final block construct |
|
SELECT_IN_EVENT_CONTROL |
Select in event control not allowed |
|
EVENT_TRIGGER |
‘class_name::’ not allowed in event trigger construct |
|
DISABLE_STATEMENT |
‘class_name::’ not allowed in disable statement |
|
EMPTY_CASE_STATEMENT |
Empty case statement not allowed |
|
EMPTY_ASSIGNMENT_PATTERN |
Empty assignment pattern ‘{} not allowed |
|
MISSING_FOR_LOOP_INITIALIZATION |
‘for’ loop variable initialization required |
Note Not applicable in IEEE 1800-2012 standard syntax or newer.
|
MISSING_FOR_LOOP_CONDITION |
‘for’ loop conditional expression required |
Note Not applicable in IEEE 1800-2012 standard syntax or newer.
|
MISSING_FOR_LOOP_STEP |
‘for’ loop step required |
Note Not applicable in IEEE 1800-2012 standard syntax or newer.
|
FOREACH_LOOP_CONDITION |
Multidimensional array select not allowed in foreach loop condition |
Note Strict only check. See +dvt_strict_non_standard_checks build directive on how to activate it.
|
FOR_LOOP_INITIALIZATION |
Expecting assignment in ‘for’ loop variable initialization |
|
SELECT_IN_WEIGHT |
Select in weight specification not allowed |
|
PARALLEL_PATH_DESCRIPTION |
List of inputs in parallel path description not allowed |
|
RANGE_IN_MULTIPLE_CONCATENATION |
Range in multiple concatenation not allowed |
|
ASSIGNMENT_PATTERN |
Expecting assignment pattern ‘{…} instead of concatenation |
|
ASSIGNMENT_PATTERN_CONTEXT |
Assignment pattern not allowed outside assignment-like context (could not determine data type) |
|
SCALAR_ASSIGNMENT_PATTERN |
Variable of 1-bit scalar type # not allowed as target of assignment pattern |
|
TARGET_UNPACKED_ARRAY_CONCATENATION |
Unpacked array concatenation not allowed as target expression |
|
STREAM_CONCATENATION_TYPE |
Packed dimension on stream concatenation type not allowed |
|
RANDOMIZE_ARGUMENT |
Range selection of randomize argument # not allowed |
|
INSIDE_OPERATOR |
‘inside’ operator in constant expression not allowed |
|
INSIDE_OPERATOR_RANGE |
Expecting curly braces {} around ‘inside’ operator range |
|
TYPE_CASTING |
Expecting tick before type casting expression |
|
NULL_CONSTANT_EXPRESSION |
Expecting constant expression instead of ‘null’ |
|
TIME_VALUE |
Unexpected white space between number and time value |
|
HIERARCHICAL_CLASS_ACCESS |
Class scope resolution access ‘::’ not allowed |
|
SELECT_IN_CROSS_ITEMS_LIST |
Select in cross items list not allowed |
|
HIERARCHICAL_ROOT_ACCESS |
Unexpected ‘$root’ name before package or class scope access |
|
COMMA_AFTER_ATTRIBUTE_INSTANCE |
Attribute instance followed by ‘;’ not allowed |
|
CONST_ATTRIBUTE_INSTANCE |
‘const’ for attribute instance not allowed |
|
ATTRIBUTE_INSTANCE_DATA_TYPE |
Attribute instance data type not allowed |
|
SELECT_IN_ATTRIBUTE_INSTANCE |
Select in attribute instance not allowed |
|
TYPEOF_SYSTEM_TASK |
Unexpected ‘$typeof’ system task |
|
KEYWORD_AS_IDENTIFIER |
Reserved keyword # not allowed as identifier |
instance, restrict, checker, table, cell, config, design |
MULTIPLE_BINS |
Specification of multiple bins dimension not allowed |
|
ASSERTION_STATEMENT_ATTRIBUTE_INSTANCE |
Expecting attribute instance after block identifier # for procedural assertion statement |
|
SYSTEM_FUNCTION_ARGUMENTS |
Maximum number of arguments for # system function is # |
|
PARENTHESES_PATTERN |
Enclosing parentheses around pattern not allowed |
matches (tagged VAL .c) |
WILDCARD_EQUALITY_OPERATOR |
Expecting wildcard operator ‘==?’ instead of ‘=?=’ |
|
WILDCARD_INEQUALITY_OPERATOR |
Expecting wildcard operator ‘!=?’ instead of ‘!?=’ |
|
STRING_CONTINUATION |
Expecting ‘\’ to continue the string on the next line |
|
STRING_CONTINUATION_WS |
White-space not allowed after ‘\’ line continuation |
|
COMPILER_GUARD |
Expecting identifier after `ifdef, `ifndef, `elsif instead of `# |
|
USELIB_DIRECTIVE |
Unexpected Verilog-XL directive `uselib, use -y, -v, and +libext command line flags instead |
|
LIBRARY_PATH |
Quotes for library path specification not allowed |
|
MACRO_TEXT |
Macro text string must terminate with `” instead of “ |
|
MACRO_MULTILINE_DELIMITER |
Unexpected whitespace character(s) after macro multiline delimiter |
|
EXPONENT_FORMAT_TIME_VALUE |
Unexpected exponent format for time value |
|
API |
Unexpected method / field # |
Note Strict only check for some API. See +dvt_strict_non_standard_checks build directive on how to activate all. |
NOF_PARAMETER_OVERRIDES |
Expected # parameter overrides, found # |
|
MISSING_FUNCTION_IMPLEMENTATION |
# extern function is not implemented |
|
MISSING_TASK_IMPLEMENTATION |
# extern task is not implemented |
|
FUNCTION_IMPLEMENTATION_SCOPE |
Function implementation of # must be in the same scope as class # |
|
TASK_IMPLEMENTATION_SCOPE |
Task implementation of # must be in the same scope as class # |
|
CONSTRAINT_IMPLEMENTATION_SCOPE |
Constraint implementation # must be in the same scope as class # |
|
MODPORT_IMPORT_EXPORT_PORT |
Expecting method name instead of interface signal name # |
|
SELECT_METHOD_CALL |
Select not allowed after # method call |
|
EVENT_CONTROL_EXPRESSION |
Expecting singular data type for event control expression instead of type # |
|
METHOD_OVERRIDE_ARGUMENT_NAME |
Argument name # of method # does not match # of override # |
|
FUNCTION_IMPLEMENTATION_RETURN_TYPE |
Return type # of function # must be the same as prototype return type (non-standard use of type alias) |
|
FUNCTION_IMPLEMENTATION_INTERNAL_RETURN_TYPE |
Internal return type # for the implementation of extern method # requires scope resolution |
|
METHOD_IMPLEMENTATION_ARGUMENT_TYPE |
Argument type # of method # must be the same as prototype argument type (non-standard use of type alias) |
|
VOID_CAST_OF_VOID_FUNCTION |
Void cast of void function # not allowed |
|
LOGICAL_NEGATION |
Operand of type # not allowed with logical negation # (use == null instead) |
|
BINARY_LOGICAL_OPERATOR |
Operand of type # not allowed with binary logical operator # (use != null instead) |
|
DYNAMIC_ARRAY_NULL_OPERATION |
# operator is undefined for dynamic array # and ‘null’ |
|
NUMERIC_NULL_OPERATION |
# operator is undefined for numeric type # and ‘null’ |
|
STRING_OPERATION |
Explicit ‘string’ cast required of # operand of type # |
|
ENUM_ASSIGNMENT |
Explicit cast required when assigning # to variable # of enum type # |
|
ENUM_COMPARISON |
Explicit cast required when comparing # to variable # of enum type # |
|
ENUM_RETURN |
Explicit cast to enum type # required when returning # |
|
DIFFERENT_ENUMS_ASSIGNMENT |
Explicit cast required when assigning to enum type # from enum type # |
|
DIFFERENT_ENUMS_COMPARISON |
Explicit cast required when comparing enum type # to enum type # |
|
EVENT_CONTROL |
The following events must be of a singular data type:# |
|
IMPORT_TYPE_WITHOUT_EXPORT |
Package # must export type # |
|
TYPE_SPECIALIZATION |
Type # is already a specialization of # |
|
REPEAT_CONDITION_UNPACKED_ARRAY |
Unpacked array # not allowed as repeat condition |
|
REPEAT_CONDITION_STRING |
String variable # not allowed as repeat condition |
|
REPEAT_CONDITION_UNPACKED_STRUCT |
Unpacked struct / union # not allowed as repeat condition |
|
INTERFACE_NAME_SELF_REFERENCE |
Interface type name # not allowed as self reference |
|
INVALID_VIRTUAL_INTERFACE |
Interface # containing interface ports cannot be used as a virtual interface |
|
INVALID_RAND_MODE_CALL |
‘rand_mode’ call not allowed for non-random variable # |
|
PORT_DEFAULT_VALUE |
Ouput / Inout / Ref port # cannot have a default value |
|
ANSI_ARGUMENT_REDECLARATION |
Redeclaration of ANSI argument # is not allowed |
|
ANSI_PORT_REDECLARATION |
Redeclaration of ANSI port # is not allowed |
|
REDUNDANT_NON_ANSI_PORT_DIRECTION |
Declaration of port # has redundant input / output / inout direction |
|