Anon0
Registrierter Benutzer
Beiträge: 2
|
Erstellt: 30.11.10, 21:42 Betreff: noobfrage - zähler |
|
|
hey leute, ich kenn mich mit vhdl noch nicht so gut aus und hab da mal ne frage zu einer aufgabe die ich bearbeiten soll. es geht darum, dass ich einen zähler habe der die position einer rolltreppe ermittelt, sprich nach oben oder unten zählt..wird eine der lichtschranken betätigt dann soll mein positionszähler mit dem signal clear taktsynchron auf den wert 1024 initialisiert werden und beginnen zu zählen. mein problem ist jetzt, dass in meinem fall der zähler bei 1024 stehen bleibt solang clear 1 ist. in dem automaten der meinem zähler clear übergibt bleibt das signal aber 1 bis die rolltreppe 300 positionen später wieder zum stehen kommen soll..folglich funktioniert mein zähler nicht. könnt ihr mir da vll mal auf die sprünge helfen?! wär euch sehr dankbar
mein zähler soweit :
PROCESS (reset, clk, enable, clear) IS VARIABLE position: integer RANGE 0 TO 4096; BEGIN IF reset = '1' THEN position := 1024; ELSIF (clk'event and clk = '1' and enable = '1') THEN IF clear = '1' THEN position := 1024; ELSIF up_ndown = '1' THEN position := position +1; ELSE position := position -1; END IF; END IF; q <= conv_std_logic_vector (position, 12); END PROCESS;
|
|