Hallo, ich habe eine kleine Frage zur Erzeugung von Stimuli in der Testbench. Momentan arbeite ich nach folgender Methode: process begin reset <= '0','1' after 200 us; start <= '0','1' after 100 zs; Chip_Erase_enb <= '0','1' after 750 us,'0' after 760 us,'1' after 770 us; Datenschicken <= '0','1' after 300 us; wait; --will wait forever end process; Dabei bezieht sich doch die Zeitangabe immer auf den Zeitpunkt t=0. Ist es möglich eine Anweisung zu formulieren, mit der sich die Signalzeiten aufeinander beziehen? Das zum Beispiel wenn ich den Zeitpunkt von "Datenschicken" ändere, alles was eigentlich danach passiert sich auch um dieses Zeit-Delta verschiebt. Ich möchte immer nur einen Wert editieren müssen und aber trotzdem verhindern, das sich die Reihenfolge des Signalablaufs ändert. Geht das? Ich freue mich über jeden Tipp. Vielen Dank schonmal. Grüße, Manuel
Anweisungen in einem Prozess werden sequentiell ausgeführt, wenn du also zwischen den Zuweisungen "wait"s einbaust erreichst du das gewünschte Verhalten:
1 | process
|
2 | begin
|
3 | reset <= '0'; |
4 | wait for 200 us; |
5 | reset <= '1'; |
6 | wait for 100 ns; |
7 | start <= '1' |
8 | -- usw.
|
9 | end process; |
Hi, vielen Dank für die Antwort. Das ist genau das was ich benötige. Toll, toll, toll und ehe ich es vergesse toll! Gruß, Manuel
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.