Skip to content

Latest commit

 

History

History
514 lines (293 loc) · 8.42 KB

function_rules.rst

File metadata and controls

514 lines (293 loc) · 8.42 KB

Function Rules

function_001

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

This rule checks the begin keyword has proper case.

Violation

function overflow (a: integer) return integer is
BEGIN

Fix

function overflow (a: integer) return integer is
begin

function_005

This rule checks the function keyword has proper case.

Violation

FUNCTION overflow (a: integer) return integer is

Fix

function overflow (a: integer) return integer is

function_006

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

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

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

This rule checks for a function parameter on the same line as the function keyword when the parameters are 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_010

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

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

Violation

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

Fix

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

function_013

This rule checks the end keyword has proper case.

Violation

END;

End function foo;

Fix

end;

end function foo;

function_014

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

Violation

end FUNCTION;

end Function foo;

Fix

end function;

end function foo;

function_015

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

Violation

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

Fix

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

function_016

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

This rule checks the function designator has proper case.

Violation

function OVERflow (a: integer) return integer is

Fix

function overflow (a: integer) return integer is

function_100

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.

Violation

function     overflow    (a: integer)     return     integer    is

Fix

function overflow (a: integer) return integer is

function_101

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

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

This rule checks the indent of the closing parenthesis if it is on it's 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_502

This rule checks the is keyword has proper case.

Violation

function overflow (a: integer) return integer IS

Fix

function overflow (a: integer) return integer is

function_506

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

Violation

end function OVERFLOW;

Fix

end function overflow;