Function Rules

function_001

phase_4 error indent

This rule checks the indentation of the function keyword.

Violation

architecture RTL of FIFO is

    function overflow (a: integer) return integer is


function underflow (a: integer) return integer is

begin

Fix

architecture RTL of FIFO is

  function overflow (a: integer) return integer is

  function underflow (a: integer) return integer is

begin

function_002

This rule has been merged into function_100.

function_003

This rule has been merged into function_100.

function_004

phase_6 error case case_keyword

This rule checks the begin keyword has proper case.

Refer to Configuring Uppercase and Lowercase Rules for more information.

Violation

function overflow (a: integer) return integer is
BEGIN

Fix

function overflow (a: integer) return integer is
begin

function_005

phase_6 error case case_keyword

This rule checks the function keyword has proper case.

Refer to Configuring Uppercase and Lowercase Rules for more information.

Violation

FUNCTION overflow (a: integer) return integer is

Fix

function overflow (a: integer) return integer is

function_006

phase_3 error blank_line

This rule checks for blank lines or comments above the function keyword.

Refer to Configuring Previous Line Rules for more information.

Violation

architecture RTL of FIFO is
  function overflow (a: integer) return integer is

Fix

architecture RTL of FIFO is

  function overflow (a: integer) return integer is

function_007

This rule has been moved to rule subprogram_body_205.

function_008

phase_4 error indent

This rule checks the indent of function parameters on multiple lines.

Violation

function func_1 (a : integer; b : integer;
            c : unsigned(3 downto 0);
    d : std_logic_vector(7 downto 0);
       e : std_logic) return integer is
begin

end;

Fix

function func_1 (a : integer; b : integer;
  c : unsigned(3 downto 0);
  d : std_logic_vector(7 downto 0);
  e : std_logic) return integer is
begin

end;

function_009

The function of this rule has been superseded and is handled by rule function_019.

function_010

phase_6 error case

This rule checks for consistent capitalization of function names.

Violation

architecture rtl of fifo is

  function func_1 ()

begin

  OUT1 <= Func_1;

  PROC1 : process () is
  begin

     sig1 <= FUNC_1;

  end process;

end architecture rtl;

Fix

architecture rtl of fifo is

  function func_1 ()

begin

  OUT1 <= func_1;

  PROC1 : process () is
  begin

     sig1 <= func_1;

  end process;

end architecture rtl;

function_012

phase_5 error alignment

This rule checks the colons are in the same column for all declarations in the function declarative part.

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

Violation

variable var1 : natural;
variable var2  : natural;
constant c_period : time;

Fix

variable var1     : natural;
variable var2     : natural;
constant c_period : time;

function_013

phase_6 error case case_keyword

This rule checks the end keyword has proper case.

Refer to Configuring Uppercase and Lowercase Rules for more information.

Violation

END;

End function foo;

Fix

end;

end function foo;

function_014

phase_6 error case case_keyword

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

Refer to Configuring Uppercase and Lowercase Rules for more information.

Violation

end FUNCTION;

end Function foo;

Fix

end function;

end function foo;

function_015

phase_5 error alignment

This rule checks the identifiers for all declarations are aligned in the function declarative part.

Refer to Configuring Identifier Alignment Rules for more information.

Violation

variable var1 : natural;
signal sig1 : natural;
constant c_period : time;

Fix

variable var1     : natural;
signal   sig1     : natural;
constant c_period : time;

function_016

phase_4 error indent

This rule checks the indent of return statements in function bodies.

Violation

function func1 return integer is
begin
     return 99;
return 99;
end func1;

Fix

function func1 return integer is
begin
  return 99;
  return 99;
end func1;

function_017

phase_6 error case case_name

This rule checks the function designator has proper case.

Refer to Configuring Uppercase and Lowercase Rules for more information.

Violation

function OVERflow (a: integer) return integer is

Fix

function overflow (a: integer) return integer is

function_018

phase_1 error structure structure_optional

This rule checks the function keyword exist in the closing of the function specification.

Refer to Configuring Optional Items for more information.

Violation

function func return integer is

end func;

Fix

function func return integer is

end function func;

function_019

phase_1 error structure

This rule checks the structure of function specifications.

Refer to Configuring Subprogram Specification Statement Rules for more configuration options.

Violation

function average_samples (num_samples : in integer; sample : out std_logic) return integer;

Fix

function average_samples (
  num_samples : in integer;
  sample      : out std_logic
) return integer;

function_100

phase_2 error whitespace

This rule checks for a single space between the following function elements: function keyword, function designator, open parenthesis, close parenthesis, return keyword, return type and is keyword.

Refer to Configuring Whitespace Rules for options on changing the number of whitespaces..

Violation

function     overflow    (a: integer)     return     integer    is

Fix

function overflow (a: integer) return integer is

function_101

phase_2 error whitespace

This rule checks for a single space between the end and function keywords and function designator.

Refer to Configuring Whitespace Rules for options on changing the number of whitespaces..

Violation

end   function   overflow;
end   function;
end   overflow;

Fix

end function overflow;
end function;
end overflow;

function_201

This rule has been moved to rule subprogram_body_201.

function_202

This rule has been moved to rule subprogram_body_202.

function_203

This rule has been moved to rule subprogram_body_203.

function_204

This rule has been moved to rule subprogram_body_204.

function_300

phase_4 error indent

This rule checks the indent of the closing parenthesis if it is on its own line.

Violation

function func_1 (a : integer; b : integer;
  c : unsigned(3 downto 0);
  d : std_logic_vector(7 downto 0);
  e : std_logic
  ) return integer is

Fix

function func_1 (a : integer; b : integer;
  c : unsigned(3 downto 0);
  d : std_logic_vector(7 downto 0);
  e : std_logic
) return integer is

function_501

phase_6 error case case_keyword

This rule checks the return keyword has proper case.

Refer to Configuring Uppercase and Lowercase Rules for more information.

Violation

function overflow (a: integer) RETURN integer is

Fix

function overflow (a: integer) return integer is

function_502

phase_6 error case case_keyword

This rule checks the is keyword has proper case.

Refer to Configuring Uppercase and Lowercase Rules for more information.

Violation

function overflow (a: integer) return integer IS

Fix

function overflow (a: integer) return integer is

function_506

phase_6 error case case_name

This rule checks the function designator has proper case on the end function declaration.

Refer to Configuring Uppercase and Lowercase Rules for more information.

Violation

end function OVERFLOW;

Fix

end function overflow;

function_600

phase_7 disabled error naming

This rule checks for valid prefixes on function designators. Default signal prefix is f_.

Refer to Configuring Prefix and Suffix Rules for more information.

Violation

function read_data

Fix

function f_read_data

function_601

phase_7 disabled error naming

This rule checks for valid suffixes on function designators. Default signal suffix is _f.

Refer to Configuring Prefix and Suffix Rules for more information.

Violation

function read_data

Fix

function read_data_f