Contact us Start a Trial

Licensing of VHDL linting rules

Designer edition linting rules

Designer Edition linting rules are available for all editions.

DescriptionID
Null range: The left argument is strictly larger than the right1
Positional associations order2
‘Others’ position in associations3
Multiple others in associations4
Input port cannot be assigned5
Subprogram parameter cannot be assigned6
Constant cannot be assigned7
‘others’ has to be the last alternative in a case statement9
Deprecated IEEE packages8
Only one ‘others’ choice is allowed10
Case statement does not cover all cases11
Cannot combine ‘others’ with other choices12
Consistent use of ‘others’ in case statements13
Case alternative contains duplicate choices14
C style equality operator15
C style inequality operator16
Incomplete associations17
Duplicate associations18
Invalid character literal19
Infinite loop. Loop is missing a wait, return or exit statement20
Function declarations in a package cannot have a function body21
Missing function body22
Invalid bit string literal23
Null range: The left argument is strictly smaller than the right26
Duplicate named associations27
Duplicate ‘all’ -style binding for component declaration28
Duplicate component instantiation binding29, 30
Incorrect number of associations found in mapping32
A positional association cannot follow after a named association33
A signal cannot be the target of a variable assignment34
A port cannot be the target of a variable assignment35
A variable cannot be the target of a signal assignment36
Non-standard packages37
A process must either have a sensitivity list or contain one or more wait statements38
A process with a sensitivity list cannot contain any wait statements39
Procedure declarations in a package cannot have a procedure body40
Procedure declarations in a package body must have a procedure body41
Generate statements must have a label42
Instantiation statements must have a label43
Block statements must have a label44
There has to be a whitespace before physical units47
Unbound component instantiation48
Superfluous library clause49
Library is not available50
Matching case statement51
External name alias52
VHDL version check53
Duplicate declaration54
Find unused declarations55
Bitstrings may only contain std_logic metavalues57
A unary condition operator parentheses58
Duplicate design units64
Find unused ports67
Find unused generics68
Duplicate enum literal69
Invalid identifier70
Find dead states in state machines71
Find incomplete sensitivity lists72
Find superfluous signals in sensitivity lists73
Function pureness validation76
Find dead code79
Missing implementation80
Incorrect attribute class81
Invalid variable assignment82
Invalid signal assignment83
Encrypted file is used84
Find duplicate signals in sensitivity lists85
A subprogram call cannot have an empty parameter lis86
Detect signals and variables that are never written88
Detect signals and variables that are never read89
None or multiple matching entities for component90
Unexpected tokens91
Check naming conventions92
Incomplete port map or generic map: using defaults94
Check line length97
Tabs are used99
Array assignment validation144
All references must have the same capitalization as their declaration163
Check for positional associations in instantiations164
Protected type bodies are not allowed in a package168
Invalid port associations169
VHDL version mismatch170
Invalid use of ‘bus’ keyword171
Invalid function parameter mode172
Invalid variable parameter in function173
Invalid function return type174
Invalid deferred constant declaration175
This declaration is not allowed in the current declarative region176
Order of generic and port associations177
Name mismatch178
Unexpected return type179
Configuration issue: Incorrect component name180
Configuration issue: Incorrect instantiation statement label181
Configuration issue: Missing or incorrect binding indication182
Configuration issue: Incorrect name in binding indication183
Incorrect use of keyword all184
Redundant boolean equality check with true185
Boolean equality check with false186
Check for component/entity mismatch187
Header comment does not match pattern188
Filename must contain primary unit name189
Empty loop statement190
VHDL 87 file declarations191
Entity name is a keyword in Verilog and may cause problems in mixed projects192
Concatenation of unconstrained aggregate194
Empty sensitivity list197
Instantiation mismatch198
Range wrapped inside parentheses199
Incomplete record aggregate200
No elements in a list201
Trailing separator in a list202
Cannot case on a type declaration209
Index out of range210
Slice has wrong direction211
VHDL version check212
Invalid use of return type identifiers213
Conditional return statements214
String literal is not properly closed215
An exponent for an integer literal shall not be negative218
Declaring the library ‘work’ is not allowed inside a context declaration219
Referencing the library ‘work’ is not allowed inside a context declaration220, 221
Common Libraries version mismatch222
VHDL version check223
Check case of non-keywords224
Type validation226
Loop variables cannot be assigned227
Whitespace in extended identifier228
Declaration not found229
Sequence of operators without parentheses230
Constant width vector assigned to signal231
Comparison of vectors with different sizes232
Missing full constant declaration233
Incorrect full constant subtype234
Magic number, bitstring, or string in statement235
Unconstrained signal or variable of integer type236
Unexpected FSM state type237
Incomplete reset branch238
Deep nesting of conditional and loop statements239
Unexpected keyword capitalization240
Incorrect vector range direction241
File contains multiple primary units242
Secondary unit in unexpected file243
Prohibited attribute244
Prohibited keyword or operator245
Prohibited package246
Prohibited pragma247
Prohibited library248
Clock signal not used as clock249
Unexpected clock edge specification250
Missing label251
Inconsistent reset style252
Multiple objects in one declaration253
Inconsistent clock edge usage254
Illegal mode view element mode256
Missing mode for record element in mode view257
Superfluous reset258
Prohibited end of line sequence260
Sigasi support is disabled in this file262

Deprecated linting rules

Deprecated linting rules were used by Sigasi at some point, but they’ve been removed or superseded in the most recent version.

DescriptionReasonID
Invalid generic listSuperseded by 20224
Invalid generic mapSuperseded by 20225
Duplicate architecture for entitySuperseded by 6431
Port map lists cannot be terminated with a ,Superseded by 20245
Port lists cannot be terminated with a ,Superseded by 20246
Library is not availableSuperseded by checks in the settings50
Signal declarations are not allowed in a process statementSuperseded by 17656
End clause validationSuperseded by 5159
Duplicate entity for librarySuperseded by 6460
Duplicate package for librarySuperseded by 6461
Duplicate configuration for librarySuperseded by 6462
Invalid use clauseRemoved as it was invalid63
Duplicate design unit in IEEERemoved as it was invalid65
Find unregistered output portsRemoved as it was invalid75
Undefined identifierSuperseded by the linker87
RE2/J compatibility checkSuperseded by checks in the settings225