If Rules

if_001

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

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

Violation

if a = '1' then

Fix

if (a = '1') then

if_003

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

Violation

if(a = '1') then

if   (a = '1') then

Fix

if (a = '1') then

if (a = '1') then

if_004

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

Violation

if (a = '1')then

if (a = '1')    then

Fix

if (a = '1') then

if (a = '1') then

if_005

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

Violation

elsif(c = '1') then

elsif   (c = '1') then

Fix

elsif (c = '1') then

elsif (c = '1') then

if_006

This rule checks for empty lines after the then keyword.

Violation

if (a = '1') then


  b <= '0'

Fix

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

if_007

This rule checks for empty lines before the elsif keyword.

Violation

  b <= '0'



elsif (c = '1') then

Fix

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

if_008

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

Violation

  e <= '0';


end if;

Fix

  e <= '0';
end if;

if_009

This rule checks the alignment of multiline boolean expressions.

Violation

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

Fix

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

if_010

This rule checks for empty lines before the else keyword.

Violation

  d <= '1';


else

Fix

  d <= '1';
else

if_011

This rule checks for empty lines after the else keyword.

Violation

else


  e <= '0';

Fix

else
  e <= '0';

if_012

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

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

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

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

Violation

end    if;

Fix

end if;

if_020

This rule checks the end if keyword is on it’s 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

This rule checks the else keyword is on it’s 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

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

This rule checks the elsif keyword is on it’s 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

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

This rule checks the if keyword has proper case.

Note

The default is lowercase.

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

Violation

IF (a = '1') then

Fix

if (a = '1') then

if_026

This rule checks the elsif keyword has proper case.

Note

The default is lowercase.

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

Violation

ELSIF (a = '1') then

Fix

elsif (a = '1') then

if_027

This rule checks the else keyword has proper case.

Note

The default is lowercase.

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

Violation

ELSE

Fix

else

if_028

This rule checks the end if keywords have proper case.

Note

The default is lowercase.

Violation

END if;

end IF;

END IF;

Fix

end if;

end if;

end if;

if_029

This rule checks the then keyword has proper case.

Note

The default is lowercase.

Violation

if (a = '1') THEN

Fix

if (a = '1') then

if_030

This rule checks for at least 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.

Violation

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

Fix

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

C <= '1';

if_031

This rule checks for at least a single blank line before the if, unless there is a comment. In the case of nested if statements, the rule will be enfoced on the first if.

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;