Skip to content

Latest commit

 

History

History
312 lines (171 loc) · 5.02 KB

alias_declaration_rules.rst

File metadata and controls

312 lines (171 loc) · 5.02 KB

Alias Declaration Rules

alias_declaration_001

This rule checks the alias keyword is on its own line.

Violation

signal sig1 : std_logic; alias designator is name;

Fix

signal sig1 : std_logic;
alias designator is name;

alias_declaration_100

This rule checks for a single space after the colon for the subtype_indication.

Violation

alias alias_designator :    subtype_indication is name;
alias alias_designator :subtype_indication is name;

Fix

alias alias_designator : subtype_indication is name;
alias alias_designator : subtype_indication is name;

alias_declaration_101

This rule checks for a single space before the is keyword if the : is present.

Violation

alias alias_designator : subtype_indication     is name;
alias alias_designator   is name;

Fix

alias alias_designator : subtype_indication is name;
alias alias_designator   is name;

alias_declaration_102

This rule checks for a single space after the is keyword.

Violation

alias alias_designator is     name;

Fix

alias alias_designator is name;

alias_declaration_103

This rule checks for a single space before the designator.

Violation

alias          alias_designator is name;

Fix

alias alias_designator is name;

alias_declaration_300

This rule checks the indent of the alias keyword.

Violation

signal sig1 : integer;

  alias is name;

Fix

signal sig1 : integer;

alias is name;

alias_declaration_500

This rule checks the alias keyword has proper case.

Violation

ALIAS alias_designator is name;

Fix

alias alias_designator is name;

alias_declaration_501

This rule checks the is keyword has proper case.

Violation

alias alias_designator IS name;

Fix

alias alias_designator is name;

alias_declaration_502

This rule checks the alias designator has proper case.

Violation

alias Alias_Designator is name;

Fix

alias alias_designator is name;

alias_declaration_503

This rule checks for consistent capitalization of alias designators.

Violation

architecture RTL of ENTITY1 is

  signal instructure : bit_vector(15 downto 0);
  alias opcode : bit_vector(3 downto 0) is instructure(15 downto 12);

  signal data : std_logic_vector(OPCODE'range);

begin

  data <= OpCode;

  PROC_NAME : process () is
  begin

    data <= OpCOde;

    if (opCODE = "0110") then
      data <= oPCode;
    end if;

  end process PROC_NAME;

end architecture RTL;

Fix

architecture RTL of ENTITY1 is

  signal instructure : bit_vector(15 downto 0);
  alias opcode : bit_vector(3 downto 0) is instructure(15 downto 12);

  signal data : std_logic_vector(opcode'range);

begin

  data <= opcode;

  PROC_NAME : process () is
  begin

    data <= opcode;

    if (opcode = "0110") then
      data <= opcode;
    end if;

  end process PROC_NAME;

end architecture RTL;

alias_declaration_600

This rule checks for valid prefixes on alias designators.

Default prefix is a_.

Violation

alias header is name;
alias footer is name;

Fix

alias a_header is name;
alias a_footer is name;

alias_declaration_601

This rule checks for valid suffixes on alias designators.

Default prefix is _a.

Violation

alias header is name;
alias footer is name;

Fix

alias header_a is name;
alias footer_a is name;