Hardware Reference
In-Depth Information
Wert-Zeit-Tupel zu. Jedes Tupel besteht aus einem Ausdruck W zur Berech-
nung des neuen Signalwertes und einem Ausdruck t d für die Verzögerungszeit:
W
W
Signalname <= [VM]
[after t d ]{ ,
after t d } ;
(VM - Verzögerungsmodell). Der Zeitwert, ab dem ein neu zugewiesener Si-
gnalwert gilt, ist jeweils die Summe aus der aktuellen Simulationszeit t sim
und der Verzögerungszeit t d . Verzögerungszeiten haben den Untertyp de-
lay_length für nicht negative Zeitangaben (vgl. Abschnitt 1.2.1). Bei der
Simulation läuft eine Art Uhr für die Simulationszeit mit, die nur erhöht,
aber nicht zurückgestellt werden kann. Die berechneten Signalverläufe vom
Simulationsbeginn bis zur aktuellen Simulationszeit können nicht mehr ver-
ändert werden. Zugewiesene Tupel, deren Zeitwerte noch nicht erreicht sind,
werden als schwebend bezeichnet. Der Signalverlauf, den sie beschreiben, ist
noch nicht endgültig. Eine neue Signalzuweisung löscht alle schwebenden Zu-
weisungen, deren Zeitwerte größer als die der neu zugewiesenen Tupel sind.
Den Umgang mit schwebenden Zuweisungen mit kleineren Zeitwerten legt das
Verzögerungsmodell fest. Vorerst werden die Beispiele so gewählt, dass früher
zugewiesene Wert-Zeit-Tupel zu den Ausführungszeitpunkten der nachfolgen-
den Signalzuweisungen nicht mehr schwebend sind. Damit spielt das Verzöge-
rungsmodell vorerst keine Rolle.
Die meisten Signalzuweisungen weisen nur ein Wert-Zeit-Tupel nach dem
Standardverzögerungsmodell zu:
W
Signalname <=
[after t d ] ;
Ohne die optionale After-Klausel ist die Verzögerungszeit null. Der Zeitwert,
ab dem der neue Signalwert gilt, ist die aktuelle Simulationszeit. In Abb. 1.23
wird einem Signal y mit dem Anfangswert »0« innerhalb eines Prozesses eine
Änderungsfolge »1-0-1« zugewiesen. Zum Ausprobieren sind die Signalverein-
barungen in den Vereinbarungsteil der Entwurfseinheit und die Signalzuwei-
sungen in den Anweisungsteil des Testprozesses im Testrahmen in Abb. 1.18
einzufügen. Der komplette Testrahmen steht auf der Web-Seite [27] in der
angegebenen Datei.
signal y:std_logic:= '0' ;
.. y <= '1' after 1 ns , '0' after 2 ns , '1' after 3 ns ;
wait ;
y
1
0
0
1
2
t sim inns
Web-Projekt:P1.2/TestSig1.vhdl
Abb. 1.23. Zuweisung einer Änderungsfolge »1-0-1«
Bei der Ausführung der Simulation ist zusätzlich im Kommandozeilenaufruf
der Dateiname für die Abspeicherung der berechneten Signalverläufe anzuge-
ben:
Search WWH ::




Custom Search