Forum: FPGA, VHDL & Co. Zaehler in Verilog


von Owen S. (senmeis)


Lesenswert?

Hi,

mit folgedem Code moechte man einen Zaehler generieren, der sich mit 
jedem Takt erhoeht. Im Simlulator hat der Ausgang jedoch nur den Wert 
“ZZZZZZZ0”. Ist die Initialisierung falsch?
1
module data_gen(
2
input USR_CLK,
3
output TX_D
4
)
5
reg [7:0] tx_d_r;
6
initial tx_d_r <= 8’h0;
7
always @ (posedge USER_CLK)
8
begin
9
tx_d_r <= tx_d_r + 1;
10
end
11
assign TX_D = tx_d_r;
12
endmodule

Gruss
Owen

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Ist die Initialisierung falsch?
Sieh mal den Beitrag "Re: Verilog - Zähler zählt nicht richtig"

von Lattice User (Gast)


Lesenswert?

Declariere mal die Ports richtig, und vor allem modernen Verilog 
(>=2001).

ein
1
`default_nettype none
am Anfang der Verilogdatei ist ungemein hilfreich bei der Fehlersuche in 
diesem Fall.

von G.A. (Gast)


Lesenswert?

dein ausgang TX_D is nur 1 bit!! du kannst auf das assign und den krams 
verzichten und direkt dein tx_d_r als ausgang nehmen! und wie mein 
vorredner schon gesagt hat =>

module data_gen(
input USR_CLK,
output [7:0] tx_d_r,
);

gruß

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.