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

Mit der überarbeiteten Syntax (393) kann einer IF-ELSIF-ELSE-<br />

Anweisung auch ein Label gegeben werden. Entsprechend kann in der<br />

END IF-Anweisung dieses Label wiederholt werden:<br />

[if_label :] IF condition_1 THEN<br />

...<br />

END IF [if_label] ;<br />

6.5.6 CASE-Anweisung<br />

Eine weitere Möglichkeit der bedingten Ausführung bestimmter Anweisungen<br />

liegt in der CASE-Anweisung. Sie bietet sich insbesondere<br />

bei mehrfacher Verzweigung basierend auf einem Ausdruck an:<br />

CASE expression IS<br />

{ WHEN value_n =><br />

...<br />

...<br />

... }<br />

-- sequentielle Anweisungen<br />

[ WHEN OTHERS<br />

...<br />

=><br />

...<br />

... ]<br />

END CASE ;<br />

-- sequentielle Anweisungen<br />

Im Gegensatz zu IF-ELSIF-ELSE müssen hier allerdings alle Werte<br />

(value_n), die der Ausdruck (expression) annehmen kann, explizit<br />

angegeben werden. Um die noch nicht behandelten Werte abzufragen,<br />

kann auch das Schlüsselwort OTHERS dienen.<br />

Folgende Beispiele einer bedingten Verzweigung sind äquivalent:<br />

ENTITY four_byte_rom IS<br />

PORT (address : IN integer RANGE 1 TO 4;<br />

contents : OUT bit_vector(1 TO 8) ) ;<br />

END four_byte_rom;<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!