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 />

ENTITY overload IS<br />

----- Bestimmung des Maximums von zwei integer-Werten ------<br />

FUNCTION max (a_i, b_i : integer) RETURN integer IS<br />

BEGIN<br />

IF a_i >= b_i THEN RETURN a_i;<br />

ELSE RETURN b_i;<br />

END IF;<br />

END max;<br />

----- Bestimmung des Maximums von drei integer-Werten ------<br />

FUNCTION max (a_i, b_i, c_i : integer) RETURN integer IS<br />

BEGIN<br />

IF a_i >= b_i AND a_i >= c_i THEN RETURN a_i;<br />

ELSIF b_i >= a_i AND b_i >= c_i THEN RETURN b_i;<br />

ELSE RETURN c_i;<br />

END IF;<br />

END max;<br />

----- Bestimmung des Maximums von zwei real-Werten ---------<br />

FUNCTION max (a_r, b_r : real) RETURN real IS<br />

BEGIN<br />

IF a_r >= b_r THEN RETURN a_r;<br />

ELSE RETURN b_r;<br />

END IF;<br />

END max;<br />

----- Bestimmung des Maximums von drei real-Werten ---------<br />

FUNCTION max (a_r, b_r, c_r : real) RETURN real IS<br />

BEGIN<br />

IF a_r >= b_r AND a_r >= c_r THEN RETURN a_r;<br />

ELSIF b_r >= a_r AND b_r >= c_r THEN RETURN b_r;<br />

ELSE RETURN c_r;<br />

END IF;<br />

END max;<br />

END overload;<br />

Die vier Funktionen max seien in einer Architektur gleichzeitig sichtbar.<br />

Für jeden Funktionsaufruf von max wählt das <strong>VHDL</strong>-Programm<br />

die Variante aus, die in folgenden Punkten dem Aufruf entspricht:<br />

À Zahl der Argumente,<br />

Á Typen der Argumente,<br />

 Namen der Argumente (bei "named association"),<br />

à Typ des Rückgabewertes.<br />

210 © 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!