Package declaration
package_declaration
package identifier is package_declarative_part end [ package ] [ package _simple_name ] ;
Further definitions
identifier
package_declarative_part
simple_name
Examples
Declaration of the package pck in which the integer constant CINT is declared.
PACKAGE pck IS CONSTANT CINT : integer; END pck;
Declaration of the package tristate in which the enumeration type Tri and three functions ( BitVal , TriVal , Resolve ) with the corresponding transfer values and result types are declared. Apart from that a type TriVector is declared as a vector of the type Tri and the maximum length ( NATURAL RANGE <> ).
PACKAGE tristate IS TYPE Tri IS ('0', '1', 'Z', 'E'); FUNCTION BitVal (Value : Tri) RETURN Bit; FUNCTION TriVal (Value : Bit) RETURN Tri; TYPE TriVector IS ARRAY ( NATURAL RANGE <>) OF Tri; FUNCTION Resolve (Sources : TriVector) RETURN Tri; END tristate;
The objects from the library parts are integrated.
The signal S is declared as a guarded signal (BUS) and initialized with the value 1. The driver(s) for the signal S is/are not separated immediately after S has been deactivated but only 2 ns afterwards.
The two components latch and clock with the corresponding in- and outputs are declared. The component latch also contains a Generic N .
PACKAGE pck_2 IS USE work.parts.all; SIGNAL S : resol_bit BUS := '1'; DISCONNECT S AFTER 2 ns; COMPONENT latch GENERIC (C : Natural); PORT (A : IN Bit; B : OUT Bit_vector (1 TO C)); END COMPONENT ; COMPONENT clock PORT (CK : OUT Bit); END COMPONENT ; END pck_2;