Designer edition linting rules
Designer Edition linting rules are available for all editions.
| Description | ID | |
|---|---|---|
| Null range: The left argument is strictly larger than the right | 1 | |
| Positional associations order | 2 | |
| ‘Others’ position in associations | 3 | |
| Multiple others in associations | 4 | |
| Input port cannot be assigned | 5 | |
| Subprogram parameter cannot be assigned | 6 | |
| Constant cannot be assigned | 7 | |
| ‘others’ has to be the last alternative in a case statement | 9 | |
| Deprecated IEEE packages | 8 | |
| Only one ‘others’ choice is allowed | 10 | |
| Case statement does not cover all cases | 11 | |
| Cannot combine ‘others’ with other choices | 12 | |
| Consistent use of ‘others’ in case statements | 13 | |
| Case alternative contains duplicate choices | 14 | |
| C style equality operator | 15 | |
| C style inequality operator | 16 | |
| Incomplete associations | 17 | |
| Duplicate associations | 18 | |
| Invalid character literal | 19 | |
| Infinite loop. Loop is missing a wait, return or exit statement | 20 | |
| Function declarations in a package cannot have a function body | 21 | |
| Missing function body | 22 | |
| Invalid bit string literal | 23 | |
| Null range: The left argument is strictly smaller than the right | 26 | |
| Duplicate named associations | 27 | |
| Duplicate ‘all’ -style binding for component declaration | 28 | |
| Duplicate component instantiation binding | 29, 30 | |
| Incorrect number of associations found in mapping | 32 | |
| A positional association cannot follow after a named association | 33 | |
| A signal cannot be the target of a variable assignment | 34 | |
| A port cannot be the target of a variable assignment | 35 | |
| A variable cannot be the target of a signal assignment | 36 | |
| Non-standard packages | 37 | |
| A process must either have a sensitivity list or contain one or more wait statements | 38 | |
| A process with a sensitivity list cannot contain any wait statements | 39 | |
| Procedure declarations in a package cannot have a procedure body | 40 | |
| Procedure declarations in a package body must have a procedure body | 41 | |
| Generate statements must have a label | 42 | |
| Instantiation statements must have a label | 43 | |
| Block statements must have a label | 44 | |
| There has to be a whitespace before physical units | 47 | |
| Unbound component instantiation | 48 | |
| Superfluous library clause | 49 | |
| Library is not available | 50 | |
| Matching case statement | 51 | |
| External name alias | 52 | |
| VHDL version check | 53 | |
| Duplicate declaration | 54 | |
| Find unused declarations | 55 | |
| Bitstrings may only contain std_logic metavalues | 57 | |
| A unary condition operator parentheses | 58 | |
| Duplicate design units | 64 | |
| Find unused ports | 67 | |
| Find unused generics | 68 | |
| Duplicate enum literal | 69 | |
| Invalid identifier | 70 | |
| Find dead states in state machines | 71 | |
| Find incomplete sensitivity lists | 72 | |
| Find superfluous signals in sensitivity lists | 73 | |
| Function pureness validation | 76 | |
| Find dead code | 79 | |
| Missing implementation | 80 | |
| Incorrect attribute class | 81 | |
| Invalid variable assignment | 82 | |
| Invalid signal assignment | 83 | |
| Encrypted file is used | 84 | |
| Find duplicate signals in sensitivity lists | 85 | |
| A subprogram call cannot have an empty parameter lis | 86 | |
| Detect signals and variables that are never written | 88 | |
| Detect signals and variables that are never read | 89 | |
| None or multiple matching entities for component | 90 | |
| Unexpected tokens | 91 | |
| Check naming conventions | 92 | |
| Incomplete port map or generic map: using defaults | 94 | |
| Check line length | 97 | |
| Tabs are used | 99 | |
| Array assignment validation | 144 | |
| All references must have the same capitalization as their declaration | 163 | |
| Check for positional associations in instantiations | 164 | |
| Protected type bodies are not allowed in a package | 168 | |
| Invalid port associations | 169 | |
| VHDL version mismatch | 170 | |
| Invalid use of ‘bus’ keyword | 171 | |
| Invalid function parameter mode | 172 | |
| Invalid variable parameter in function | 173 | |
| Invalid function return type | 174 | |
| Invalid deferred constant declaration | 175 | |
| This declaration is not allowed in the current declarative region | 176 | |
| Order of generic and port associations | 177 | |
| Name mismatch | 178 | |
| Unexpected return type | 179 | |
| Configuration issue: Incorrect component name | 180 | |
| Configuration issue: Incorrect instantiation statement label | 181 | |
| Configuration issue: Missing or incorrect binding indication | 182 | |
| Configuration issue: Incorrect name in binding indication | 183 | |
| Incorrect use of keyword all | 184 | |
| Redundant boolean equality check with true | 185 | |
| Boolean equality check with false | 186 | |
| Check for component/entity mismatch | 187 | |
| Header comment does not match pattern | 188 | |
| Filename must contain primary unit name | 189 | |
| Empty loop statement | 190 | |
| VHDL 87 file declarations | 191 | |
| Entity name is a keyword in Verilog and may cause problems in mixed projects | 192 | |
| Concatenation of unconstrained aggregate | 194 | |
| Empty sensitivity list | 197 | |
| Instantiation mismatch | 198 | |
| Range wrapped inside parentheses | 199 | |
| Incomplete record aggregate | 200 | |
| No elements in a list | 201 | |
| Trailing separator in a list | 202 | |
| Cannot case on a type declaration | 209 | |
| Index out of range | 210 | |
| Slice has wrong direction | 211 | |
| VHDL version check | 212 | |
| Invalid use of return type identifiers | 213 | |
| Conditional return statements | 214 | |
| String literal is not properly closed | 215 | |
| An exponent for an integer literal shall not be negative | 218 | |
| Declaring the library ‘work’ is not allowed inside a context declaration | 219 | |
| Referencing the library ‘work’ is not allowed inside a context declaration | 220, 221 | |
| Common Libraries version mismatch | 222 | |
| VHDL version check | 223 | |
| Check case of non-keywords | 224 | |
| Type validation | 226 | |
| Loop variables cannot be assigned | 227 | |
| Whitespace in extended identifier | 228 | |
| Declaration not found | 229 | |
| Sequence of operators without parentheses | 230 | |
| Constant width vector assigned to signal | 231 | |
| Comparison of vectors with different sizes | 232 | |
| Missing full constant declaration | 233 | |
| Incorrect full constant subtype | 234 | |
| Magic number, bitstring, or string in statement | 235 | |
| Unconstrained signal or variable of integer type | 236 | |
| Unexpected FSM state type | 237 | |
| Incomplete reset branch | 238 | |
| Deep nesting of conditional and loop statements | 239 | |
| Unexpected keyword capitalization | 240 | |
| Incorrect vector range direction | 241 | |
| File contains multiple primary units | 242 | |
| Secondary unit in unexpected file | 243 | |
| Prohibited attribute | 244 | |
| Prohibited keyword or operator | 245 | |
| Prohibited package | 246 | |
| Prohibited pragma | 247 | |
| Prohibited library | 248 | |
| Clock signal not used as clock | 249 | |
| Unexpected clock edge specification | 250 | |
| Missing label | 251 | |
| Inconsistent reset style | 252 | |
| Multiple objects in one declaration | 253 | |
| Inconsistent clock edge usage | 254 | |
| Illegal mode view element mode | 256 | |
| Missing mode for record element in mode view | 257 | |
| Superfluous reset | 258 | |
| Prohibited end of line sequence | 260 | |
| Sigasi support is disabled in this file | 262 |
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.
| Description | Reason | ID |
|---|---|---|
| Invalid generic list | Superseded by 202 | 24 |
| Invalid generic map | Superseded by 202 | 25 |
| Duplicate architecture for entity | Superseded by 64 | 31 |
Port map lists cannot be terminated with a , | Superseded by 202 | 45 |
Port lists cannot be terminated with a , | Superseded by 202 | 46 |
| Library is not available | Superseded by checks in the settings | 50 |
| Signal declarations are not allowed in a process statement | Superseded by 176 | 56 |
| End clause validation | Superseded by 51 | 59 |
| Duplicate entity for library | Superseded by 64 | 60 |
| Duplicate package for library | Superseded by 64 | 61 |
| Duplicate configuration for library | Superseded by 64 | 62 |
| Invalid use clause | Removed as it was invalid | 63 |
| Duplicate design unit in IEEE | Removed as it was invalid | 65 |
| Find unregistered output ports | Removed as it was invalid | 75 |
| Undefined identifier | Superseded by the linker | 87 |
| RE2/J compatibility check | Superseded by checks in the settings | 225 |