PACKAGE BODY

Syntaktische Rahmen – PACKAGE BODY

PACKAGE pack1 IS
CONSTANT max : integer;
END pack1;

PACKAGE BODY pack1 IS

CONSTANT max : integer := 5;
END pack1;
Dieses Beispiel zeigt sehr gut, wie man die Abhängigkeiten beim Kompilieren der einzelnen Design-Einheiten ausnutzen kann:
Wird die Deklaration eines Objektes im Package und die zugehörende Definition im Package Body aufgeführt, werden Änderungen durch Kompilieren nur des Package Body in allen Modellen bekannt, die das Package durch USE... benutzen.
PACKAGE package2 IS
FUNCTION n (SIGNAL a,b: in bit) RETURN bit;
FUNCTION m (SIGNAL a,b: in bit) RETURN bit;
END package2;

PACKAGE BODY package2 IS

FUNCTION n (SIGNAL a,b: IN bit) RETURN bit IS
BEGIN
RETURN (a NAND b);
END n;

FUNCTION m (SIGNAL a,b: IN bit) RETURN bit IS
VARIABLE t : bit;
BEGIN
t := a AND B;
RETURN NOT t;
END m;
END package2;
Das oben beschriebene Vorgehen der Trennung von Deklaration und Definition kann auch für Prozeduren und Funktionen verwendet werden:

In diesem Package werden die Funktionen n und m definiert, deren Header bereits im Package bekanntgegeben wurden.