Fragen zu den Möglichkeiten der Xilinx DCM

Gast #3323103
Lesenswert?

Nach meinem (eigentlich nicht unerheblichen - jedoch offenkundig 
begrenzten) FPGA-Wissens ist es so, dass die DCMs und PLLs in den 
FPGA-Bausteinen mit Multiplieren und Dividern in begrenzten Begreichen 
konfiguriert werden können.

Überlicherweise erziele ich aus (in meinem Fall) 200 MHz z.B. durch die 
Multiplikation mit 2, die benötigten Frequenzen von 400MHz, kann aber 
durch Division von 3,5 und 7 auch krumme Frequenzen von hier, 133 MHz, 
80MHz etc erzeugen.

Nun tue ich mit dem Coregen folgendes:

Ich speise 200 MHz ein und kann ohne Mühen Frequenzen von, 150,0, 175,0 
und eben 200 erzeugen. Er schlägt mir aber auch z.B. 210,0, 262,5 vor.

Das KGV aus 262,5 und 210 muss ja durch Multiplikatinon ab 200 
erreichbar sein, dabei gelange ich aber zu der gigantischen OSC-Frequenz 
von: 4,2 GHz. Zugelassen sind offiziell aber nur 1000!

Wie geht das denn bitte?
Gast #3323859
Lesenswert?

Nee, Nee, da kann was nicht stimmen. Es muss erst multipliziert werden, 
um einen internen Oszillator zu treiben und der hat dann für alle 
Ausgänge eine festgelegte Frequenz. 262,5 und 210 sind beide durch 3 
teilbar, man erhält also: 87,5 und 70. Diese sind wieder durch 5 teilbar 
und man erhält: 17,5 und 14. Diese Zahlen haben keine gemeinsamen 
Primfaktoren mehr. Folglich ist die Oszillation bei: 245. Hochgerechnet 
auf die anderen Beispiele müste man auf die Bedarfszahl kommen.
Gast #3327159
Lesenswert?

>Zuerst wird dividiert, dann multipliziert.
>(200/16) * 21 = 262,5.

Wie macht er das bei den anderen Takten?
Die Einstellungen sind diese hier:


-- "Output    Output      Phase     Duty      Pk-to-Pk        Phase"
-- "Clock    Freq (MHz) (degrees) Cycle (%) Jitter (ps)  Error (ps)"
--------------------------------------------------------------------

-- CLK_OUT1___150.000______0.000______50.0______101.763_____87.375
-- CLK_OUT2___175.000______0.000______50.0_______98.763_____87.375
-- CLK_OUT3___200.000______0.000______50.0_______96.237_____87.375
-- CLK_OUT4___210.000______0.000______50.0_______95.331_____87.375
-- CLK_OUT5___262.500______0.000______50.0_______91.296_____87.375
--
---------------------------------------------------------------------
-- "Input Clock   Freq (MHz)    Input Jitter (UI)"
---------------------------------------------------------------------
-- __primary_____________200____________0.010
Persönliche Seite #3344653
Lesenswert?

@emeister: Wenn Du runterdividierst, darfs Du nicht auf Bruchzahlen 
kommen, auch wenn es MHz sind, da der Eingang ja schon ganzzahlig in MHz 
beschrieben ist.

@T.R.
Das Problem lässt sich mit der -> Primfaktorzerlegung lösen, von der wir 
uns in der 5. Klasse immer immergefragt haben, wofür wir das mal 
brauchen werden :-)

Die Primfaktoren des Beispiels 150, 175, 210 und 262,5 sind (erweitert 
mit 2, um auf gerade Zahlen zu kommen!!!!!!!) 5*5*7*(3*Faktor2) = 1050. 
Will sagen: Alle Frequenzen stammen von 1050 ab. Von 200 aus geht das 
wiederum nur über einen vorgeschalteten Teiler 21/4.

Entscheidende Frage n den TE: Funktioniert es denn? Baut die Synthese 
die Schaltung? Die OSC-Frequenz muss unterhalb des limits des jeweiligen 
Chips liegen. Das dürften in Deinem Fall die 1080 sein.

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