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;
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.
>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.
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.