Hallo zusammen Eingang: 8 Bit Wort (parallel) mit einem Takt werden die 8 Bits auf einmal gelesen Dieses 8 Bit Wort wird im Register test zwischengelagert Ausgang: Mit jedem Takt wird ein Bit von diesen 8 ausgegeben, aber mit diesem Programm klappt es nicht.was könnte die Fehler sein? MfG Chris module par_ser_dec( clk, // Clock Eingang data_in, start, data_out); input clk; input start; input [7:0] data_in; output data_out; reg data_out; integer i=0; reg [7:0] test; always @(posedge start) begin test <= data_in; end always @(posedge clk) begin: ausgabe for(i=0;i<7;i=i+1) begin data_out <= test[i]; end end endmodule
@ Chris (Gast) >Eingang: 8 Bit Wort (parallel) mit einem Takt werden die 8 Bits auf >einmal gelesen >Dieses 8 Bit Wort wird im Register test zwischengelagert >Ausgang: Mit jedem Takt wird ein Bit von diesen 8 ausgegeben, aber mit >diesem Programm klappt es nicht.was könnte die Fehler sein? Ich kenn mich mit Verilog nicht sonderlich aus, aber was du brauchst ist ein Zähler, KEINE Schleife. Klassischer Anfängerfehler, die von "normalen" Programmiersprachen kommen. Etwa so (ohne Gewähr) reg [2:0] cnt; always @(posedge clk) begin: ausgabe cnt <= cnt +1; data_out <= test[cnt]; end MFG Falk
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.