Hallo! Verzeihung für die vermutlich dumme Frage, aber ich habe nun schon etliche VHDL Beiträge nach der Funktion einer Raute in VHDL/Verilog durchsucht, jedoch nichts nütziches gefunden. Im Detail gehts um dieses Codefragment: counter_out <= #1 counter_out + 1; ich weiß, dass hiebei der Counter inkrementiert wird, kann mir aber nicht erklären was #1 dazu beiträgt... Bitte um Aufklärung. Danke schon mal für die Mühe!!
AHA. Danke vielmals! Wie kommt man denn auf diese Verzögerungswerte (Rein aus Interesse)? MFG Konrad
#1 verzögert um ein Zeitdingens. Was ein Zeitdingens ist, wird durch die timescale-Direktive festgelegt. Oder war deine Frage anders zu verstehen?
Das ist ein intra-assignment delay. Der Ausdruck auf der rechten Seite wird zu einem Zeitpunkt t ausgewertet und das Ergebnis nach der angegebenen Verzögerung zugewiesen. In Verilog kann man nur sogenannte einheitenlose ganzzahlige unit delays angeben, d.h. keine Zeiteinheiten wie man sie in VHDL kennt.[1] Konrad Neugebauer schrieb: > Wie kommt man denn auf diese Verzögerungswerte (Rein aus Interesse)? #1 ist insofern besonders, dass es sich um die kleinste überhaupt mögliche Verzögerung handelt. Die Gründe können vielfältig sein, die meisten sind aber falsch :-) Beliebt ist das "Sichtbar-machen" von Kausalitäten in den Waveforms. Ebenfalls beliebt ist das Konstrukt leider auch zur Verdeckung von race conditions, die man in den Code eingebaut hat. Viele Grüße Marcus Footnotes: [1] In SystemVerilog hat man Zeiteinheiten.
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.