# in Verilog?

Gast #2077006
Lesenswert?

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!!
Persönliche Seite #2077346
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren