05.07.2013 Aufrufe

VHDL Kompakt - CES

VHDL Kompakt - CES

VHDL Kompakt - CES

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Kapitel 9<br />

Bibliotheken und Packages<br />

9.1 Package<br />

Ein package ist, wie entity, architecture und component, eine eigenständige <strong>VHDL</strong>-Einheit.<br />

In Packages werden Deklarationen gesammelt, die an mehreren Stellen im Entwurf benötigt<br />

werden, beispielsweise für: Typen und Untertypen, Konstanten, Komponenten, Funktionen<br />

und Prozeduren . . .<br />

In einigen Fällen werden Packages in ” Header“ und ” Body“ unterteilt. Der Kopf enthält dabei<br />

die nach außen sichtbaren Deklarationen, während die Implementationen in dem ” Body“<br />

stehen. Beide Teile können in getrennten Dateien enthalten sein — mit dem Vorteil, dass<br />

bei Änderungen möglichst kleine Teile des <strong>VHDL</strong>-Codes ausgetauscht und neu analysiert<br />

werden müssen. Diese Unterteilung ist in zwei Fällen sinnvoll, bei Unterprogrammen sogar<br />

notwendig:<br />

zurückgestellte (deferred) Konstante : Die Deklaration der Konstanten befindet sich im Kopf,<br />

während die Festlegung eines Wertes im ” Body“ stattfindet.<br />

Unterprogramme — Funktionen und Prozeduren : Im Packageheader ist nur die Deklaration<br />

des Unterprogramms, der Programmrumpf folgt im ” Body“.<br />

Syntax<br />

package 〈packageId〉 is<br />

{use 〈...〉 } |<br />

{type 〈...〉 } | {subtype 〈...〉 } |<br />

{file 〈...〉 } | {alias 〈...〉 } |<br />

{function 〈...〉 } | {procedure 〈...〉 } |<br />

{component 〈...〉} |<br />

{constant 〈...〉 } |<br />

{signal 〈...〉 }<br />

end [package] [ 〈packageId〉 ];<br />

package body 〈packageId〉 is<br />

{type 〈...〉 } | {subtype 〈...〉 } |<br />

{file 〈...〉 } | {alias 〈...〉 } |<br />

{function 〈...〉 } | {procedure 〈...〉 } |<br />

{constant 〈...〉 }<br />

end [package body] [ 〈packageId〉 ];<br />

62

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!