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
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
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
...mit einem MUX einfach die Quarzfrequenz/Teilerfrequenz nach Bedarf zum CLK_OUT durchschalten.
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
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.