DVT IDE for VS Code VHDL User Guide
Rev. 24.1.5, 13 March 2024

4.2 Semantic Checks

ID Message
Architectures  
UNDECLARED_ARCHITECTUREArchitecture # is not declared
DUPLICATE_ARCHITECTUREDuplicate architecture #, already declared at line # in #
SIGNAL_MULTIPLE_DRIVERSSignal # has multiple drivers
SIGNAL_NEVER_USEDSignal # is never used
SIGNAL_NEVER_READSignal # is never read
SIGNAL_NEVER_READSignal # is never read (connected to sub-instance output port)
SIGNAL_NEVER_WRITTENSignal # is never written
SIGNAL_NEVER_WRITTENSignal # is never written (connected to sub-instance input port)
GENERIC_NEVER_USEDGeneric # is never used
PORT_CONNECTIONOutput port # connected to an input port
PORT_CONNECTIONDuplicate architecture #, already declared at line # in #
PORT_CONNECTIONInout/Output port # connected to a non-signal expression
Associated types (fields, variables, functions, etc.)  
NON_EXISTING_TYPENon existing type #
USAGE_BEFORE_DECLARATIONElement # is used before being declared at line # in #
Blocks  
DUPLICATE_NAMED_BLOCKDuplicate named block #, already declared at line # in #
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: #
UNRESOLVED_BLOCK_CONDITIONCannot resolve block # condition: #
MISSING_BLOCK_CONDITIONNo condition found for block #
Case enumerated choices  
DUPLICATE_WHEN_CHOICEDuplicate case enumerated choice # already declared, already declared at line # in #
MISSING_ENUM_CHOICECase enumerated choice # is not defined
MISSING_OTHERS_CHOICECase choice 'others' is not defined
OTHERS_CHOICE_USEDCase choice 'others' used for non-explicit enumerated choices # ...
REDUNDANT_OTHERS_CHOICECase choice 'others' is redundant
INCONSISTENT_CHOICESCase choices inconsistent number of bits
Components  
UNDECLARED_COMPONENTComponent # is not declared
DUPLICATE_COMPONENTDuplicate component #, already declared at line # in #
Configurations  
UNDECLARED_CONFIGURATIONConfiguration # is not declared
DUPLICATE_CONFIGURATIONDuplicate configuration #, already declared at line # in #
DIFFERENT_BLOCK_SPECIFICATIONBlock specification # is different from binding block # of entity #
MISSING_BLOCK_ALTERNATIVEConditional block specification # must specify an alternative
Elaboration  
UNELABORATED_PACKAGEPackage #.# is not elaborated
UNELABORATED_ENTITYEntity #.# is not elaborated
UNSPECIFIED_TOPPlease specify a -top module/entity/configuration in the project build file
INVALID_TOPTop # cannot be instantiated
CYCLICAL_ORDERCycle discovered when elaborating parameters
INVALID_TOP_CONFIGURATIONConfiguration # has no valid tops
DUPLICATE_TOP_NAMEAnother top with the same name # has been elaborated
INVALID_LIBLISTLiblist is empty for #
BLACK_BOXED_INSTANCEInstance # is black boxed
BLACK_BOXED_GENERATE_BLOCKGenerate block # is black boxed
SKIPPED_INSTANCEInstance # is skipped
SKIPPED_GENERATE_BLOCKGenerate block # is skipped
Entities  
UNDECLARED_ENTITYEntity # is not declared
DUPLICATE_ENTITYDuplicate entity #, already declared at line # in #
Hierarchical identifiers  
UNDECLARED_IDENTIFIERIdentifier # is not declared
UNDECLARED_IDENTIFIERIdentifier # is not a member of #
UNEXPECTED_IDENTIFIERExpecting function # but actual target is not a function
UNDECLARED_ENUMEnum type value # is undeclared
Instances  
DUPLICATE_INSTANCEDuplicate instance #, already declared at line # in #
NOF_PORT_CONNECTIONSExpected # port connections, found #
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
UNDRIVEN_INPUT_PORTInput port # is not driven
INVALID_IMPLICIT_PORT_MAPInput/Output component port #.# associated with input/output/inout entity port #.#
INVALID_IMPLICIT_PORT_MAPType mismatch between # of component port #.# and # of entity port #.#
INVALID_IMPLICIT_PORT_MAPEntity/Component port #.# not in the list of component/entity # ports
INVALID_IMPLICIT_GENERIC_MAPType mismatch between # of component generic #.# and # of entity generic #.#
INVALID_IMPLICIT_GENERIC_MAPEntity/Component generic #.# not in the list of component/entity # generics
OPEN_PARAMETER_OVERRIDEExpected default value for parameter #
Package, library use  
UNDECLARED_LIBRARYLibrary # is not declared
IMPLICIT_LIBRARY_ACCESSAccess to # library is implicit; the library clause can be removed
UNDECLARED_PACKAGEPackage # is not declared
NON_STANDARD_PACKAGEPackage # is deprecated, use IEEE.NUMERIC_STD package standard package
NON_STANDARD_PACKAGENON_STANDARD_PACKAGE: Package # is non-standard
Parameters  
OPEN_PARAMETER_OVERRIDEExpected default value for parameter #
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: #
UNRESOLVED_CONSTANT_VALUECannot determine value of constant # from expression: #
UNCONNECTED_PARAMETERParameter # of entity/component # is not connected
Packages  
DUPLICATE_PACKAGEDuplicate package #, already declared at line # in #
DUPLICATE_PACKAGE_BODYDuplicate package body #, already declared at line # in #
MISSING_PACKAGE_BODY_DEFINITIONDeferred constant # is not initialized in package body #
MISSING_PACKAGE_BODY_DEFINITIONProtected type # is not implemented in package body #
MISSING_PACKAGE_BODY_DEFINITIONSubprogram # is not implemented in package body #
MISSING_INSTANTIATED_PACKAGE_BODYInstantiated package # does not have a body
Processes  
DUPLICATE_PROCESSDuplicate process #, already declared at line # in #
SENSITIVITY_MISSINGMissing # from sensitivity list
SENSITIVITY_UNUSEDThe process is not sensitive to #
Type aliases  
UNDECLARED_TYPEType # is not declared
Type Checking  
AMBIGUOUS_SUBPROGRAMSubprogram call # is ambiguous; there are # visible: #
AMBIGUOUS_EXPRESSIONExpression # is ambiguous; there are # visible: #
ARRAY_INDEX_SELECTSelect # contains too few indices (#) for array type #
ARRAY_INDEX_SELECTSelect # contains too many indices (#) for array type # of dimensionality #
ILLEGAL_ASSIGNMENT# cannot be assigned to #
ILLEGAL SIGNAL ASSIGNMENTTarget # is not a signal
ILLEGAL SIGNAL ASSIGNMENTCannot use signal # as left hand side in variable assignment
ILLEGAL_CONSTANT_ASSIGNConstant variable # cannot be assigned
ILLEGAL_CONSTRAINTIndex constraint not allowed, type # in subtype of '# is already constrained
ILLEGAL_CONSTRAINTIndex constraint not allowed, type # of record element # in subtype of # is already constrained
ILLEGAL_CONSTRAINTCannot apply index constraint to non-composite type # of record element / array # in subtype of #
ILLEGAL_CONSTRAINTCannot apply index constraint to non-composite type # in subtype of #
ILLEGAL_TYPE_REFERENCE# cannot be resolved to a variable
INVALID_ACCESSType name # cannot be prefix of selected name #
INVALID_AGGREGATERecord aggregate choice # is not a simple name
INVALID_AGGREGATERecord aggregate choice # is not an element of record type #
INVALID_AGGREGATERecord elements of different types were used in multiple choice #
INVALID_AGGREGATEOthers choice in # record aggregate must represent at least one element
INVALID_AGGREGATERecord aggregate is missing an association for element #
INVALID_ATTRIBUTEAttribute # is not defined for prefix
INVALID_CASE_EXPRESSIONThe case expression # must be a discrete type or a one-dimensional character array type
INVALID_RANGERange left bound type # is different from right bound type #
INVALID_LITERALString literal has a character # not in the enumeration type #
INVALID_TYPE_CONVERSIONThe type conversion operand # cannot be a literal null / an allocator / a string literal
INVALID_TYPE_CONVERSIONThe conversion target type # and operand type # are not closely related
INCOMPLETE_ARRAY_AGGREGATEExpected number of elements for # is #, actual number is #
DUPLICATE_ARRAY_ASSOCIATIONIndex # of # is associated more than once
INCOMPLETE_RECORD_AGGREGATEFormal # of type # is missing an association for element #
OUT_OF_BOUNDS_VALUE_IN_AGGREGATEValue out of range: # is not in the range #
DUPLICATE_RECORD_ASSOCIATIONFormal # is associated more than once
DISCONTINUOUS_ASSOCIATIONFormal # member associations must be consecutive
MISSING_CONSTRAINT Record / Array type # in subtype of # is missing an index / element constraint
SUBTYPE_INDICATIONSubtype indication is allowed only for object aliases (i.e. a constant, a variable, a signal, or a file)
TYPE_MISMATCHType error resolving expression # to type #
UNDECLARED_ARGUMENT# is not an argument
UNDEFINED_PROCEDUREUnable to find a procedure named #
UNDEFINED_SUBPROGRAMSubprogram call # is undefined
UNDEFINED_SUBPROGRAMSubprogram call # is undefined for expected return type #
UNDEFINED_SUBPROGRAMSubprogram # referred in alias/subprogram instantiation # is undefined
UNDEFINED_SUBPROGRAMSubprogram # referred in subprogram instantiation # is not an uninstantiated subprogram
ILLEGAL_EMPTY_RETURNEmpty return not allowed in function, expecting #
ILLEGAL_VALUE_RETURNValue return not allowed in procedure
ILLEGAL_RETURNReturn not allowed in process
ILLEGAL_SUBPROGRAM_ALIASAlias # must specify the subprogram signature
SUBPROGRAM_KIND_MISMATCHExpecting uninstantiated function/procedure, found procedure/function instead
UNEXPECTED_LOOP_LABELExpecting loop label # but actual target is not a loop
Types  
DUPLICATE_TYPEDuplicate type #, already declared at line # in #
MISSING_PROTECTED_TYPE_DECLARATIONProtected type body # does not have corresponding type declaration
ILLEGAL_PROTECTED_TYPE_BODY_DECLARATIONProtected type body # not allowed inside package
MISSING_SUBPROGRAM_BODYSubprogram # is not implemented in protected type body #
Variables, Arguments, Attributes, Constants  
DUPLICATE_VARIABLEDuplicate variable #, already declared at line # in #
DUPLICATE_PORTDuplicate port #, already declared at line # in #
Vunits  
DUPLICATE_VUNITDuplicate vunit #, already declared at line # in #