Forum: FPGA, VHDL & Co. grundsätzliches Problem mit process(clk,reset)


von Plau S. (radih)


Lesenswert?

reset ist an einem Button angeschlossen, der immer 1 ist und wenn er 
gedrueckt wird wird er 0
clk ist Clock signal

meine processes gestalte ich so:

process(clk,reset)
begin
if(reset='0') then
die notwendige signale <= 0 ...
else
der Normalfall, wo die signale ausgerechnet werden
end if;


end process

irgendwie funktioniert das aber nicht

Habe ich einen Fehler bei der Verwendung von process mit clk und reset 
???

danke im voraus

von Philip K. (plip)


Lesenswert?

Machs mal so:

process(clk)
begin
if(rising_edge(clk)) then
   if(reset = '1')then
    die notwendige signale <= 0 ...
  else
    der Normalfall, wo die signale ausgerechnet werden
  end if;
end if;

von Mathi (Gast)


Lesenswert?

Wie Philip das gemacht hat, ergibt das einen synchronen Reset.
Wenn Du einen Asynchronen willst/brauchst dann mach es so:
1
 process(Clk, Reset)
2
 begin
3
       if(Reset <= '1')then
4
          --alle Signale zurücksetzen
5
       elsif(rising_edge(Clk))then
6
          --der Normalfall, wo die signale ausgerechnet werden
7
       end if;
8
 end process;

von Mathi (Gast)


Lesenswert?

kleiner vertipper:
Es muss if(Reset = '1')then heißen...

von Plau S. (radih)


Lesenswert?

danke vielmals

die lage hat sich dramatisch verbessert :)))

das erste rpoblem hat sich schon geloest :)

nun werd ich versuchen, die andere Fehler rauszufinden und die dann 
korrigieren, damit mein projekt endlich gut laeuft :)

von R.D. (Gast)


Lesenswert?

"Reset <= '1'" gibt eine sehr kleine Schaltung nach der Optmierung :_)

von Haarspalter (Gast)


Lesenswert?

die Klammern beim If brauchts in VHDL nicht, also
...
if reset = '1' then
...

von Mathi (Gast)


Lesenswert?

Ich weiß! Finde es nur übersichtlicher ;)

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.