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
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.