Lint rules¶
Every rule astli lint has, by group, at the level its
group gives it. astli lint --list prints the same.
correctness¶
At deny by default.
| Rule | |
|---|---|
always-comb-blocking |
a non-blocking assignment in always_comb |
always-ff-non-blocking |
a blocking assignment in always_ff to a variable not declared in it |
duplicate-case-item |
a case label written twice, so its second item is never taken |
suspicious¶
At warn by default.
| Rule | |
|---|---|
always-comb |
always @* where always_comb would say what it is |
case-missing-default |
a case with no default item that is not unique or unique0 |
forbid-defparam |
defparam, which overrides a parameter from elsewhere in the hierarchy |
undriven-signal |
a signal of a module, interface or program read and never written, or an output never driven |
unused-import |
an import nothing in the file uses |
unused-parameter |
a parameter of a module, interface or program nothing reads |
unused-signal |
a net, variable or input of a module, interface or program nothing reads |
variable-initializer |
a variable in a module or interface given a value where it is declared |
width-expand |
a value extended to a wider target, port or operand, in what --top builds |
width-trunc |
a value truncated to a narrower target or port, in what --top builds |
lowrisc¶
At warn by default.
| Rule | |
|---|---|
constraint-name-style |
a constraint not lower_snake_case ending in _c |
disable-statement |
disable of a label that is no begin block around it, or is a process's whole body |
enum-name-style |
an enum type not lower_snake_case ending in _e or _t |
explicit-function-lifetime |
a function outside a class without automatic or static |
explicit-function-task-parameter-type |
a function or task argument without a type |
explicit-parameter-storage-type |
a parameter without a type, other than one with a string value |
explicit-task-lifetime |
a task outside a class without automatic or static |
forbid-reg |
reg, where logic says the same |
forbid-wildcard-connection |
an instance connecting its ports with .* |
generate-label |
a generate block without a label |
generate-label-prefix |
a generate block label not starting with gen_ or g_ |
instance-name-style |
an instance not lower_snake_case |
interface-name-style |
an interface not lower_snake_case ending in _if |
macro-name-style |
a macro not ALL_CAPS, other than UVM's uvm_ ones |
module-begin-block |
a begin block directly in a module |
module-filename |
a file declaring modules, none named as the file is |
module-parameter |
an instance setting more than one parameter, some by position |
module-port |
an instance connecting more than one port, some by position |
package-filename |
a package not named as its file is |
packed-dimensions-range-ordering |
a packed range in ascending order, [0:7] |
parameter-name-style |
a parameter neither CamelCase nor ALL_CAPS |
port-name-suffix |
a module's port not ending in _i, _o or _io as its direction says |
positive-meaning-parameter-name |
a parameter named Disable... |
signal-name-style |
a net, variable or port of a design element not lower_snake_case |
struct-union-name-style |
a struct or union type not lower_snake_case ending in _t |
typedef-enums |
an enum without a typedef |
unpacked-dimensions-range-ordering |
an unpacked range in descending order, [7:0] |
v2001-generate-begin |
a begin block directly inside generate |
restriction¶
At allow by default.
| Rule | |
|---|---|
endif-comment |
an `endif without a comment naming the `ifdef's macro |
explicit-begin |
an if, else, loop or procedural block whose body has no begin |
forbid-negative-array-dim |
a negative literal bound in a dimension |
invalid-system-task-function |
$random, $dist_*, $psprintf or $srandom |
legacy-generate-region |
a generate ... endgenerate region |
legacy-genvar-declaration |
a genvar declared apart from its loop |
one-module-per-file |
a second module in one file |
proper-parameter-declaration |
a parameter outside a parameter list, or a localparam outside a design element, class or package |
uvm-macro-semicolon |
a ; after a `uvm_ macro call |