24.12.2012 Aufrufe

Schaltungsdesign mit VHDL

Schaltungsdesign mit VHDL

Schaltungsdesign mit VHDL

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

B Die Sprache <strong>VHDL</strong><br />

Funktionen und Prozeduren unterscheiden sich da<strong>mit</strong> in folgenden<br />

Punkten:<br />

Funktionen Prozeduren<br />

Argumentmodi IN IN, OUT, INOUT<br />

Argumentklassen Konstanten, Konstanten,<br />

Signale Signale, Variablen<br />

Rückgabewerte exakt einer beliebig viele (auch 0)<br />

Aufruf in typkonformen als eigenständige, se-<br />

Ausdrücken und quentielle oder neben-<br />

Anweisungen läufige Anweisung<br />

RETURN-Anweisung obligatorisch optional<br />

Die Beschreibung der Funktionalität eines Unterprogramms kann (zusammen<br />

<strong>mit</strong> der Vereinbarung der Schnittstellen) in den Deklarationsteilen<br />

von Entity, Architektur, Block, Prozeß oder im Package Body<br />

stehen. Außerdem können Funktionen und Prozeduren selbst wieder<br />

in den Deklarationsteilen von anderen Funktionen und Prozeduren<br />

spezifiziert werden.<br />

Weiterhin besteht die Möglichkeit, die Funktionalität (Unterprogrammdefinition)<br />

und die Schnittstellenbeschreibung (Unterprogrammdeklaration)<br />

zu trennen. Die Schnittstellenbeschreibung allein<br />

kann dann auch in Packages auftreten.<br />

Eine solche Aufteilung bietet sich unter Ausnutzung der Abhängigkeiten<br />

beim Compilieren von Package und Package Body an: Die<br />

Schnittstellenbeschreibung wird im Package plaziert, während die<br />

Funktionalität erst im Package Body festgelegt wird. Eine nachträgliche<br />

Änderung der Funktionalität bedingt dann nur das Neucompilieren<br />

des Package Body. Die Design-Einheiten, die das Unterprogramm<br />

verwenden, müssen nicht neu übersetzt werden.<br />

164 © G. Lehmann/B. Wunder/M. Selz

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!