Maximale Taktfrequenz für einen FPGA

Gast #1386847
Lesenswert?

Ich bin ein wenig irritiert, wie schnell man einen FPGA takten kann. Im 
Stratix Handbuch fand ich einen Hinweis, dass PLLs einen Eingang von bis 
zu 700 MHz verkraften. Gilt das nur intern wenn ich aus einer anderen 
PLL komme oder auch von extern, wenn ich mit einem Generator reingehe?

Als Minimum stehen da 5MHz. Ich bräuchte 500MHz, weil ich sonst noch 
einen Clockteiler einsetzen muss. (Ich kriege minimal 2GHz/4).
Gast #1386867
Lesenswert?

haha, na kriegst schon raus selber, ist immerhin alles EU
na, die dokus must du naturlich selber lesen, fur den chip
und speed grade was du hast, und so weiter und so weiter.

500mhz geht schon uber normale io's rein, klar LVDS ist besser
fur so was als single ended.

Antti
Gast #1388980
Lesenswert?

Hallo Robi,

ich bin ja mehr Layouter, aber meinem Halbwissen zufolge ist die max. 
Frequenz recht abhängig vom konkreten Design (mehrere FlipFlops 
nacheinander geschalten - Statemachines etc).
Die 700MHz sind wohl der beste Fall, eher unrealistisch. Leider ...

Gruss Uwe
Gast #1389021
Lesenswert?

@ Antti,

> na die frage war ja 700mhz EIN bis zu PLL
> ich habe angenommen der ausgang von PLL wirds weniger sein

aha, und ich war der Meinung, das PLLs gerne zum hochtakten genommen 
werden. Das die sich auch zum runtertakten verwenden lassen kann ich mir 
ja vorstellen, aber macht das Sinn ? Dafür eignet sich doch auch ein 
klassischer Frequenzteiler - der ist nicht so aufwendig in Hardware. 
(ich weiß, die PLLs sind fest eingebaute Hardware, aber ich nehme ja 
auch keinen Supercomputer zum überprüfen meines Einkaufsbons !)

Gruss Uwe
Gast #1389042
Lesenswert?

Die PLL konnen manchmal so hohen takt ein nehmen
den man in fabric logic gar nicht bearbeiten kann
zb Xilinx DCM's haben divide by/2 option das speziell
hohere eingangs takte erlaubt

das PLL zum runtertakten ist gar nicht so doof
man hat ja dann immerhin moglichkeit mehrere clocks
zu erzeugen die ein bestimmtes phasen verhaltnis haben

Antti
Gast #1389059
Lesenswert?

Hallo Antti,

> das PLL zum runtertakten ist gar nicht so doof
> man hat ja dann immerhin moglichkeit mehrere clocks
> zu erzeugen die ein bestimmtes phasen verhaltnis haben

klingt logisch, Danke für dein Feedback.

Gruss Uwe
#1389258
Lesenswert?

Außerdem kann die PLL mit Multiplikator und Divisor als "Fractional"PLL 
arbeiten und extrem krumme Taktfrequenzen erzeugen:

Beispiel:
clock_in = 100 MHz
pll_out = 31/32 * clock_in

Zu Fuß müsste man die Frequenz um Faktor 31 hochmultiplizieren
-> 100MHz * 31 = 3,1GHz   (geht nicht) und anschließend durch 32 teilen 
....

Außerdem können die DCMs noch dynamisch eine Phasenverschiebung 
realisieren, Takte unterschiedlicher Phasenlage mit 50% Tastverhältnis 
und sehr geringem Jitter / Skew erzeguen.

Diese Features bekommt man nicht von Hand im FPGA hin, da alleine die 
Netzlaufzeiten schon alles kaputt machen.
Gast #1389512
Lesenswert?

>Außerdem kann die PLL mit Multiplikator und Divisor als
> "Fractional"PLL arbeiten

Wie bitte geht das und wo genau ist der Zusammenhang zum hohen 
Inputtakt?

Soweit ich weiss, ist es kein Problem, direkt mit 500 MHz auf die PLL zu 
gehen und vort nach unten.

Mit einer PLL von unten her geht es intern nur bis 1000 MHz. Also 125 x 
8 oder 133 x 6 oder so. Von dort geht es wieder runter.
#1389845
Lesenswert?

Wenn man eine Fractional-PLL von Hand aufbaut (Hardware - keine Bits 
in einem FixUndFertigBaustein setzen), hat man folgende Komponenten:

1. Phasendiskriminator (Sorgt dafür, dass Eingangs- und Ausgangsphasen 
übereinstimmen)
2. Tiefpassfilter für digitalen Ausgang des Phasendiskriminators
3. VCO (Spannungsgesteuerter Oszillator)
4. Dividierer im Rückführungszweig (1/N)

Damit man auf ein Teilerverhältnis 31 / 32 kommen kann, gibt es zwei 
einfache Möglichkeiten:

1. Multipliziere mit der obigen PLL Schaltung die Frequenz mit Faktor 31 
und teile sie mit einem Dividierer anschließend durch 32. (Geht 
natürlich in der Reihenfolge auch anders herum - dabei verliert man 
jedoch die guten Jitter und Stabilitätswerte)
2. Modifiziere den Rückkoppelkreis. Normalerweise wird durch N, alle M 
Durchläuse aber durch N + 1 geteilt.


Xilinx hat aber, so habe ich das verstanden, ein digitales System 
(DLL) implementiert. Wie genau dies funktioniert ist mir noch nicht 
untergekommen.
Gast #1394198
Lesenswert?

Diskutiert ihr jetzt über diese Karte oder das Thema????

Fragt doch beim Hersteller nach, was er für Treiber hat! (?)

Zum Thema PLL:

>zb 100mhz ein
>MULT=31
>DIV=32

Habe das eben mit Quartus probiert, das geht nicht!

Auch zwei PLLs mit 100 MHz / 31 und dann mal 30 geht auch nicht, wegen 
der zu geringen Eingangsfrequenz.

Wie würde man das bewerkstelligen?
Persönliche Seite #1394902
Lesenswert?

Für die Erzeugung "krummer" Frequenzen kann man gfs 2 PLLs 
hintereinanderschalten. Die erste agiert z.B. auf 4/11, die nächste auf 
10/7. Damit gewinnt man aus 133 MHz 69,0909 etc..

>Maximale Taktfrequenz für einen FPGA
Einen Spartan 3E habe ich auf 287MHz laufen, einen Cyclone III auf 300 
MHz und bei einem Stratix gehen lauf Datenblatt 700!

Bin gerade dabei, das mit 600 Auszuprobieren.
Persönliche Seite #1406134
Lesenswert?

>Ausprobieren?

Ausprobieren lassen :-)

Gib einfach in der Abfrage "Quarzsuche nach Eingabe zwei PLLs" die 
Zielfrequenz ein. Dann kriegst Du 238000 Möglichkeiten für Quarze, 
Divider und Multiplier. Bei der Verwendung nur einer PLL ist es etwas 
weniger.

Die anderen Abfragen dienen dazu, Frequenzen zu ermitteln - dazu muss 
man aber die Abfragen passend einschränken und somit etwas Access 
verstehen.

Zudem müssen die passenden Quarze, Divider und Multiplier in den 
Tabellen aktiviert werden.

Ich hoffe diese tool löst jetzt ein für alle mal die Frage, wie man zu 
den PLL-Parametern kommt:-)
Angehängte Dateien:

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