Ich möchte einen Frequenz Multiplizierer für den MAX programmieren in VHDL/Graphic Editor. D.h. aus 10kHz sollte zum Bsp 20, 40, 80kHz generiert werden können. Ich stelle mir die Funktion etwa gleich vor wie "FreqDiv" (Frequenz Dividieren) , einfach statt dividieren sollte die Frequenz verdoppelt/multipliziert werden können.
Ist das überhaupt möglich ? Hat jemand einen guten Tip ?
gruss
Re: Frequenz Multiplizierer
Hallo Gaelforce!
Meines Wissens nach, ist es immer ein bisschen komplizierter eine Frequenz zu erhöhen, aber es gibt verschiedene Möglichkeiten. Die erste ist die, dass du schon einen höheren Takt im System hast, von dem du die neue Frequenz, in Abhängigkeit eines bestimmten Faktors der zu multiplizierenden kleineren Frequenz, ableitest. Bei so geringen Frequenzen, wie in deinem Beispiel sollte das eigentlich kein Problem sein.
Die zweite Möglichkeit ist die Nutzung von bestimmten Einheiten, die dir im FPGA zur Verfügung gestellt werden. Bei Xilinx nennt sich das Digital Clock Management (DCM) und bei Altera gibt es das auch (Bezeichnung fällt mir jetzt nicht ein). Ich kann jetzt nur für Xilinx sprechen, aber dort kannst du nur Frequenzen verdoppeln (durch kaskadieren von mehreren DCMs sind jedoch auch andere Faktoren möglich). Mit der Verwendung von DCMs benötigst du keine externen höheren Frequenzen, weil die DCM intern mit festen Verzögerungsgliedern und Zählern arbeitet und dadurch selbst sehr hohe Takte erzeugen kann. Wenn mich nicht irrt, kann z.B. der Virtex II einen Eingangstakt von 150 MHz sogar noch verdoppeln. Bei Altera solltest du ähnliche Funktionen vorfinden.
Gruß, Sven
Re: Frequenz Multiplizierer
Hallö,
als Alternative kannst Du ansonsten eine externe PLL verwenden um den Takt zu vervielfachen. z.B. 4046 oder 7046.