Why is this an issue?

Attributes usage is limited to a given set of authorized attributes. This rule raises an issue for any attribute other than:

This list can be changed through the allowedAttributes parameter.

How to fix it

Code examples

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;

Resources

Related rules