Constant Rules

constant_001

phase_4 error indent

This rule checks the indent of a constant declaration.

Violation

architecture RTL of FIFO is

constant size : integer := 1;
    constant width : integer := 32

Fix

architecture RTL of FIFO is

  constant size : integer := 1;
  constant width : integer := 32

constant_002

phase_6 error case case_keyword

This rule checks the constant keyword has proper case.

Refer to the section Configuring Uppercase and Lowercase Rules for information on changing the default case.

Violation

CONSTANT size : integer := 1;

Fix

constant size : integer := 1;

constant_003

This rule was depricated and replaced with rules: function_015, package_019, procedure_010, architecture_029 and process_037.

constant_004

phase_6 error case case_name

This rule checks the constant identifier has proper case.

Refer to the section Configuring Uppercase and Lowercase Rules for information on changing the default case.

Violation

constant SIZE : integer := 1;

Fix

constant size : integer := 1;

constant_005

phase_2 error whitespace

This rule checks for a single space after the colon.

Violation

constant size  :integer := 1;
constant width :     integer := 32;

Fix

constant size  : integer := 1;
constant width : integer := 32;

constant_006

phase_2 error whitespace

This rule checks for at least a single space before the colon.

Violation

constant size: integer := 1;
constant width     : integer := 32;

Fix

constant size : integer := 1;
constant width     : integer := 32;

constant_007

phase_1 error structure

This rule checks the := is on the same line at the constant keyword.

Violation

constant size : integer
   := 1;

Fix

constant size : integer := 1;

Fix

constant size    : integer := 1;
constant width   : integer := 32

constant_010

phase_2 error whitespace

This rule checks for a single space before the := keyword in constant declarations. Having a space makes it clearer where the assignment occurs on the line.

Violation

constant size : integer:= 1;
constant width : integer   := 10;

Fix

constant size : integer := 1;
constant width : integer := 10;

constant_011

phase_6 error case case_name

This rule checks the constant type has proper case.

Refer to the section Configuring Uppercase and Lowercase Rules for information on changing the default case.

Violation

constant size : INTEGER := 1;

Fix

constant size : integer := 1;

constant_012

phase_5 error alignment

This rule checks the alignment of multiline constants that contain arrays.

Refer to section Configuring Multiline Indent Rules for options.

Note

The structure of multiline array constants is handled by the rule constant_016.

Violation

constant rom : romq_type :=
(
         0,
     65535,
     32768
  );

Fix

constant rom : romq_type :=
(
  0,
  65535,
  32768
);

constant_013

phase_6 error case

This rule checks for consistent capitalization of constant names.

Violation

architecture RTL of ENTITY1 is

  constant c_size  : integer := 5;
  constant c_ones  : std_logic_vector(c_size - 1 downto 0) := (others => '1');
  constant c_zeros : std_logic_vector(c_size - 1 downto 0) := (others => '0');

  signal data : std_logic_vector(c_size - 1 downto 0);

begin

  data <= C_ONES;

  PROC_NAME : process () is
  begin

    data <= C_ones;

    if (sig2 = '0') then
      data <= c_Zeros;
    end if;

  end process PROC_NAME;

end architecture RTL;

Fix

architecture RTL of ENTITY1 is

  constant c_size  : integer := 5;
  constant c_ones  : std_logic_vector(c_size - 1 downto 0) := (others => '1');
  constant c_zeros : std_logic_vector(c_size - 1 downto 0) := (others => '0');

  signal data : std_logic_vector(c_size - 1 downto 0);

begin

  data <= c_ones;

  PROC_NAME : process () is
  begin

    data <= c_ones;

    if (sig2 = '0') then
      data <= c_zeros;
    end if;

  end process PROC_NAME;

end architecture RTL;

constant_014

phase_5 error alignment

This rule checks the indent of multiline constants that do not contain arrays.

Violation

constant width : integer := a + b +
  c + d;

Fix

constant width : integer := a + b +
                            c + d;

constant_015

phase_7 disabled error naming

This rule checks for valid prefixes on constant identifiers. The default constant prefix is c_.

Refer to the section Configuring Prefix and Suffix Rules for information on changing the allowed prefixes.

Violation

constant my_const : integer;

Fix

constant c_my_const : integer;

constant_016

phase_5 error structure

This rule checks the structure of multiline constants that contain arrays.

Refer to section Configuring Multiline Structure Rules for options.

Note

The indenting of multiline array constants is handled by the rule constant_012.

Violation

constant rom : romq_type := (0, 65535, 32768);

Fix

constant rom : romq_type :=
(
  0,
  65535,
  32768
);

constant_600

phase_7 disabled error naming

This rule checks for valid suffixes on constant identifiers. The default constant suffix is _c.

Refer to the section Configuring Prefix and Suffix Rules for information on changing the allowed suffixes.

Violation

constant my_const : integer;

Fix

constant my_const_c : integer;