Forum: FPGA, VHDL & Co. Problem mit Flankendetektor (VHDL + Hardware)


von Julian (Gast)


Lesenswert?

Hallo,
Ich habe einen Flankendetektor in VHDL programmiert und hab das Programm 
dann auf der Hardware getestet, also das die LED bei steigender Flanke 
kurz aufblinkt wenn der Button gedrückt wird. Nur leuchtet die LED 
durchgehend bis ich den Button los lasse geht sie aus und fängt dann 
wieder an zu leuchten. Bei der Simulation hat alles einwandfrei 
funktioniert: Ein kurzes Signal am Beginn für en_rise.
Hardware: Design Kit, Coolrunner II (mit XC2C256, (XC9572XL))

process (clk_n) -- Synchronisation
begin
  if rising_edge(clk_n) then
    taste1 <= btn;
    taste2 <= taste1;
  end if;
end process;

en_rise <= taste1 and not taste2;
led <= en_rise;

Wenn der Button nicht gedrückt ist sollte die LED doch nicht leuchten?
Bitte um Hilfe.
Julian

von Falk (Gast)


Lesenswert?

Kommt drauf an ob dr Button High oder Low active ist.

MFG
Falk

von Julian (Gast)


Lesenswert?

Hallo,
Zum Testen hab ich die LED direkt mit dem Button verbunden, also
led <= btn;
Und das hat gut funktioniert, die LED hat nur dann geleuchtet wenn auch 
der Button betätigt wurde.
Fehlt mir vielleicht im UCF file für Button irgendeine Einstellung wie: 
Float, Keeper, Pullup (Termination), aber ich denk wens so funktioniert 
hat sollte es  doch auch mit dem Flankendetektor funktionieren, oder ?

julian

von Falk (Gast)


Lesenswert?

@Julian

>Zum Testen hab ich die LED direkt mit dem Button verbunden, also
>led <= btn;

Vielleicht si die LED auch LOW active? Wie ist sie denn angeschlossen?

>Fehlt mir vielleicht im UCF file für Button irgendeine Einstellung wie:
>Float, Keeper, Pullup (Termination), aber ich denk wens so funktioniert

Nein.

>hat sollte es  doch auch mit dem Flankendetektor funktionieren, oder ?

Ja. Ich hoffe mal, dein Takt ist langsam genug, sonst siehst du nix. Das 
Signal der detektierten Flanke ist nur einen Taktzyklus breit.

MFG
Falk


von Kritiker (Gast)


Lesenswert?

Die LED macht genau, was Du hingeschrieben hast. Du taktest doch die 
button-Information mit jedem Takt in Hochgeschwindigkeit durch. Dein 
"kurz Leuchten " ist ein Takt!

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.