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).
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
http://www.cronologic.de/products/
Ndigo4
da laufen 1.2MBit/s parallel LVDS links zu einem 5GS/s ADC
hat mein freund die PCB routing gemacht :)
500mhz geht in stratix auch rein, aber mit 700mhz kannst
drinne nicht viel machen so oder so
Antti
Warum muss man denn mit so hohen Frequenzen ins FPGA? Wer braucht denn
sowas? Schmale 20 MHz und das war es.
Frage zum Chronologic:
Wann kommt der auf den Markt?
P.S. das Xilinx Spartan-3 FPGA Micro Module könnte mir gefallen :-)
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
na die frage war ja
700mhz EIN bis zu PLL
ich habe angenommen der ausgang von PLL wirds weniger sein
mit 700mhz in dem FPGA drinne kann man nicht weit weg
Antti
@ 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
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
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
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.
>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.
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.
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?
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.
>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:-)