Forum: FPGA, VHDL & Co. Stimuli in der testbench


von Manuel (Gast)


Lesenswert?

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

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

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;

von Manuel (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.