Forum: FPGA, VHDL & Co. Verzoegerung in Verilog?


von Owen S. (senmeis)


Lesenswert?

Hi,

Folgender Code kommt aus einem Verilog File.
1
`define DLY #1
2
begin
3
  if (RESET_N == 1’b0)
4
    tx_d_r <= `DLY 32’h1;
5
else
6
    tx_d_r <= `DLY {tx_d_r[31], tx_d_r[0:30]};
7
end;
Kann mir jemand erklären, was ‚DLY’ bewirkt? Eine Verzögerung?

Gruss
Owen
von hiall (Gast)


Lesenswert?

intra-assignment delay
von hiall (Gast)


Lesenswert?

1
begin // Equivalent to intra-assignment delay.
2
hold = y; // Sample and hold y immediately.
3
#1; // Delay.
4
x = hold; // Assignment to x. Overall same as x = #1 y.
5
end
von Ale (Gast)


Lesenswert?

Mehr über delays und Verilog kannst du hier lesen:

www.sunburst-design.com/papers
von Owen S. (senmeis)


Lesenswert?

Vielen Dank.

Was macht diese Zuweisung:
1
tx_d_r <= `DLY {tx_d_r[31], tx_d_r[0:30]};
? Bit Rechtsverschiebung?

Owen
von hiall (Gast)


Lesenswert?

concatenation d.h. es wird ein vektor erzeugt ebenfalls 32 bit

[31,0,1,..,30]
von Sebastian (Gast)


Lesenswert?

In Vhdl gibt es das Keep Statement.
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.