www.mikrocontroller.net

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


Autor: Plau Sein (radih)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Philip Kirchhoff (plip)
Datum:

Bewertung
0 lesenswert
nicht 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;

Autor: Mathi (Gast)
Datum:

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

Autor: Mathi (Gast)
Datum:

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

Autor: Plau Sein (radih)
Datum:

Bewertung
0 lesenswert
nicht 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 :)

Autor: R.D. (Gast)
Datum:

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

Autor: Haarspalter (Gast)
Datum:

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

Autor: Mathi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiß! Finde es nur übersichtlicher ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.