Block Rules
block_001
This rule checks the block label and the block keyword are on the same line. Keeping the label and generate on the same line reduces excessive indenting.
Violation
block_label :
block is
Fix
block_label : block is
block_002
This rule checks for the existence of the is keyword.
Refer to Configuring Optional Items for more information.
Violation
block_label : block
block_label : block (guard_condition)
Fix
block_label : block is
block_label : block (guard_condition) is
block_003
This rule checks the is keyword is on the same line as the block keyword.
Violation
block_label : block
is
Fix
block_label : block is
block_004
This rule checks the begin keyword is on its own line.
Violation
block is begin
Fix
block is
begin
block_005
This rule checks for code after the begin keyword.
Violation
begin a <= b;
Fix
begin
a <= b;
block_006
This rule checks the end keyword is on its own line.
Violation
a <= b; end block;
Fix
a <= b;
end block;
block_007
This rule checks the block label exists in the closing of the block statement.
Refer to Configuring Optional Items for more information.
Violation
end block;
Fix
end block block_label;
block_100
This rule checks for a single space between the following block elements: label, label colon, block keyword, guard open parenthesis, guard close parenthesis, and is keywords.
Refer to Configuring Whitespace Rules for options on changing the number of whitespaces..
Violation
block_label : block (guard_condition) is
block_label : block is
Fix
block_label : block (guard_condition) is
block_label : block is
block_101
This rule checks for a single space between the end and block keywords and label.
Refer to Configuring Whitespace Rules for options on changing the number of whitespaces..
Violation
end block block_label;
Fix
end block block_label;
block_200
This rule checks for blank lines or comments above the block label.
Refer to Configuring Previous Line Rules for more information.
Violation
a <= b;
block_label : block is
Fix
a <= b;
block_label : block is
block_201
This rule checks for a blank line below the block keyword.
Refer to Configuring Blank Lines for more information.
Violation
block_label : block is
constant width : integer := 32;
Fix
block_label : block is
constant width : integer := 32;
block_202
This rule checks for blank lines or comments above the begin keyword.
Refer to Configuring Blank Lines for more information.
Violation
block_label block is
constant width : integer := 32;
begin
Fix
block_label block is
constant width : integer := 32;
begin
block_203
This rule checks for a blank line below the begin keyword.
Refer to Configuring Blank Lines for more information.
Violation
begin
a <= b;
Fix
begin
a <= b;
block_204
This rule checks for blank lines or comments above the end keyword.
Refer to Configuring Blank Lines for more information.
Violation
begin
a <= b;
end block block_label;
Fix
begin
a <= b;
end block block_label;
block_205
This rule checks for a blank line below the semicolon.
Refer to Configuring Blank Lines for more information.
Violation
end block block_label;
a <= b;
Fix
end block block_label;
a <= b;
block_300
This rule checks the indent of the block label.
Violation
a <= b;
block_label : block is
Fix
a <= b;
block_label : block is
block_301
This rule checks the indent of the begin keyword.
Violation
block_label : block is
begin
Fix
block_label : block is
begin
block_302
This rule checks the indent of the end keyword.
Violation
block_label : block is
begin
end block block_label;
Fix
block_label : block is
begin
end block block_label;
block_400
This rule checks the identifiers for all declarations are aligned in the block declarative region.
Refer to Configuring Identifier Alignment Rules for more information.
Violation
variable var1 : natural;
constant c_period : time;
Fix
variable var1 : natural;
constant c_period : time;
block_401
This rule checks the colons are in the same column for all declarations in the block declarative part.
Refer to Configuring Keyword Alignment Rules for information on changing the configurations.
Violation
signal sig1: natural;
variable var2 : natural;
constant c_period : time;
file my_test_input : my_file_type;
Fix
signal sig1 : natural;
variable var2 : natural;
constant c_period : time;
file my_test_input : my_file_type;
block_402
This rule checks the colons are in the same column for all attribute specifications.
Refer to Configuring Keyword Alignment Rules for information on changing the configurations.
Violation
attribute mark_debug of wr_en : signal is "true";
attribute mark_debug of almost_empty : signal is "true";
attribute mark_debug of full : signal is "true";
Fix
attribute mark_debug of wr_en : signal is "true";
attribute mark_debug of almost_empty : signal is "true";
attribute mark_debug of full : signal is "true";
block_500
This rule checks the label has proper case.
Refer to Configuring Uppercase and Lowercase Rules for more information.
Violation
BLOCK_LABEL : block is
Fix
block_label : block is
block_501
This rule checks the block keyword has proper case.
Refer to Configuring Uppercase and Lowercase Rules for more information.
Violation
block_label : BLOCK is
Fix
block_label : block is
block_502
This rule checks the is keyword has proper case.
Refer to Configuring Uppercase and Lowercase Rules for more information.
Violation
block_label : block IS
Fix
block_label : block is
block_503
This rule checks the begin keyword has proper case.
Refer to Configuring Uppercase and Lowercase Rules for more information.
Violation
block_label : block is
BEGIN
Fix
block_label : block is
begin
block_504
This rule checks the end keyword has proper case.
Refer to Configuring Uppercase and Lowercase Rules for more information.
Violation
END block block_label;
Fix
end block block_label;
block_505
This rule checks the block keyword in the end block has proper case.
Refer to Configuring Uppercase and Lowercase Rules for more information.
Violation
end BLOCK block_label;
Fix
end block block_label;
block_506
This rule checks the label has proper case on the end block declaration.
Refer to Configuring Uppercase and Lowercase Rules for more information.
Violation
end block BLOCK_LABEL;
Fix
end block block_label;
block_600
This rule checks for valid suffixes on block labels. The default suffix is _blk.
Refer to Configuring Prefix and Suffix Rules for more information.
Violation
block_label : block is
Fix
block_label_blk : block is
block_601
This rule checks for valid prefixes on block labels. The default prefix is blk_.
Refer to Configuring Prefix and Suffix Rules for more information.
Violation
block_label : block is
Fix
blk_block_label : block is