Ich möchte per Tastendruck bzw. Druck auf den Drehschalter am Spartan 3 AN Starter Kit eine Zustandsmaschine in den nächsten Zustand schalten. Hier die entsprechende Deklaration.
1 | type wave_mod is (sin_wave_mod, square_wave_mod); |
2 | signal modus : wave_mod; |
Und hier die Anweisung.
1 | if modus /= wave_mod'high |
2 | then
|
3 | modus <= wave_mod'succ(modus); |
4 | else
|
5 | modus <= wave_mod'low; |
6 | end if; |
Kurz gesagt: Falls noch nicht der letzte Zustand erreicht wurde dann wechsle in den nachfolgenden Zustand, ansonsten wechsle in den ersten Zustand. Das ganze sollte nur in Abhängigkeit von dem Signal modus definiert werden; der zugehörige Type sollte nicht in der Anweisung auftauchen. modus'base'high resultiert in einer Fehlermeldung "non authorized access". Was habe ich falsch verstanden ?