Hallo, ich habe folgendes Problem: Ein Zähler soll bei jedem Tastendruck um 1 inkrementiert werden. (nicht gestartet werden!!!) Es muss sozusagen ein Puls erzeugt werden, der z.B. eine Taktperiode lang ist. Wie realisiere ich das? Es muss wohl ein Signal oder Variabel gespeichert werden? H.H
Hallo Versuch es doch mal damit: http://www.handzaehler24.de/epages/61863302.sf Oder gehe mal mehr ins Detail, was du eigentlich willst. Gruß Joachim
Ich würde es wie folgt machen: * vollsynchrones Design * Einsynchronisierung des Taster-Signals mit 2 Flipflops * dann einen Debouncer * am Ausgang des Debouncers die Steigende Flanke detektieren (kann man auch in den Debouncer einbauen) * bei steigender Flanke den Zähler incrementieren. Kann man in ein paar Zeilen VHDL/Verilog realisieren. Hier mal der Code eines Debouncers, den ich vor ein paar Wochen gebaut habe und genau dein Problem löst: signal taster_pulse : std_logic; signal taster_s0 : std_logic; signal taster_s : std_logic; signal taster_count : natural range 0 to 255; -- debouncer for taster process(resb,clk) begin if resb = '0' then taster_s0 <= '0'; taster_s <= '0'; taster_count <= 0; elsif rising_edge(clk) then taster_s0 <= taster; taster_s <= taster_s0; if taster_s = '0' then taster_count <= 0; elsif taster_count /= 255 then taster_count <= taster_count + 1; end if; end if; end process; taster_pulse <= '1' when taster_count = 254 else '0'; Anzumerken ist, das taster_pulse in einem synchronen Prozess verwendet werden sollte (also dein Zähler). Ansonsten kann man taster_pulse auch noch ein Flipflop spendieren. War aber bei mir nicht notwendig. Sehe gerade, die Einsynchronisierung ist auch schon drin. Der Besucher
> Welche Abfrage ist diese Zeile?
Deine Frage sollte wohl lauten: Welche Funktion hat diese Zeile?
Antwort: das ist der asynchrone low-aktive Reseteingang...
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.