Why is this an issue?

This rule raises an issue for each usage of a forbidden attribute listed by the forbiddenAttributes parameter.

How to fix it

Code examples

Noncompliant code example

With custom forbidden attribute list: val,left,right

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

With custom forbidden attribute list: val

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" and "range" are allowed
begin
end;

Resources

Related rules