Hallo, ich muss gerade etwas Verilog-Code verstehen, kenne mich aber nur mit VHDL aus. Mit dem #UDLY in der folgenden Zeile kann ich nichts anfangen. read_valid <= #UDLY 1'b0; Was bedeutet es. Danke Tom
Scheint ein "time delay" zu sein, das über eine Konstante eingestellt wird. Gruß, SuperWilly
Thomas Reinemann schrieb: > Mit dem #UDLY in der folgenden Zeile kann ich nichts anfangen. > > read_valid <= #UDLY 1'b0; > > Was bedeutet es. Das ist ein sogenanntes intra-assignment delay. Der Ausdruck auf der rechten Seite wird ausgewertet (hier trivial: 1'b0) und mit entsprechender Verzögerung der Variablen read_valid zugewiesen. Wobei UDLY möglicherweise ein definierter Parameter ist, oder ebenfalls eine Variable. Gruß Marcus http://www.doulos.com/knowhow/verilog_designers_guide/
Marcus Harnisch schrieb: > Thomas Reinemann schrieb: >> Mit dem #UDLY in der folgenden Zeile kann ich nichts anfangen. >> >> read_valid <= #UDLY 1'b0; >> >> Was bedeutet es. > > Das ist ein sogenanntes intra-assignment delay. Der Ausdruck auf der > rechten Seite wird ausgewertet (hier trivial: 1'b0) und mit > entsprechender Verzögerung der Variablen read_valid zugewiesen. Wobei > UDLY möglicherweise ein definierter Parameter ist, oder ebenfalls eine > Variable. Hä, die Zeile kommt aus einem Modul, dass synthetisiert wird, Wishbone-Decoder vom Mic32. Ein paar Zeilen weiter vorn steht: parameter UDLY = 1; Was bedeutet das dann insgesamt? Danke tom
Thomas Reinemann schrieb: > Ein paar Zeilen weiter vorn steht: > parameter UDLY = 1; Sag' ich doch. > Was bedeutet das dann insgesamt? Ein Parameter ist soetwas ähnliches wie ein Generic in VHDL. Insgesamt ergibt sich also der Ausdruck read_valid <= #1 1'b0; Wobei die Verzögerung von der jeweils gültigen Zeiteinheit des Moduls abhängt. Vielleicht findest Du ja irgendwo weiter oben im Modul eine Direktive die in etwa so aussieht: "`timescale 1ns/100ps". Dann ist (in diesem Beispiel) die Zeiteinheit 1ns und die Verzögerung errechnet sich zu ebenfalls 1ns. In synthetisierter HW wird die Verzögerung (genau wie in VHDL) einfach ignoriert. Da wollte jemand in seinen Waveforms etwas deutlicher sehen, dass read_valid mit einer Verzögerung zugewiesen wird. -- Marcus
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.