Forum: FPGA, VHDL & Co. Gal Zähler 0-59 & 59-0


von Xeno (Gast)


Lesenswert?

hey

muss in der Schule einen Zähler bauen.
Er soll von 0-59 zählen und bei einem tasten druck von 59 wieder runter 
auf 0 zählen und dann auf 0 stehen bleiben.

den ersten teil 0-59 hab ich hin bekommen aber das mit dem zurückzählen 
irgendwie noch nicht.

danke für die hilfe


Code

MODULE timer

TITLE 'timer'




DECLARATIONs

  takt,reset PIN 30,1;
  bit3..bit0 PIN 24,23,22,19 ISTYPE'BUFFER,REG';
  bit6..bit4 PIN 18,17,16    ISTYPE'BUFFER,REG';
  ctrE = [bit3..bit0];
  ctrZ = [bit6..bit4];

EQUATIONS

   when (ctrE.q == 9)
     then { ctrE.d = 0;
            when (ctrZ.q == 9)
              then ctrZ.d = 0;
              else ctrZ.d = ctrZ.q +1;
          }
     else { ctrE.d = ctrE.q + 1;
            ctrZ.d = ctrZ.q;
          }



  ctrZ.clk = takt;
  ctrE.clk = takt;




END

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Du wirst dir wohl eine Statemachine bauen müssen.

von Xeno (Gast)


Lesenswert?

aso oke.
und was ist eine statemachine oO?

von egal (Gast)


Lesenswert?

ich hasse ABEL...

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Zähl einfach die möglichen erlaubten Zustände dieser "Maschine":
Von der Null läuft sie beim Start mit der Taktfrequenz bis auf 59 hoch, 
das sind schon mal 60 Zustände, wartet auf der "59" auf Tastendruck und 
läuft dann über einen neuen Zustand "58" bis zu einer neuen "0" 
herunter, wo sie dauerhaft stehenbleibt. Das sind weitere 59 Zustände, 
insgesamt also 119. Sieben Bit (0..127) reichen also für diese Maschine 
aus.

von Angus (Gast)


Lesenswert?

Ich würde hochzählen, erreicht, runterzählen, fertig an Zuständen sehen.

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.