if-while abfrage

Gast #2086100
Lesenswert?
• ▲
▼
Hallo,

ich versuche eine Ampelsteuerung zu programmieren.
Bei der beschreibung soll ja der Zustandsautomat durchlaufen bei 
betätigung der Fussgänger Ampel. Es soll auch einen Knopf geben bei dem 
man ein störsignal beim der Ampel anzeigt.(Gelb blinken).

Ich dachte an sowas


case vState is
 when 0 =>
  ao_led(5 downto 0) <="001100";--Leds entsprechend leuchten

  if cBTN0= '1' then --wenn btn0 getrückt wird
  vState:=vState+1;
  elsif  cBTN2= '1' then  -- wenn btn1 gedrückt wird
  while (cBTN3 != 1 ) loop

-- solange durchlaufen bis btn3 gedrückt wird

  ao_led(10)<= Q(24); -- led blinken lassen
  end loop;
  end if;
 when 1 => .....


ich kriege aber diesen error für while schleife
Line 146. parse error, unexpected EQ
Gast #2086184
Lesenswert?
• ▲
▼
While schleifen werden während der Synthese abgerollt und jeder 
durchlauf wird in Slices abgebildet. Deshalb ist eine schleife mit 
unbekannter anzahl Durchläufen generell nicht synthesefähig. Deine 
Denkweise zeigt, dass du den grundlegenden FPGA aufbau noch nicht 
verinnerlicht hast.
Ausserdem scheint mir eine Ampelsteuerung wohl kaum die richtige Aufgabe 
für einen FPGA zu sein.
Moderator (Firma: Titel) Persönliche Seite #2086377
Lesenswert?
• ▲
▼
TT schrieb:
> ich versuche eine Ampelsteuerung zu programmieren.
> Ich dachte an sowas
Vergiss diese "Programmier"-Denkweise.
FPGAs werden nicht programmiert, sondern Hardware beschrieben, die 
darauf abgebildet werden soll. Und da gibt es nur Logik und Flipflops. 
Sowas wie du da beschrieben hast, kann nicht abgebildet werden...

Leih dir mal ein Buch zum Thema VHDL-Synthese aus (Reichardt/Schwarz). 
Dann könnte dir einiges klar werden.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.