DaMicha
Stammgast
Beiträge: 27
|
Erstellt: 26.10.06, 12:49 Betreff: Re: blinkende led |
|
|
Moin Mish.
Das geht so nicht ;).
Um Deinen Counter-Wert zu halten benötigst Du ein flankengesteuertes Speicherelement. Also ein Register (Flipflops). Was Du Dir da gebaut hast sind Latche. Sind diese offen, wenn z.B. die if-Bedingung erfüllt ist, dann hast Du irgend etwas rückgekoppeltes und schwingendes...
Wie wäre es mit folgendem:
reg: process (clk, reset)
variable cnt : integer; variable led : std_logic;
begin
if (reset = '0') then cnt := 0; led := '0'; elsif (rising_edge(clk)) then
if (cnt = 5000000-1) then cnt := 0; led := not led; -- light on / light off else cnt := cnt + 1; end if;
end if;
led_1 <= led;
end process;
Ich habs jetzt nicht ausprobiert, aber mit den Signalnamenanpassungen sollte es so klappen. Ach so, der Reset ist asynchron und Low-Aktiv
Viel Spaß, DaMicha.
|
|