Entity Rules

entity_001

This rule checks the indent of the entity keyword.

Violation

library ieee;

  entity fifo is

Fix

library ieee;

entity fifo is

entity_002

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

Violation

entity    fifo is

Fix

entity fifo is

entity_003

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

Refer to the section Configuring Previous Line Rules for options.

Violation

library ieee;
entity fifo is

Fix

library ieee;

entity fifo is

entity_004

This rule checks the entity keyword has proper case.

Refer to the section Configuring Uppercase and Lowercase Rules for information on changing the default case.

Violation

ENTITY fifo is

Fix

entity fifo is

entity_005

This rule checks the is keyword is on the same line as the entity keyword.

Violation

entity fifo

entity fifo
  is

Fix

entity fifo is

entity fifo is

entity_006

This rule checks the is keyword has proper case in the entity declaration.

Refer to the section Configuring Uppercase and Lowercase Rules for information on changing the default case.

Violation

entity fifo IS

Fix

entity fifo is

entity_007

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

Violation

entity fifo    is

Fix

entity fifo is

entity_008

This rule checks the entity name has proper case in the entity declaration.

Refer to the section Configuring Uppercase and Lowercase Rules for information on changing the default case.

Violation

entity Fifo is

Fix

entity fifo is

entity_009

This rule checks the indent of the end keyword.

Violation

  wr_en : in    std_logic;
  rd_en : in    std_logic
);
  end entity fifo;

Fix

    wr_en : in    std_logic;
    rd_en : in    std_logic
  );
end entity fifo;

entity_010

This rule checks the end keyword has proper case.

Refer to the section Configuring Uppercase and Lowercase Rules for information on changing the default case.

Violation

END entity fifo;

Fix

end entity fifo;

entity_011

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

Violation

end    entity fifo;

Fix

end entity fifo;

entity_012

This rule checks the case of the entity name in the end entity statement.

Refer to the section Configuring Uppercase and Lowercase Rules for information on changing the default case.

Violation

end entity FIFO;

Fix

end entity fifo;

entity_013

This rule checks for a single space after the entity keyword in the closing of the entity declaration.

Violation

end entity    fifo;

Fix

end entity fifo;

entity_014

This rule checks the entity keyword has proper case in the closing of the entity declaration.

Refer to the section Configuring Uppercase and Lowercase Rules for information on changing the default case.

Violation

end ENTITY fifo;

Fix

end entity fifo;

entity_015

This rule checks for the keyword entity in the end entity statement.

Refer to the section Configuring Optional Items for options.

Violation

end fifo;

end;

Fix

end entity fifo;

end entity;

entity_016

This rule checks for blank lines above the end entity keywords.

Violation

    wr_en : in    std_logic;
    rd_en : in    std_logic
  );


end entity fifo;

Fix

    wr_en : in    std_logic;
    rd_en : in    std_logic
  );
end entity fifo;

entity_017

This rule checks the alignment of the colon for each generic and port in the entity declaration.

Following extra configurations are supported:

  • separate_generic_port_alignment.

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

Violation

generic (
    g_width : positive;
    g_output_delay : positive
);
port (
    clk_i : in std_logic;
    data_i : in std_logic;
    data_o : in std_logic
);

Fix

generic (
    g_width        : positive;
    g_output_delay : positive
);
port (
    clk_i  : in std_logic;
    data_i : in std_logic;
    data_o : in std_logic
);

entity_018

This rule checks the alignment of := operator for each generic and port in the entity declaration.

Following extra configurations are supported:

  • separate_generic_port_alignment.

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

Violation

generic (
    g_width        : positive := 8;
    g_output_delay : positive      := 5
);
port (
    clk_i   : in std_logic;
    data1_i : in std_logic  := 'X';
    data2_i : in std_logic      := 'X';
    data_o  : in std_logic
);

Fix

generic (
    g_width        : positive := 8;
    g_output_delay : positive := 5
);
port (
    clk_i   : in std_logic;
    data1_i : in std_logic := 'X';
    data2_i : in std_logic := 'X';
    data_o  : in std_logic
);

entity_019

This rule checks for the entity name in the end entity statement.

Refer to the section Configuring Optional Items for options.

Violation

end entity;

Fix

end entity entity_name;

entity_020

This rule checks for alignment of inline comments in the entity declaration.

Following extra configurations are supported:

  • separate_generic_port_alignment.

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

Violation

generic (
    g_width        : positive;  -- Data width
    g_output_delay : positive -- Delay at output
);
port (
    clk_i  : in std_logic; -- Input clock
    data_i : in std_logic;   -- Data input
    data_o : in std_logic -- Data output
);

Fix

generic (
    g_width        : positive; -- Data width
    g_output_delay : positive  -- Delay at output
);
port (
    clk_i  : in std_logic; -- Input clock
    data_i : in std_logic; -- Data input
    data_o : in std_logic  -- Data output
);

Naming Convention Rules (600 - 699)

entity_600

This rule checks for consistent capitalization of generic names in entity declarations.

Violation

entity FIFO is
  generic (
    G_WIDTH : natural := 16
  );
  port (
    I_DATA : std_logic_vector(g_width - 1 downto 0);
    O_DATA : std_logic_vector(g_width - 1 downto 0)
  );
end entity fifo;

Fix

entity FIFO is
  generic (
    G_WIDTH : natural := 16
  );
  port (
    I_DATA : std_logic_vector(G_WIDTH - 1 downto 0);
    O_DATA : std_logic_vector(G_WIDTH - 1 downto 0)
  );
end entity fifo;