Package Rules

package_001

phase_4 error indent

This rule checks the indent of the package declaration.

Violation

library ieee;

  package FIFO_PKG is

Fix

library ieee;

package FIFO_PKG is

package_002

phase_2 error whitespace

This rule checks for a single space between package and is keywords.

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

Violation

package   FIFO_PKG   is

Fix

package FIFO_PKG is

package_003

phase_3 error blank_line

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

Refer to Configuring Previous Line Rules for more information.

The default style is no_code.

Violation

library ieee;
package FIFO_PKG is

Fix

library ieee;

package FIFO_PKG is

package_004

phase_6 error case case_keyword

This rule checks the package keyword has proper case.

Refer to Configuring Uppercase and Lowercase Rules for more information.

Violation

PACKAGE FIFO_PKG is

Fix

package FIFO_PKG is

package_005

phase_1 error structure

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

Violation

package FIFO_PKG
is

Fix

package FIFO_PKG is

package_006

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 package fifo_pkg;

Fix

end package fifo_pkg;

package_007

phase_1 error structure structure_optional

This rule checks for the package keyword on the end package declaration.

Refer to Configuring Optional Items for more information.

Violation

end FIFO_PKG;

Fix

end package FIFO_PKG;

package_008

phase_6 error case case_name

This rule checks the package name has proper case on the end package declaration.

Refer to Configuring Uppercase and Lowercase Rules for more information.

Violation

end package FIFO_PKG;

Fix

end package fifo_pkg;

package_009

phase_2 error whitespace

This rule checks for a single space between the end and package keywords and package name.

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

Violation

end   package   FIFO_PKG;

Fix

end package FIFO_PKG;

package_010

phase_6 error case case_name

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

Refer to Configuring Uppercase and Lowercase Rules for more information.

Violation

package FIFO_PKG is

Fix

package fifo_pkg is

package_011

phase_3 error blank_line

This rule checks for a blank line below the package keyword.

Refer to Configuring Blank Lines for more information.

Violation

package FIFO_PKG is
  constant width : integer := 32;

Fix

package FIFO_PKG is

  constant width : integer := 32;

package_012

phase_3 error blank_line

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

Refer to Configuring Blank Lines for more information.

Violation

  constant depth : integer := 512;
end package FIFO_PKG;

Fix

  constant depth : integer := 512;

end package FIFO_PKG;

package_013

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

package fifo_pkg IS

Fix

package fifo_pkg is

package_014

phase_1 error structure structure_optional

This rule checks the package name exists on the same line as the end package keywords.

Refer to Configuring Optional Items for more information.

Violation

end package;

Fix

end package fifo_pkg;

package_015

phase_4 error indent

This rule checks the indent of the end package declaration.

Violation

package FIFO_PKG is

   end package fifo_pkg;

Fix

package fifo_pkg is

end package fifo_pkg;

package_016

phase_7 disabled error naming

This rule checks for valid suffixes on package identifiers. The default package suffix is _pkg.

Refer to Configuring Prefix and Suffix Rules for more information.

Violation

package foo is

Fix

package foo_pkg is

package_017

phase_7 disabled error naming

This rule checks for valid prefixes on package identifiers. The default package prefix is pkg_.

Refer to Configuring Prefix and Suffix Rules for more information.

Violation

package foo is

Fix

package pkg_foo is

package_018

phase_6 error case case_keyword

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

Refer to Configuring Uppercase and Lowercase Rules for more information.

Violation

end PACKAGE fifo_pkg;

Fix

end package fifo_pkg;

package_019

phase_5 error alignment

This rule checks the identifiers for all declarations are aligned in the package declarative region.

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;

package_400

phase_5 error alignment

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

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

Violation

package my_package is

  signal   wr_en : std_logic;
  signal   rd_en   : std_logic;
  constant c_period : time;

end package my_package;

Fix

package my_package is

  signal   wr_en    : std_logic;
  signal   rd_en    : std_logic;
  constant c_period : time;

end package my_package;

package_401

phase_5 error alignment

This rule checks the alignment of inline comments in the package declarative part.

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

Violation

package my_package is

  signal   wr_en    : std_logic;  -- Comment 1
  signal   rd_en    : std_logic;     -- Comment 2
  constant c_period : time; -- Comment 3

end package my_package;

Fix

package my_package is

  signal   wr_en    : std_logic; -- Comment 1
  signal   rd_en    : std_logic; -- Comment 2
  constant c_period : time;      -- Comment 3

end package my_package;

package_402

phase_5 error alignment

This rule checks the colons are in the same column for all attribute specifications.

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

Violation

attribute mark_debug of wr_en : signal is "true";
attribute mark_debug of almost_empty : signal is "true";
attribute mark_debug of full : signal is "true";

Fix

attribute mark_debug of wr_en        : signal is "true";
attribute mark_debug of almost_empty : signal is "true";
attribute mark_debug of full         : signal is "true";