Verilog UDLY

Persönliche Seite #1611799
Lesenswert?

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/
OP (Firma: abaxor engineering) #1611830
Lesenswert?

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

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

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