Forum: FPGA, VHDL & Co. Clock Wizzard


von Udo (Gast)



Lesenswert?

Ich kämpfe mich gerade durch den clk wizzard und stelle fest, dass es 
einen Unterschied macht, in welcher Reihenfolge man die Frequenzen 
eingibt. Wenn ich z.B. die original eingespeisten 25MHz auf clk1 
ausgeben will, bekommt er eine andere Annäherung für den 35 MHz Takt, 
obwohl die Frequenzen an sich diselben bleiben und so wie es geht, 
machbar sein müssten. Zudem: Bei S3E habe ich mit nur 2 DCMs genau diese 
Konfig am Laufen und zwar mit ungerundeten Frequenzen. Beim S6 scheint 
das nicht zu gehen, jedenfalls kann er keine PLLs so verschalten, dass 
er zur lösung kommt.

Auch stelle ich fest, dass er keine Lösung für den 125 MHz Fall (aus 
100!!!) findet, sondern eiskalt 120MHz einbaut, ohne zu meckern, obwohl 
die Frequenz herstellbar ist.

Ich habe versucht, nachzuvollziehen, mit welchen Zwischenfrequenzen er 
da arbeitet, aber es macht nicht so viel Sinn.

Wie könnte man strategisch vorgehen, wenn man mit verkoppelten DCMs/PLLs 
arbeiten muss? Beim S3E gibt es dazu ja einen Spezialwizzward, 
allerdings frisst der S6 die für den S3E generierten Frequenzen nicht. 
Für den Virtex6 geht das im Übrigen sehr wohl.

von Duke Scarring (Gast)


Lesenswert?

Der Spartan 3E hat gar keine PLLs, der hat nur DCMs.
Nach ausßen hin machen die zwar beide Takte, aber intern sind sie recht 
verschieden aufgebaut.

Welche Frequenzen hast Du denn als Eingangstakt zur Verfügung?
Welche Frequenzen möchtest Du erzeugen?

Duke

von Udo (Gast)


Lesenswert?

Duke Scarring schrieb:
> Der Spartan 3E hat gar keine PLLs, der hat nur DCMs.
Schon klar, aber mit PLLs müsste man mindestens dasselbe machen können.

> Welche Frequenzen hast Du denn als Eingangstakt zur Verfügung?
100 MHz

> Welche Frequenzen möchtest Du erzeugen?
Die o.g.

Im Prinzip sind es zwei Probleme:
Der "wizzard" ist nicht schlau genug, um eine Lösung zu finden, die der 
klassische DCM-basierte CoreGen, durchaus findet

und er scheint auch nicht alle Kombinationen zu finden, sondern schlägt 
je nach zuerst vorgegebener Frequenz einen Weg ein, der ihm dann einige 
Frequenzen verbaut. Oder aber, er rundet falsch. Ich checke das gerade.

von Duke Scarring (Gast)


Lesenswert?

Udo schrieb:
> Schon klar, aber mit PLLs müsste man mindestens dasselbe machen können.
Klares JAIN. Hast Du Dir das Schaltbild der PLL mal angeschaut?

Der VCO läuft mit Frequenzen zwischen 400 MHz und 1 GHz.
Die Ausgangsfrequenzen werden mit eigenen Teilern von der VCO-Frequenz 
abgeleitet.

Du mußt also zwei Gleichungen lösen: Zum Einen brauchst Du eine 
VCO-Frequenz, aus der sich alle Ausgangsfrequenzen erzeugen lassen und
diese VCO-Frequenz muß sich dann noch aus der Eingangsfrequenz erzeugen 
lassen.
Außerdem dürfen diverse Minimal- und Maximalfrequenzen nicht unter- bzw. 
überschritten werden, ganz zu schweigen davon, das die eingebauten 
Teiler auch ihre Grenzen haben.

Ich weiß ja nicht, wie flexibel Du mit den Ausgangsfrequenzen bist.
35 MHz, 30 MHz, 25 MHz. Wofür brauchst Du diese vielen Frequenzen 
überhaupt?
Vielleicht läßt sich Dein Problem auch viel leichter lösen?

Das kgV Deiner drei Frequenzen liegt bei 1050 MHz. Das schafft der VCO 
nicht. Bei 20, 30 und 40 MHz sieht das schon anders aus. Da ist das kgV 
120 MHz. Der  VCO könnte dann mit 480 MHz arbeiten.

Duke

von Christian R. (supachris)


Lesenswert?

Wenn es beim S3 mit den DCMs läuft, dann stell doch mal im Clock 
Generator für den S6 ein, dass er nur die DCMs verwenden soll, ohne PLL. 
Dann gehts da bestimmt auch. Kann man auf der ersten Seite im CoreGen 
auswählen.

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
Noch kein Account? Hier anmelden.