Verissimo SystemVerilog Testbench Linter User Guide
Rev. 24.1.5, 13 March 2024

8.4.1 Semantic Checks

ID Message
Assignment patterns  
ASSIGNMENT_PATTERN_VALUESExpecting # value(s), found #
INCOMPLETE_ASSIGNMENT_PATTERNAssignment pattern for struct # is missing association(s) to member(s) #
ASSIGNMENT_PATTERN_MULTIPLE_ASSOCIATIONSAssignment pattern for struct # has multiple associations for member(s) #
Associated types (fields, variables, functions, etc.)  
ILLEGAL_TYPE_REFERENCEUnexpected type # of # (type is #)
ILLEGAL_TYPE_REFERENCEUnexpected type # of # (use virtual [interface] in front of #)
ILLEGAL_NET_DATATYPEIllegal net data type #
ILLEGAL_NET_DATATYPEIllegal net 2-state data type #
ILLEGAL_CUNIT_REFERENCEReference to compilation unit identifier # not allowed in package
NON_EXISTING_TYPENon existing type #
USAGE_BEFORE_DECLARATIONElement # is used before being declared at line # in #
Blocks  
DUPLICATE_CLOCKINGDuplicate clocking block #, already declared at line # file #
DUPLICATE_NAMED_BLOCKDuplicate named block #, already declared at line # file #
UNRESTRICTED_LOOP_GENERATE_BLOCKLoop block # does not end
UNINITIALIZED_LOOP_BLOCKCannot initialize loop block #
UNRESOLVED_LOOP_BLOCK_CONDITIONCannot resolve loop block # condition
UNRESOLVED_LOOP_BLOCK_STEPCannot resolve loop block # step assignment
UNRESOLVED_BLOCK_CONDITIONCannot resolve block # condition: #
MISSING_BLOCK_CONDITIONNo condition found for block #
Checkers  
DUPLICATE_CHECKERDuplicate checker #, already declared at line # file #
UNDECLARED_CHECKERChecker # is not declared
ILLEGAL_CHECKER_INSTANCEInstance # of checker # not allowed in procedural code of a checker
ILLEGAL_CHECKER_INSTANCEInstance # of checker # not allowed in fork-join, fork-join_any or fork-join_none
Classes  
CIRCULAR_INHERITANCEClass # extends itself
DUPLICATE_CLASSDuplicate class #, already declared at line # file #
DUPLICATE_CONSTRUCTORDuplicate constructor # already declared at line # file #
EXTEND_CLASSExtending non existing class #
EXTERN_CONSTRAINT_UNDECLAREDOuter class constraint # was not declared extern inside class #
EXTERN_FUNCTION_UNDECLAREDOuter class function # was not declared extern inside class #
EXTERN_TASK_UNDECLAREDOuter class task # was not declared extern inside class #
EXTEND_INTERFACE_CLASSExtending interface class # by non-interface class not allowed
IMPLEMENT_CLASSImplementing non-interface class # by class not allowed
IMPLEMENT_INTERFACE_CLASSImplementing non existing interface class #
ILLEGAL_SUPER_USEClass # does not have a super class
Configurations  
INVALID_LIBLISTLiblist is empty for #
UNDECLARED_CELLCell # is not declared
UNDECLARED_CONFIGURATIONConfiguration # is not declared
UNDECLARED_DESIGNTop design # is not declared
UNDECLARED_LIBRARYLibrary # is not declared
Constraints  
DUPLICATE_CONSTRAINTDuplicate constraint #, already declared at line # file #
DUPLICATE_CONSTRAINT_IMPLDuplicate constraint implementation for #, already declared at line # file #
EMPTY_IMPLICIT_CONSTRAINT_IMPLEMENTATIONImplicit external constraint # is not implemented
INVALID_DISABLE_SOFT_CONSTRAINT_PARAMETERThe disable soft parameter # should be a variable
UNIMPLEMENTED_EXPLICIT_EXTERNAL_CONSTRAINTExplicit external constraint # is not implemented
Covergroups  
DUPLICATE_COVER_CROSSDuplicate cover cross #, already declared at line # file #
DUPLICATE_COVERGROUPDuplicate covergroup #, already declared at line # file #
DUPLICATE_COVERPOINTDuplicate coverpoint #, already declared at line # file #
ILLEGAL_COVERPOINT_EXPRESSIONCoverpoint expression must be of an integral data type
WITH_COVERPOINT_BINS_EXPRESSIONCoverpoint bins with expression should explicitly contain item
Design Elaboration  
UNELABORATED_PACKAGEPackage #.# is not elaborated
UNELABORATED_MODULE/INTERFACE/PROGRAM/CHECKERModule/Interface/Program/Checker #.# is not elaborated
UNSPECIFIED_TOPPlease specify a -top module/entity/configuration in the project build file
INVALID_TOP_CONFIGURATIONConfiguration # has no valid tops
INVALID_TOPTop # cannot be instantiated
CYCLICAL_ORDERCycle discovered when elaborating parameters
DUPLICATE_TOP_NAMEAnother top with the same name # has been elaborated
RECURRENCE_DETECTEDRecurrence detected for instance type #
NON_CHECKER_INSTANCE_INSIDE_PROGRAMModule/Interface/Program/UDP instance # not allowed inside program
BLACK_BOXED_INSTANCEInstance # is black boxed
BLACK_BOXED_GENERATE_BLOCKGenerate block # is black boxed
SKIPPED_INSTANCEInstance # is skipped
SKIPPED_GENERATE_BLOCKGenerate block # is skipped
Events  
DUPLICATE_EVENTDuplicate event #, already declared at line # file #
ILLEGAL_EVENTThe following events must be of a singular data type:#
Enumerations  
DUPLICATE_ENUM_LITERALDuplicate enumeration literal #, already declared at line # file #
IMPLICIT_ENUM_CASTAuto-cast from enum type # to enum type #
Extern methods  
EXTERN_METHOD_SIGNATUREReturn data type # for extern method # does not match prototype
EXTERN_METHOD_SIGNATUREScope resolution operator shall be used to indicate the internal return type # for extern method #
EXTERN_METHOD_SIGNATURENumber of arguments # for extern method # does not match prototype
EXTERN_METHOD_SIGNATUREName of argument # for extern method # does not match prototype
EXTERN_METHOD_SIGNATUREType of argument # for extern method # does not match prototype
EXTERN_METHOD_SIGNATUREDirection of argument # for extern method # does not match prototype
EXTERN_METHOD_SIGNATUREDefault value of argument # for extern method # does not match prototype; the prototype declaration is used
Instances  
DUPLICATE_INSTANCEDuplicate instance #, already declared at line # file #
DUPLICATE_BOUND_INSTANCEDuplicate bound instance # added from both instance # and instance #
DUPLICATE_BOUND_INSTANCEDuplicate bound instance # added from instance #
DUPLICATE_BOUND_INSTANCEName collision in target scope of bound instance # with element declared at line # file #
IMPLICIT_PORT_CONNECTIONCannot infer implicit connection for port(s) #
INVALID_BINDSFailed to resolve all the bind directives in # tries
INVALID_BIND_TARGET_SCOPEBind target scope # and module # of bind target instance # must match
INVALID_BIND_UNDERNEATH_BIND_INSTANCECannot bind instance # underneath bind instance #
MISSING_PORT_CONNECTIONMissing port connection to # port(s) #
MULTIPLE_PORT_CONNECTIONSMultiple connections to port #
NOT_IN_LIST_OF_PORTS# not in the list of # ports"
NOF_PORT_CONNECTIONSExpected # port connections, found #
NON_EXISTING_PORTNon existing port # of module #
NOT_A_CHECKER_INSTANCEInstance # is not a checker instance
UNDECLARED_MODULEModule # is not declared
UNDECLARED_MODULEModule # is not declared for instance #
UNDECLARED_BIND_TARGETBind target # is not declared
UNKNOWN_ARRAY_OF_INSTANCES_RANGECould not determine range of array of instances #
UNELABORATED_BIND_TARGETHierarchical name # is not elaborated
UNRESOLVED_BIND_TARGET_INSTANCEModule # of bind target instance # is not declared
UDP_PORT_CONNECTIONNamed port connection to # not allowed for UDP instance #
UDP_PORT_CONNECTIONDot star connection not allowed for UDP instance #
Illegal class members access (local, protected, static)  
ILLEGAL_HIERARCHICAL_ACCESSIllegal hierarchical reference detected on #.# (illegal hierarchical name containing type name #)
ILLEGAL_NON_STATIC_ACCESSNon-static member # of class # cannot be accessed from static function/task
ILLEGAL_NON_STATIC_ACCESSNon-static member # of class # cannot be accessed outside its class scope.
ILLEGAL_NON_STATIC_ACCESSNon-static member # of class # cannot be accessed via class scope resolution operator ::
ILLEGAL_STATIC_ACCESSElement # cannot be accessed statically from design #
ILLEGAL_STATIC_ACCESSEnum name # cannot be accessed statically from enum type #
ILLEGAL_STATIC_ACCESSElement # cannot be accessed statically from struct type #
ILLEGAL_STATIC_ACCESSElement # cannot be accessed statically from union type #
ILLEGAL_PRIVATE_ACCESSPrivate member # of class # is not visible in this scope
ILLEGAL_PROTECTED_ACCESSProtected member # of class # is not visible in this scope
Implicit declarations (port mapping, assigns)  
ILLEGAL_IMPLICITIllegal implicit declaration of # when `default_nettype set to none
Interfaces  
DUPLICATE_INTERFACEDuplicate interface #, already declared at line # file #
Hierarchical identifiers  
UNDECLARED_IDENTIFIERIdentifier # is not declared
UNDECLARED_IDENTIFIERIdentifier # is not a member of # (type # is undeclared)
UNDECLARED_IDENTIFIERIdentifier # is not a member of #
UNEXPECTED_IDENTIFIERExpecting function # but actual target is not a function
Method calls  
NON_EXISTING_METHOD_ARGUMENTNon existing argument # of function/task #
METHOD_CALL_ARGUMENTSExpecting maximum # argument(s) when calling #, found #
METHOD_CALL_ARGUMENTSMethod call # is missing argument value to # #
MULTIPLE_ARGUMENT_VALUESMultiple values for argument #
MISSING_ARG_FORMAT_SPECMissing argument for # when calling #
INVALID_FORMAT_SPECInvalid %# when calling #
EXTRA_ARG_FORMAT_SPECExtra argument # when calling #
ILLEGAL_FORMAT_SPECIllegal format specifier %# for argument # when calling
ILLEGAL_WITH_CLAUSE# does not support a with clause
ILLEGAL_WITH_CLAUSEArray method # does not support a with clause
ILLEGAL_WITH_CLAUSE_EXPRESSIONIllegal type # of with clause expression for method #
MISSING_WITH_CLAUSEMethod # requires a with clause
UNSUPPORTED_METHODMethod # is undefined for associative arrays
UNSUPPORTED_METHODMethod # is undefined for associative arrays with wildcard index type
UNSUPPORTED_METHODMethod # is undefined for arrays of non-numeric type (use # clause)
UNDECLARED_SYSTEM_METHODSystem task or function # is not declared
Methods, DPI  
DUPLICATE_ARGUMENTDuplicate argument #, already declared at line # file #
DUPLICATE_FUNCTIONDuplicate function #, already declared at line # file #
DUPLICATE_FUNCTION_IMPLDuplicate function implementation for #, already implemented at line # file #
DUPLICATE_NAMEDuplicate name #, already built-in method
DUPLICATE_METHOD_IMPLEMENTATIONDuplicate method implementation for #, already defined at line # file #
DUPLICATE_PRODUCTIONDuplicate production #, already declared at line # in #
DUPLICATE_TASKDuplicate task # already declared at line # file #
DUPLICATE_TASK_IMPLDuplicate task implementation for #, already implemented at line # file #
DUPLICATE_VARIABLEDuplicate variable # already declared at line # file #
EXPORT_DPI_FUNCTION_IMPLExport DPI function # was not implemented
EXPORT_DPI_TASK_IMPLExport DPI task # was not implemented
DPI_FUNCTION_RETURN_TYPEReturn type # of DPI function # not allowed
ILLEGAL_OVERRIDEIllegal override of built-in method #
ILLEGAL_PURE_VIRTUALPure virtual method prototype # cannot be declared in non-virtual class
INVALID_STATIC_OVERRIDEVirtual method # cannot be overridden by static method
NOT_IMPLEMENTED_PURE_VIRTUALSub-class # does not implement pure virtual method(s) from super-classes: #
OVERRIDE_VIRTUAL_METHODFunction # overrides task #
OVERRIDE_VIRTUAL_METHODTask # overrides #
OVERRIDE_VIRTUAL_METHODReturn data type # for method # does not match # of overridden #
OVERRIDE_VIRTUAL_METHODNumber of arguments # for method # does not match # of overridden #
OVERRIDE_VIRTUAL_METHODType # of argument # for method # does not match # of overridden #
OVERRIDE_VIRTUAL_METHODDirection # of argument # for method # does not match # of overridden #
OVERRIDE_VIRTUAL_METHODMissing default value of argument # for method # (overridden # provides a default value)
OVERRIDE_VIRTUAL_METHODUnexpected default value of argument # for method # (overridden # does not provide a default value)
OVERRIDE_VIRTUAL_METHODImplementation of interface class method # must have virtual qualifier
VIRTUAL_CLASS_INSTANTIATIONObject # cannot be instantiated because # is a virtual class
VIRTUAL_CLASS_INSTANTIATIONIllegal call of virtual class typed constructor #::new
UNDECLARED_ARGUMENTExpected argument, found local variable #
ILLEGAL_DEFAULT_VALUEIllegal default value # for # formal port #
UNUSED_RETURN_VALUE The return value of function # is not used
ILLEGAL_EXPRESSION Void function/Task # cannot be used as an expression
Modports and Clocking Blocks  
DIRECTION_MISMATCHPort # was specified as # in #
Modules  
DUPLICATE_MODULEDuplicate module #, already declared at line # file #
Nets, Variables, Fields, Properties  
DUPLICATE_FIELDDuplicate field #, already declared at line # file #
DUPLICATE_PORTDuplicate port #, already declared at line # in #
STATIC_INITIALIZATIONExplicit static or automatic is required when implicit static variable is initialized
UNDECLARED_PORTPort # direction declaration is missing
Packages  
DUPLICATE_PACKAGEDuplicate package #, already declared at line # file #
IMPORT_IN_CLASSImport statement not allowed within class scope
IMPORT_PACKAGEPackage # importing itself not allowed
NON_EXISTING_PACKAGENon existing package #
MISSING_IMPORT_ELEMENTExplicit export element ignored (element not imported)
MISSING_IMPORT_PACKAGEWild-card export package ignored (package not imported)
MULTIPLE_PACKAGESName # exists in multiple imported packages (#, #, and possibly others)
Parameters  
DUPLICATE_PARAMETERDuplicate parameter #, already declared at line # file #
ILLEGAL_PARAMETER_OVERRIDEExpecting a type when overriding parameter #, found value #
MISSING_DEFAULT_VALUEParameter # must have a default value
NOF_PARAM_OVERRIDESExpected # parameter overrides, found #
MISSING_PARAMETER_OVERRIDEExpected override or default value for parameter #
NON_EXISTING_PARAMETERNon existing parameter # of type #
UNRESOLVED_FORMAL_PARAMETERCannot determine formal parameter # of #
NON_EXISTING_PARAMETERNon existing parameter # of type #
UNRESOLVED_PARAMETER_VALUECannot determine # value of parameter # from expression: #
UNRESOLVED_ENUM_NAME_VALUECannot determine value of enum name # from expression: #
UNCONNECTED_PARAMETERParameter # of module/interface # is not connected
NON_OVERRIDABLE_PARAMETERLocalparam # cannot be overridden
NON_OVERRIDABLE_PARAMETERParameter # cannot be overridden (is outside design parameter port list)
Preprocessing  
CYCLIC_INCLUDECyclic include detected
CYCLIC_MACROCyclic define detected
FAILED_TO_OPEN_INCLUDE_FILECannot open `include file #
NON_EXISTING_INCLUDE_FILENo such file #
MISMATCHED_ENDIFExpecting `endif label # found #
REDEFINED_MACRORedefinition of macro name #
UNDEFINED_MACROUndefined macro name: #
WRONG_NUMBER_OF_MACRO_ARGUMENTSNumber of macro instance parameters # not equal to macro define parameters #
Primitives  
DUPLICATE_PRIMITIVEDuplicate primitive #, already declared at line # file #
Programs  
DUPLICATE_PROGRAMDuplicate program #, already declared at line # file #
Type Checking  
ILLEGAL_ASSIGNMENTIllegal assignment to type # from type # (cannot assign a(n) packed / unpacked type to a(n) unpacked / packed type)
ILLEGAL_ASSIGNMENTIllegal assignment to type # from type # (arrays have incompatible dimensions / packed dimensions / unpacked dimensions / element types / element type signing / 2-state/4-state element types)
ILLEGAL_ASSIGNMENTIllegal assignment to type # from type # (class types are not assignment compatible)
ILLEGAL_ASSIGNMENTIllegal assignment of # to parameter / argument / port # of type #
ILLEGAL_ASSIGNMENTIllegal assignment of # to parameter / [ref] port / [ref] argument # of type # (cannot assign a(n) packed / unpacked type to a(n) unpacked / packed type)
ILLEGAL_ASSIGNMENTIllegal assignment of # 'parameter / [ref] port / [ref] argument # of type # (arrays have incompatible dimensions / packed dimensions / unpacked dimensions / element types / element type signing / 2-state/4-state element types)
ILLEGAL_ASSIGNMENTIllegal assignment of # [ref] port / argument # of type # (class types are not assignment compatible)
ILLEGAL_ASSIGNMENTIllegal assignment of expression # to ref port / argument #
ILLEGAL_ASSIGNMENTIllegal assignment of constant # to ref port / argument #
ILLEGAL_ASSIGNMENTIllegal assignment of constant # to non-constant ref argument #
ILLEGAL_ASSIGNMENTIllegal assignment of #-bit type to ref port / argument # of #-bit type
ILLEGAL_ASSIGNMENTIllegal assignment of dynamic array # to object #
ILLEGAL_ASSIGNMENTIllegal use of assignment pattern to type #
ILLEGAL_ASSIGNMENTIllegal use of ordered assignment pattern to associative array
ILLEGAL_ASSIGNMENTIllegal use of concatenation to associative array
ILLEGAL_ASSIGNMENTIllegal assignment of concatenation member # of type # to array element of type #
ILLEGAL_NET_ASSIGNMENTCannot use net # as left hand side in procedural assignment
ILLEGAL_NON_BLOCKING_ASSIGNMENTCannot use automatic variable # as left hand side in non-blocking assignment
ILLEGAL_CAST_OPERATIONCannot cast # of type # to #
ILLEGAL_VOID_CASTVoid cast of task # not allowed
ILLEGAL_CONSTANT_ASSIGNConstant # cannot be assigned
ILLEGAL_CONSTANT_ASSIGNConstant ref # cannot be assigned
ILLEGAL_FOREACH_LOOPNumber of dimensions specified in FOREACH_LOOP is bigger than # dimensions
ILLEGAL_OPERANDUnexpected # as first operand
ILLEGAL_PARAMETER_OVERRIDEExpecting type name for parameter #.# but found variable name #
ILLEGAL_REPEAT_LOOPReference to the entire array # is not permitted in this context
ILLEGAL_REPEAT_LOOPUsing string # without index is not supported in the given context
ILLEGAL_REPEAT_LOOPReference to the entire unpacked struct / union # is not permitted in this context
ILLEGAL_TYPE_REFERENCE# cannot be resolved to a variable
ILLEGAL_VARIABLE_REFERENCE# cannot be resolved to a type
ILLEGAL_NON_INTERFACE_VIRTUAL_FIELD'virtual' keyword not allowed with non-interface type #
UNDEFINED_OPERATOROperator # is undefined for argument type #
UNDEFINED_OPERATOROperator # is undefined for argument types #, #
UNDEFINED_OPERATOROperator # is undefined for argument types #, # (arrays have incompatible dimensions / packed dimensions / unpacked dimensions / element types / element type signing / 2-state/4-state element types)
UNDEFINED_OPERATORConcatenation operator is undefined for argument # of type #
UNDEFINED_OPERATORThe type of target # is # while the type of the source is #
UNDEFINED_OPERATORSet member # of type # is incompatible with left-hand side expression type #
UNDEFINED_OPERATORSet member of type # is incompatible with left-hand side expression type #
ILLEGAL_CONSTANT_PRIMARYExpecting a constant primary, but found #
Typedefs  
DUPLICATE_TYPEDEFDuplicate typedef #, already declared at line # file #
MISSING_TYPE_IMPLEMENTATION# type is not implemented
Jump statements  
ILLEGAL_CONTINUE_OUTSIDE_LOOPContinue statement not allowed outside loop
ILLEGAL_BREAK_OUTSIDE_LOOPBreak statement not allowed outside loop
ILLEGAL_EMPTY_RETURN Empty return not allowed in non-void function, expecting #
ILLEGAL_RETURN_VALUE_TYPEIllegal return value of type # for function of type #
ILLEGAL_RETURN_VALUE_TYPE Illegal return value of type # for function of type # (cannot assign a(n) packed / unpacked type to a(n) unpacked / packed type)
ILLEGAL_RETURN_VALUE_TYPE Illegal return value of type # for function of type # (arrays have incompatible dimensions / packed dimensions / unpacked dimensions / element types / element type signing / 2-state/4-state element types)
ILLEGAL_RETURN_VALUE_TYPE Illegal return value of type # for function of type # (class types are not assignment compatible)
ILLEGAL_VALUE_RETURN Value return not allowed in task
ILLEGAL_VALUE_RETURN Value return not allowed in void function
ILLEGAL_VALUE_RETURN Value return not allowed in constructor
Miscellaneous  
SELECT_NOT_ALLOWEDSelect expression for variable # not allowed