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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.