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.

11.3 Überladung<br />

11 Spezielle Modellierungstechniken<br />

Ein Punkt, der erneut die Verwandtschaft von <strong>VHDL</strong> <strong>mit</strong> höheren Programmiersprachen<br />

zeigt, ist die Möglichkeit zur Überladung ("overloading")<br />

von:<br />

p Unterprogrammen (Funktionen und Prozeduren),<br />

p Operatoren und<br />

p Werten von Aufzähltypen.<br />

Unter Überladung versteht man die gleichzeitige Sichtbarkeit von<br />

mehreren gleichnamigen Unterprogrammen, Operatoren bzw. von Objektwerten<br />

die zu unterschiedlichen Aufzähltypen gehören können.<br />

Mit Hilfe der Überladung gelingt es beispielsweise, den Anwendungsbereich<br />

einer Funktion zu vergrößern.<br />

Die verschiedenen Varianten eines Unterprogramms oder eines Operators<br />

unterscheiden sich nur in Anzahl und Typ ihrer Argumente und<br />

Ergebnisse. <strong>VHDL</strong>-Programme erkennen aus dem Kontext heraus<br />

(d.h. aus der Argumentzahl und deren Typen), welche der sichtbaren<br />

Varianten anzuwenden ist. Ist diese Entscheidung nicht eindeutig, d.h.<br />

sollten sich mehrere sichtbare Alternativen als "passend" für die zu erfüllende<br />

Aufgabe erweisen, erfolgt die Ausgabe einer Fehlermeldung.<br />

Durch das Konzept der Überladung werden <strong>VHDL</strong>-Modelle übersichtlicher,<br />

da nicht für jede Variante einer bestimmten Funktionalität ein<br />

neuer Bezeichner vergeben werden muß.<br />

11.3.1 Überladen von Unterprogrammen<br />

Verschiedene Unterprogramme <strong>mit</strong> gleichem Namen, aber unterschiedlichem<br />

Verhalten, werden wie gewöhnlich deklariert. Dies gilt<br />

gleichermaßen für Prozeduren und Funktionen. Ein Beispiel:<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!