VHDL127: Only allowed attributes should be used
Summary
| Reliability | Security | Maintainability | Code attribute | Effort to fix | Tags |
|---|---|---|---|---|---|
| LOW | - | - | Intentionality | Logical | 20min | synthesis, vscode, linter |
Description
Related rules
Attributes usage is limited to a given set of authorized attributes. This rule raises an issue for any attribute other than:
eventhighleftlengthlowrangeright
This list can be changed through the allowedAttributes parameter.
Noncompliant code example
architecture rtl of top is type state_type is (Init, Hold, Strobe, Read, Idle); variable V: state_type := state_type’val(2); -- Noncompliant: "val" is not allowed begin end;
Compliant solution
architecture rtl of top is type bit_array is array (15 downto 0) of bit; variable my_var : integer := bit_array’left(bit_array’range); -- Compliant: "left" is allowed begin end;
Parameters
| Parameter | Value | Description |
|---|---|---|
| allowedAttributes | event,high,left,length,low,range,right | Comma-separated list of allowed attributes |