Forum: FPGA, VHDL & Co. Frequenzteiler Fehler


von Sascha K. (Gast)


Lesenswert?

hallo
Ich hab dieses Program geschrieben, es sollte normalaweise ein 
Eingansfrequenz durch 10 Teilen. Beim kompilieren geht es , aber wenn 
ich das simulieren möchte bekomme ich nur Nullen am Ausgang.
Woran liegt das?
MfG
Sascha


module freq_teiler (
clk,
aus);

input clk;
output aus;

reg aus;

reg cnt = 4'd0;

always @(posedge clk) begin
if(cnt < 4'd9) begin
  cnt = cnt +4'd1;
  aus = 1'd0;
                  end
 if(cnt == 4'd9) begin
    aus = 1'd1;
    cnt = 4'd0;
                       end
                             end
endmodule

von na (Gast)


Lesenswert?

Hallo Sascha,

Auf den ersten Blick würde ich vermuten, dass es an der Verwendung des 
blocking assignments "=" statt "<=" liegt.

Faustregel: Für reine Kombinatorik "=", für synchrone Prozesse (mit 
Takt) wie bei dir "<=", dann entstehen mit Sicherheit Register.
Du kannst dir ja auch mal folgendes anschauen:

http://alopatek.freeyellow.com/blocking.html

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.