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.

6 Verhaltensmodellierung<br />

Die Vereinheitlichung der Rahmensyntax in 393 führt zu folgender<br />

Syntaxalternative:<br />

FUNCTION function_name ... IS<br />

...<br />

BEGIN<br />

...<br />

END [FUNCTION] [function_name] ;<br />

Einige Beispiele für die Definition von Funktionen:<br />

-- Umwandlung von bit in integer ('0' -> 0, '1' -> 1)<br />

FUNCTION bit_to_integer (bit_a : bit) RETURN integer IS<br />

BEGIN<br />

IF bit_a = '1' THEN RETURN 1 ;<br />

ELSE RETURN 0 ;<br />

END IF ;<br />

END bit_to_integer ;<br />

-- Zaehlen der Einsstellen in einem Bitvektor unbestimmter<br />

-- Laenge (flexibles Modell). Abfrage der aktuellen Vektor-<br />

-- laenge durch das Attribut RANGE.<br />

FUNCTION count_ones (a : bit_vector) RETURN integer IS<br />

VARIABLE count : integer := 0 ;<br />

BEGIN<br />

FOR c IN a'RANGE LOOP<br />

IF a(c) = '1' THEN count := count + 1 ;<br />

END IF ;<br />

END LOOP ;<br />

RETURN count ;<br />

END count_ones ;<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!