Forum: FPGA, VHDL & Co. clock zu verstehen


von Mido M. (mido80)


Lesenswert?

hallo Leute
könnte jemand von euch dieses Beipiele erklären. und wenn ich nur ein 
1Khz mit 16 Bit Zähler erzeugen will was muss geändert werden. Danke

WAIT UNTIL CLK_50MHZ'EVENT AND CLK_50MHZ = '1';
    IF RESET = '0' THEN
     CLK_COUNT_10kHZ <= X"0000000";
     CLK_10kHZ <= '0';
    ELSE
             IF CLK_COUNT_10kHZ < X"0001388" THEN
       CLK_COUNT_10kHZ <= CLK_COUNT_10kHZ + 1;
      ELSE
        CLK_COUNT_10kHZ <= X"0000000";
       CLK_10kHZ <= NOT CLK_10kHZ;
      END IF;
    END IF;
  END PROCESS;

von Volker (Gast)


Lesenswert?

Mit jeder steigenden Flanke von CLK_50MHZ wird vorrangig das Signal 
Reset abgefragt.
1. Falls Reset 0 ist werden  CLK_COUNT_10kHZ und CLK_10kHZ auf 0
zurückgesetzt, weiter passier nichts.

2. Falls Reset 1 ist, wird CLK_COUNT_10kHZ mit dem Wert 5000(dezimal) 
verglichen und, falls kleiner mit jeder Taktflanke um 1 erhöht.

Nach 5000 Takten wird das Signal zurückgesetzt und ein Ausgangspin 
getoggelt.

Allerdings liegt am Ausgangspin meiner Meinung nach eine Freuquenz von 
50MHz/10000 also 5 KHz an.

von Volker (Gast)


Lesenswert?

>Nach 5000 Takten wird das Signal zurückgesetzt und ein Ausgangspin
>getoggelt.

Genau genommen erst nach 5001 Takten.

Um jetzt ein 1Khz Signal zu erezugen musst halt den Vergleichswert 
entsprechend ändern.

von Mido M. (mido80)


Lesenswert?

danke für dein Hilfe
jetzt habe ich verstanden und schon erledigt
danke

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.