Subprogram Body Rules

subprogram_body_201

phase_3 error blank_line

This rule checks for a blank line below the is keyword.

This rule allows the begin keyword to occupy the blank line:

function overflow (a: integer) return integer is
begin

Refer to Configuring Blank Lines for more information.

Violation

function overflow (a: integer) return integer is
  constant width : integer := 32;
begin

Fix

function overflow (a: integer) return integer is

  constant width : integer := 32;
begin

subprogram_body_202

phase_3 error blank_line

This rule checks for blank lines above the begin keyword.

This rule allows the is keyword to occupy the blank line:

function overflow (a: integer) return integer is
begin

Refer to Configuring Blank Lines for more information.

Violation

function overflow (a: integer) return integer is

  constant width : integer := 32;
begin

Fix

function overflow (a: integer) return integer is

  constant width : integer := 32;

begin

subprogram_body_203

phase_3 error blank_line

This rule checks for a blank line below the begin keyword.

Refer to Configuring Blank Lines for more information.

Violation

function overflow (a: integer) return integer is
begin
  a <= b;

Fix

function overflow (a: integer) return integer is
begin

  a <= b;

subprogram_body_204

phase_3 error blank_line

This rule checks for blank lines above the end keyword.

Refer to Configuring Blank Lines for more information.

Violation

begin

  a <= b;
end function overflow;

Fix

begin

  a <= b;

end function overflow;

subprogram_body_205

phase_3 error blank_line

This rule checks for a blank line below the end of the function declaration.

Refer to Configuring Blank Lines for more information.

Violation

function overflow (a: integer) return integer is
end;
signal wr_en : std_logic;

Fix

function overflow (a: integer) return integer is
end;

signal wr_en : std_logic;

subprogram_body_400

phase_5 error alignment

This rule checks the alignment of the <= and := operators over consecutive sequential assignments in subprogram bodies.

Following extra configurations are supported:

  • if_control_statements_ends_group,
  • case_control_statements_ends_group.
  • case_keyword_statements_ends_group.
  • loop_control_statements_ends_group,

Refer to Configuring Keyword Alignment Rules for information on changing the configurations.

Violation

wr_en <= '1';
rd_en   <= '0';
v_variable := 10;

Fix

wr_en      <= '1';
rd_en      <= '0';
v_variable := 10;