2.7 Diskrete, ereignisbasierte Sprachen
113
Wenn der Kontrollfluss eine solche Zuweisung erreicht, wird der Ausdruck berechnet und dazu verwendet, zukünftige Werte des Signalverlaufes vorauszusagen. In VHDL wird Signalen ein sogenannter Signaltreiber zugeordnet. Wenn es
mehrere Beiträge zu ein- und demselben Signal gibt (z.B. wegen einer leitenden
Verbindung), dann wird aus diesen Beiträgen mit Hilfe einer Auflösungsfunktion (engl. resolution function) ein resultierender Wert berechnet. Auf diese Weise
wird die sup-Funktion, die im Kontext der CSA-Theorie vorgestellt wurde, berechnet, wenn es entsprechende Verbindungen gibt.
Um zukünftige Werte zu berechnen, verwenden Simulatoren eine Warteschlange von Ereignissen, die nach dem aktuellen Zeitpunkt eintreten sollen. Diese
Warteschlange ist aufsteigend nach der Zeit sortiert, zu der diese zukünftigen Ereignisse (z.B. die Aktualisierung eines Signals) stattfinden sollen. Die Ausführung
einer Signalzuweisung führt dazu, dass Einträge in dieser Warteschlange erzeugt
werden. Jeder dieser Einträge enthält den zugehörigen Ausführungszeitpunkt, das
betroffene Signal und den zuzuweisenden Wert. Bei Signalzuweisungen, die keinerlei after-Bedingung beinhalten (erste mögliche Syntaxform der obigen Liste),
verwendet der Eintrag die aktuelle Simulationszeit als Zeitpunkt, zu dem diese
Zuweisung stattfinden soll. In diesem Fall findet die entsprechende Änderung
nach einer unendlich kleinen Zeitspanne, δ-Verzögerung genannt (siehe unten),
statt. Dies ermöglicht es, die Signale zu aktualisieren, ohne die makroskopische
Sicht der Zeit zu verändern.
Bei Signalzuweisungen, die einen transport-Präfix verwenden (zweite Form der
Liste) wird die Signalzuweisung um die angegebene Dauer verzögert. Diese Form
der Zuweisung folgt dem sogenannten Transportverzögerungsmodell. Dieses
Modell simuliert das Verhalten einfacher Leitungen: diese verzögern (in erster
Näherung) Signale. Auch kurze Impulse setzen sich entlang von Leitungen fort.
Das Transportverzögerungsmodell kann auch für logische Schaltungen verwendet
werden, auch wenn sein Hauptzweck die Modellierung von Leitungen ist.
Beispiel 2.32: Modell eines ODER-Gatters mit Transportverzögerung:
c <= transport a or b after 10 ns;
Ein solches Modell würde auch kurze Impulse weiterleiten (siehe Abb. 2.70).
Impuls von 5 ns
t [ns]
10
20
30
40
50
60
70
80
c
b
a
Abb. 2.70 Gatter mit Transportverzögerung
Précédent

- 136/485

Suivant