Constant Rules
constant_001
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
This rule checks the constant keyword has proper case.
Refer to Configuring Uppercase and Lowercase Rules for more information.
Violation
CONSTANT size : integer := 1;
Fix
constant size : integer := 1;
constant_003
This rule was deprecated and replaced with rules: function_015, package_019, procedure_010, architecture_029 and process_037.
constant_004
This rule checks the constant identifier has proper case.
Refer to Configuring Uppercase and Lowercase Rules for more information.
Violation
constant SIZE : integer := 1;
Fix
constant size : integer := 1;
constant_005
This rule checks for a single space after the colon.
Refer to Configuring Whitespace Rules for options on changing the number of whitespaces..
Violation
constant size :integer := 1;
constant width : integer := 32;
Fix
constant size : integer := 1;
constant width : integer := 32;
constant_006
This rule checks for at least a single space before the colon.
Refer to Configuring Whitespace Rules for options on changing the number of whitespaces..
Violation
constant size: integer := 1;
constant width : integer := 32;
Fix
constant size : integer := 1;
constant width : integer := 32;
constant_007
This rule checks the := is on the same line at the constant keyword.
Violation
constant size : integer
:= 1;
constant width : integer
:= 32;
Fix
constant size : integer :=
1;
constant width : integer :=
32
constant_010
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.
Refer to Configuring Whitespace Rules for options on changing the number of whitespaces..
Violation
constant size : integer:= 1;
constant width : integer := 10;
Fix
constant size : integer := 1;
constant width : integer := 10;
constant_011
The function of this rule has been superseded by the following rules:
ieee_500
subtype_002
type_014
constant_012
This rule checks the alignment of multiline constants that contain arrays.
Refer to Configuring Multiline Indent Rules for more information.
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
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
This rule checks the indent of multiline constants that do not contain arrays.
Refer to Configuring Multiline Indent Rules for more information.
Violation
constant width : integer := a + b +
c + d;
Fix
constant width : integer := a + b +
c + d;
constant_015
This rule checks for valid prefixes on constant identifiers. The default constant prefix is c_.
Refer to Configuring Prefix and Suffix Rules for more information.
Violation
constant my_const : integer;
Fix
constant c_my_const : integer;
constant_016
This rule checks the structure of multiline constants that contain arrays.
Refer to Configuring Array Multiline Structure Rules for more information.
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_017
This rule checks the structure of constant constraints.
Refer to Configuring Multiline Constraint Rules for more information.
Violation
constant con_a : my_record(element1(7 downto 0), element2(3 downto 0));
Fix
constant con_a : my_record(
element1(7 downto 0),
element2(3 downto 0)
);
constant_100
This rule checks for a single space after the := assignment in constant declarations. Having a space makes it clearer where the assignment occurs on the line.
Refer to Configuring Whitespace Rules for options on changing the number of whitespaces..
Violation
constant size : integer :=1;
constant width : t_type :=(
Fix
constant size : integer := 1;
constant width : t_type := (
constant_101
This rule checks for a single space before the identifier.
Refer to Configuring Whitespace Rules for options on changing the number of whitespaces..
Violation
constant size : integer := 1;
constant width : integer := 32;
Fix
constant size : integer := 1;
constant width : integer := 32;
constant_200
This rule checks for a blank line below a constant declaration unless there is another constant definition.
Refer to Configuring Blank Lines for more information.
Violation
constant width : integer := 32;
signal height : integer := 4;
constant width : integer := 32;
constant height : integer := 4;
Fix
constant width : integer := 32;
signal height : integer := 4;
constant width : integer := 32;
constant height : integer := 4;
constant_400
This rule checks the alignment of assignment keywords in constant declarations.
Refer to Configuring Keyword Alignment Rules for information on changing the configurations.
Violation
constant c_default_values : t_address_en := (
c_address_control => false,
c_address_data => true,
others => false
);
Fix
constant c_default_values : t_address_en := (
c_address_control => false,
c_address_data => true,
others => false
);
constant_600
This rule checks for valid suffixes on constant identifiers. The default constant suffix is _c.
Refer to Configuring Prefix and Suffix Rules for more information.
Violation
constant my_const : integer;
Fix
constant my_const_c : integer;