Skip to content

Latest commit

 

History

History
608 lines (343 loc) · 9.85 KB

function_rules.rst

File metadata and controls

608 lines (343 loc) · 9.85 KB

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.

|configuring_uppercase_and_lowercase_rules_link|

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.

|configuring_uppercase_and_lowercase_rules_link|

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.

|configuring_previous_line_rules_link|

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

|phase_1| |error| |structure|

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

|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.

|configuring_keyword_alignment_rules_link|

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.

|configuring_uppercase_and_lowercase_rules_link|

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.

|configuring_uppercase_and_lowercase_rules_link|

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.

|configuring_identifier_alignment_rules_link|

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.

|configuring_uppercase_and_lowercase_rules_link|

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.

|configuring_optional_items_link|

Violation

function func return integer is

end func;

Fix

function func return integer is

end function func;

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.

|configuring_whitespace_rules_link|

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.

|configuring_whitespace_rules_link|

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.

|configuring_uppercase_and_lowercase_rules_link|

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.

|configuring_uppercase_and_lowercase_rules_link|

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.

|configuring_uppercase_and_lowercase_rules_link|

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_.

|configuring_prefix_and_suffix_rules_link|

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.

|configuring_prefix_and_suffix_rules_link|

Violation

function read_data

Fix

function read_data_f