mikrocontroller.net

Forum: FPGA, VHDL & Co. Maximale Taktfrequenz für einen FPGA


Autor: Robi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Antti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
500mhz eingang sollten die high end FPGA PLL's schon kraften

Antti

Autor: Robi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na dann werde ich das mal su bauen. Gib mir mal Deine Adresse, wenn es 
nicht geht (für den Anwalt) :)

Autor: Antti (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Antti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Frager (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 :-)

Autor: Zefix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was fuer n ADC isn da drauf ?
Sieht nicht nach National oder Infineon aus ...

Autor: Antti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist auch nicht
das ist altes Atmel ADC, jetzt von einem anderen firma ubernommen

Antti

Autor: Zefix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich seh grad, sind ADCs von e2v.
Kannst du was zum Preis eines 5 GSPS Wandlers sagen ?

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Antti Lukats (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Antti Lukats (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael O. (mischu)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Gregor (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Antti Lukats (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
geht aber :)

zb 100mhz ein
MULT=31
DIV=32

raus kommt: 96.875 Mhz
obwohl der PLL NICHT mit 3100 mhz schwingen kann

Antti

Autor: Michael O. (mischu)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich finde die 500MHz DA Karte sehr interessant

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es einen Treiber für den PCIe Bus?

Autor: Projektleiter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Antti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist unterschiedlich bei xilinx/altera/others//
musst du immer mit den tools testen die fur den
chip sind was du gerade so benutzt

Antti

Autor: Jürgen S. (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Wolkan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Angenommen, ich brauche 77,125 MHz. Wie gehe ich vor, um die optimale 
PLL und die optimale Frequenz für den Eingang des FPGA zu finden?

Ausprobieren?

Autor: Jürgen S. (engineer) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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:-)

Autor: paule (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jürgen S.

Nicht übel, sprach der Dübel!

Aber was hat diese Abfrage mit den Zwischenfrequenzen für eine Funktion?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.