2.7 Diskrete, ereignisbasierte Sprachen
115
VHDL-Prozesse
Zuweisungen sind nur eine Kurzform von VHDL-Prozessen. Mehr Kontrolle über
die Auswertung von Signalen hat man mit expliziten Prozessen. Die allgemeine
Syntax für Prozesse ist wie folgt:
Marke:
-- optionaa
process
Deklarationen
-- optionaa
begin
Anweisungen
-- optionaa
end process;
Zusätzlich zu Zuweisungen können Prozesse wait-Anweisungen enthalten. Diese
Anweisungen können verwendet werden, um einen Prozess zu suspendieren. Es gibt
die folgenden verschiedenen wait-Anweisungen:
wait on Signalliste;
-- suspendiere bis eines der Signaae sich ändert
wait untii Bedingung;
-- suspendiere bis die Bedingung erfüüüt ist
wait for Dauer;
-- suspendiere für eine bestimmte Zeit
wait;
-- suspendiere unbegrenzt
Alternativ zur Verwendung expliziter wait-Anweisungen kann eine Liste von
Signalen im Prozesskopf angegeben werden. Diese bewirken, dass der Prozess jedes
Mal aktiviert wird, wenn mindestens eines der Signale in der Liste seinen Wert
ändert.
Beispiel 2.34: Das folgende Modell eines UND-Gatters führt seine Anweisungen
einmal aus und startet jedes Mal von vorne, wenn einer der Eingänge seinen Wert
ändert:
process(x,y) begin
prod <= x and y;
end process;
Dieses Modell entspricht
process begin
prod <= x and y;
wait on x,y;
end process;
mit einem expliziten wait-Statement am Ende.
∇
Der VHDL-Simulationszyklus
Im Standard-Dokument [241] zu VHDL wird die Ausführung eines VHDLProzesses wie folgt beschrieben: „Die Ausführung eines Modells besteht aus einer
Précédent

- 138/485

Suivant