Verissimo SystemVerilog Testbench Linter User Guide
Rev. 19.1.29, 20 August 2019

7.3.1 Semantic Checks

ID Message
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_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 #
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
USAGE_BEFORE_DECLARATIONElement # is used before being declared at line # in #
Configurations  
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 #
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
Events  
DUPLICATE_EVENTDuplicate event #, already declared at line # file #
Enumerations  
DUPLICATE_ENUM_LITERALDuplicate enumeration literal #, already declared at line # file #
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 #
IMPLICIT_PORT_CONNECTIONCannot infer implicit connection for port(s) #
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
UNDRIVEN_INPUT_PORTInput port # is not driven
PORT_CONNECTIONInput port # connected to an output port
PORT_CONNECTIONOutput port # connected to an input port
UNDECLARED_MODULEModule # is not declared
UNDECLARED_MODULEModule # is not declared for instance #
UNDECLARED_BIND_TARGETBind target # is not declared
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_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 minimum # argument(s) when calling #, found #
METHOD_CALL_ARGUMENTSExpecting maximum # argument(s) when calling #, found #
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
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
ILLEGAL_OVERRIDEIllegal override of built-in method #
ILLEGAL_PURE_VIRTUALPure virtual method prototype # cannot be declared in non-virtual class
ILLEGAL_STATIC_VIRTUALIllegal static virtual function/task declaration
ILLEGAL_STATIC_VIRTUALIllegal static virtual function/task declaration
NOT_IMPLEMENTED_PURE_VIRTUALSub-class # does not implement all pure virtual methods 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)
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
Modports and Clocking Blocks  
DIRECTION_MISMATCHPort # was specified as # in #
Modules  
DUPLICATE_MODULEDuplicate module #, already declared at line # file #
SIGNAL_MULTIPLE_DRIVERSSignal # has multiple drivers
Nets, Variables, Fields, Properties  
DUPLICATE_FIELDDuplicate field #, already declared at line # file #
DUPLICATE_PORTDuplicate port #, already declared at line # in {2}
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)
USAGE_BEFORE_DECLARATIONElement # is used before being declared at line # in #
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 #
NON_EXISTING_PARAMETERNon existing parameter # of type #
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 #
Sensitivity  
SENSITIVITY_MISSINGMissing # from sensitivity list
SENSITIVITY_NONEThe process is never evaluated (sensitive to nothing)
SENSITIVITY_UNUSEDThe process is not sensitive to #
Type Checking  
ILLEGAL_ASSIGNMENTIllegal assignment to type # from type # (cannot assign packed/unpacked type to unpacked/packed type)
ILLEGAL_ASSIGNMENTIllegal assignment to type # from type # (arrays have different type of elements)
ILLEGAL_ASSIGNMENTIllegal assignment to type # from type # (arrays have different unpacked dimensions)
ILLEGAL_ASSIGNMENTIllegal assignment to type # from type # (arrays have different packed dimensions)
ILLEGAL_ASSIGNMENTIllegal assignment to type # from type # (class types are not assignment compatible)
ILLEGAL_ASSIGNMENTIllegal assignment of # to port/parameter # of type #
ILLEGAL_ASSIGNMENTIllegal use of assignment pattern to type #
ILLEGAL_ASSIGNMENTIllegal assignment to enum type # from enum type # (requires explicit cast)
ILLEGAL_ASSIGNMENTIllegal assignment of # to variable # of enum type # (requires explicit cast)
ILLEGAL_ASSIGNMENTIllegal assignment to variable # of enum type # (requires explicit cast)
ILLEGAL_CAST_OPERATIONCannot cast # of type # to #
ILLEGAL_CONSTANT_ASSIGNConstant variable # 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
UNDEFINED OPERATOROperator # is undefined for argument type #
UNDEFINED OPERATOROperator # is undefined for argument 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 #
WIDTH_MISMATCH_PADDINGAssignment to #-bit value from #-bit value
WIDTH_MISMATCH_ROUNDINGAssignment to #-bit value from #-bit value
WIDTH_MISMATCH_TRUNCATIONAssignment to #-bit value from #-bit value
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_TYPE Illegal return value of type # for function of type #
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
Unused, Not Read, Not Written  
SIGNAL_NEVER_READSignal # is never read
SIGNAL_NEVER_USEDSignal # is never used
SIGNAL_NEVER_WRITTENSignal # is never written
Miscellaneous  
SELECT_NOT_ALLOWEDSelect expression for variable # not allowed
USAGE_BEFORE_DECLARATIONElement # is used before being declared at line # in #