Skip to content

Latest commit

 

History

History
766 lines (438 loc) · 9.54 KB

if_rules.rst

File metadata and controls

766 lines (438 loc) · 9.54 KB

If Rules

if_001

|phase_4| |error| |indent|

This rule checks the indent of the if keyword.

Violation

  if (a = '1') then
  b <= '0'
elsif (c = '1') then
  d <= '1';
else
  e <= '0';
end if;

Fix

if (a = '1') then
  b <= '0'
elsif (c = '1') then
  d <= '1';
else
  e <= '0';
end if;

if_002

|phase_1| |error| |structure|

This rule checks the boolean expression is enclosed in ().

Note

There is a configuration option parenthesis which will either insert or remove the parenthesis.

parenthesis set to 'insert' (Default)

Violation

if a = '1' then

Fix

if (a = '1') then

parenthesis set to 'remove'

Violation

if (a = '1') then

Fix

if a = '1' then

if_003

|phase_2| |error| |whitespace|

This rule checks for a single space between the if keyword and the (.

|configuring_whitespace_rules_link|

Violation

if(a = '1') then

if   (a = '1') then

Fix

if (a = '1') then

if (a = '1') then

if_004

|phase_2| |error| |whitespace|

This rule checks for a single space between the ) and the then keyword.

|configuring_whitespace_rules_link|

Violation

if (a = '1')then

if (a = '1')    then

Fix

if (a = '1') then

if (a = '1') then

if_005

|phase_2| |error| |whitespace|

This rule checks for a single space after the elsif keyword.

|configuring_whitespace_rules_link|

Violation

elsif(c = '1') then

elsif   (c = '1') then

elsif    b = '0' then

Fix

elsif (c = '1') then

elsif (c = '1') then

elsif b = '0' then

if_006

|phase_3| |error| |blank_line|

This rule checks for blank lines after the then keyword.

Violation

if (a = '1') then


  b <= '0'

Fix

if (a = '1') then
  b <= '0'

if_007

|phase_3| |error| |blank_line|

This rule checks for blank lines before the elsif keyword.

Violation

  b <= '0'



elsif (c = '1') then

Fix

  b <= '0'
elsif (c = '1') then

if_008

|phase_3| |error| |blank_line|

This rule checks for blank lines before the end if keywords.

Violation

  e <= '0';


end if;

Fix

  e <= '0';
end if;

if_009

|phase_4| |error| |alignment|

This rule checks the alignment of multiline boolean expressions.

|configuring_multiline_indent_rules_link|

Violation

if (a = '0' and b = '1' and
      c = '0') then

Fix

if (a = '0' and b = '1' and
    c = '0') then

if_010

|phase_3| |error| |blank_line|

This rule checks for blank lines before the else keyword.

Violation

  d <= '1';


else

Fix

  d <= '1';
else

if_011

|phase_3| |error| |blank_line|

This rule checks for blank lines after the else keyword.

Violation

else


  e <= '0';

Fix

else
  e <= '0';

if_012

|phase_4| |error| |indent|

This rule checks the indent of the elsif keyword.

Violation

if (a = '1') then
  b <= '0'
  elsif (c = '1') then
  d <= '1';
else
  e <= '0';
end if;

Fix

if (a = '1') then
  b <= '0'
elsif (c = '1') then
  d <= '1';
else
  e <= '0';
end if;

if_013

|phase_4| |error| |indent|

This rule checks the indent of the else keyword.

Violation

if (a = '1') then
  b <= '0'
elsif (c = '1') then
  d <= '1';
  else
  e <= '0';
end if;

Fix

if (a = '1') then
  b <= '0'
elsif (c = '1') then
  d <= '1';
else
  e <= '0';
end if;

if_014

|phase_4| |error| |indent|

This rule checks the indent of the end if keyword.

Violation

if (a = '1') then
  b <= '0'
elsif (c = '1') then
  d <= '1';
else
  e <= '0';
  end if;

Fix

if (a = '1') then
  b <= '0'
elsif (c = '1') then
  d <= '1';
else
  e <= '0';
end if;

if_015

|phase_2| |error| |whitespace|

This rule checks for a single space between the end if keywords.

|configuring_whitespace_rules_link|

Violation

end    if;

Fix

end if;

if_020

|phase_1| |error| |structure|

This rule checks the end if keyword is on its own line.

Violation

if (a = '1') then c <= '1'; else c <= '0'; end if;

Fix

if (a = '1') then c <= '1'; else c <= '0';
end if;

if_021

|phase_1| |error| |structure|

This rule checks the else keyword is on its own line.

Violation

if (a = '1') then c <= '1'; else c <= '0'; end if;

Fix

if (a = '1') then c <= '0';
else c <= '1'; end if;

if_022

|phase_1| |error| |structure|

This rule checks for code after the else keyword.

Violation

if (a = '1') then c <= '1'; else c <= '0'; end if;

Fix

if (a = '1') then c <= '1'; else
  c <= '0'; end if;

if_023

|phase_1| |error| |structure|

This rule checks the elsif keyword is on its own line.

Violation

if (a = '1') then c <= '1'; else c <= '0'; elsif (b = '0') then d <= '0'; end if;

Fix

if (a = '1') then c <= '1'; else c <= '0';
elsif (b = '0') then d <= '0'; end if;

if_024

|phase_1| |error| |structure|

This rule checks for code after the then keyword.

Violation

if (a = '1') then c <= '1';

Fix

if (a = '1') then
  c <= '1';

if_025

|phase_6| |error| |case| |case_keyword|

This rule checks the if keyword has proper case.

|configuring_uppercase_and_lowercase_rules_link|

Violation

IF (a = '1') then

Fix

if (a = '1') then

if_026

|phase_6| |error| |case| |case_keyword|

This rule checks the elsif keyword has proper case.

|configuring_uppercase_and_lowercase_rules_link|

Violation

ELSIF (a = '1') then

Fix

elsif (a = '1') then

if_027

|phase_6| |error| |case| |case_keyword|

This rule checks the else keyword has proper case.

|configuring_uppercase_and_lowercase_rules_link|

Violation

ELSE

Fix

else

if_028

|phase_6| |error| |case| |case_keyword|

This rule checks the end keyword has proper case.

|configuring_uppercase_and_lowercase_rules_link|

Violation

END if;

End if;

Fix

end if;

end if;

if_029

|phase_6| |error| |case| |case_keyword|

This rule checks the then keyword has proper case.

|configuring_uppercase_and_lowercase_rules_link|

Violation

if (a = '1') THEN

Fix

if (a = '1') then

if_030

|phase_3| |error| |blank_line|

This rule checks a single blank line after the end if. In the case of nested if statements, the rule will be enfoced on the last end if.

|configuring_blank_lines_link|

Violation

if (A = '1') then
  B <= '0';
end if;
C <= '1';

Fix

if (A = '1') then
  B <= '0';
end if;

C <= '1';

if_031

|phase_3| |error| |blank_line|

This rule checks for blank lines or comments above the if keyword. In the case of nested if statements, the rule will be enfoced on the first if.

|configuring_previous_line_rules_link|

The default style is no_code.

Violation

C <= '1';
if (A = '1') then
  B <= '0';
end if;

-- This is a comment
if (A = '1') then
  B <= '0';
end if;

Fix

C <= '1';

if (A = '1') then
  B <= '0';
end if;

-- This is a comment
if (A = '1') then
  B <= '0';
end if;

if_032

The function of this rule has been superceeced with comment indent updates and is handled by rule comment_010.

if_033

The function of this rule has been superceeced with comment indent updates and is handled by rule comment_010.

if_034

|phase_6| |error| |case| |case_keyword|

This rule checks the if keyword in the end if has proper case.

|configuring_uppercase_and_lowercase_rules_link|

Violation

end If;

end IF;

Fix

end if;

end if;

if_035

|phase_1| |error| |structure|

This rule checks the expression after the if or elsif keyword starts on the same line.

Violation

if
  a = '1' then

elsif
  b = '1' then

Fix

if a = '1' then

elsif b = '1' then

if_036

|phase_1| |error| |structure|

This rule checks the then keyword is not on a line by itself.

Violation

if a = '1'
  then

Fix

if a = '1' then