[CPLD Design] Frequenzteiler

Gast #201701
Lesenswert?

Hi.

Hab folgendes Problem.... ich hab einen CPLD von Xilinx (XC9500XL
Serie) und möchte darauf einen variablen Frequenzteiler
implementieren.
Der Frequenzteiler ansich ist kein Problem. Variable auf einen
bestimmten Wert setzen und diesen dann runterzählen. Wenn 0 erreicht
wird, toggelt der CLK_OUT Pin (geteilte Clock Frequenz).

Der Nachteil bei diesem Frequenzteiler besteht daran, dass er zumindest
schonmal durch 2 teilt. Und genau das will ich nicht.
Ich brauche einen Frequenzteiler, der die Quarzfrequenz auch ungeteilt,
also 1:1 auf einen Ausgang durchlassen kann!
Geht sowas, und wenn ja, wie (Beispiele bevorzugt in Verilog)?

mfg
Andreas
Gast #201702
Lesenswert?

Zählweise ändern, also VOR dem Dekrementieren auf 0 abfragen und Signal
geben. Wird nun der Counter auf 0 initialisert so wird im Grunde
niemals dekrementiert sondern immer der Clock 1:1 durchgereicht.

Gruß Hagen
Gast #201703
Lesenswert?

Naja... das funktioniert ja auch nicht...
Ich zähle bzw. überprüfe ja nur bei jeder Taktflanke (posedge). Auch
wenn ich jetzt bei jedem mal den Ausgang toggle, wenn die Taktflanke
kommt, dann habe ich leider auch maximal die halbe Takfrequenz
erreicht.

original:  _____|^^^^^|_____|^^^^^|_____|^^^^^|_____
geteilt:   _____|^^^^^^^^^^^|___________|^^^^^^^^^^^

klar, oder?!

mfg
Andreas
Gast #201705
Lesenswert?

Nimm doch einfach einen Zähler mit restfunktion und prüfe die Ausgänge
mit einer Logik. Prüft die Logil auf 0x00, wird bei jedem Takt der
Zähler resettet. Das Signal, mit dem Du den Zäher resettest, ist
gleichzeitig Dein Ausgangssignal. Dann musst Du nur noch die Logik
variabe machen.

Mattias

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren