hallo,
ich bin auf der Suche nach einem kleinen FPGA.
Mit den Maßen von max. 10 mm x 10mm. Ich benötige auch nur etwa 25 bis
30 GPIO´s
der code in vhdl ist schon vorhanden, allerdings kann ich nichts über
seine Größe sagen.
Der FPGA hat später die Aufgabe an 2 inputs Daten von bis zu 1,5 MHz
aufzunehen, sie zu verarbeiten und an 2 Outputs wieder auszugeben. kann
man aus dieser Datenrate auf einen min. benötigten Takt schliessen ?
gruß an alle,
MachXO gibts mit eingebautem Config-Speicher in 8x8mm
http://www.latticesemi.com/products/cpld/machxo/index.cfm
MachXO2 gibts auch in 4x4mm (und noch kleiner)
http://www.latticesemi.com/products/cpld/machxo2/index.cfm?source=sidebar> Der FPGA hat später die Aufgabe an 2 inputs Daten von bis zu 1,5 MHz> aufzunehen, sie zu verarbeiten und an 2 Outputs wieder auszugeben. kann> man aus dieser Datenrate auf einen min. benötigten Takt schliessen ?
Wenn nichts weiter gegeben ist (Jitter, Ausgabefrequenz,...) dann gilt
das Abtasttheorem und damit mindestens 3 MHz. Ich halte hier 10MHz für
angemessen...
vielen dank für die Hilfe,
bei latticesemi hab ich noch nicht geschaut.
aber von der größe her schonmal optimal.
nein jitter ist vernachlässigbar.
was meinst du mit Ausgabefrequenz? mit welcher Frequenz die Signale
wider ausgeben werden müssen ? Immer mit der Eingangsfrequenz
suchender schrieb:> nein jitter ist vernachlässigbar.
Sicher?
Wenn du 3MHz FPGA-Takt hast, dann kannst du 1 MHz (500ns high/ 500ns
low) zwar schön einlesen, aber nicht so schön symmetrisch wieder
ausgeben, weil dein FPGA ja nur 333ns Schritte machen kann. Dann wird
also aus einem symmetrischen 500ns+500ns Signal eines mit 333ns+666ns
oder 666ns+333ns. Du hast dann zwar den gleichen Takt, aber eine
Verschiebung des Tastverhältnisses oder sogar einen Jitter von 333ns.
im jetzigen System arbeitet ein µC der mit eine interne dco läuft,
Dieser produziert einen unwahscheinlich starken jitter. Die
nachfolgenden Systeme sind so passiv das die das "nicht interessiert"
(entschuldigt diesen Ausdruck)
Der µC soll gegen einen FPGA ausgetauscht werden , weil die Frequenz der
Eingangssignale ein wenig angehoben wurde und der µc schon an seinen
maximum läuft.
Ich schaue mir gerade die Vorschläge von Lothar Miller an.
Auf den ersten blick erfüllt dieser FPGA die Erfordernisse in Punkto
Fmax bei weiten.
wenn ich den Systemtakt und somit auch die Abtastfrequenz erhöhe ,
verringere ich damit nicht den jitter ?
<Welche Verarbeitung muss mit den Signalen durchgeführt werden?>
eine einfache Logik, UNDs /ODERs , ein bischen negieren und ab damit auf
den Ausgang.
kleine zwischenfrage:
Wie ich oben schon geschrieben habe ist der code in VHDL schon
vorhanden, wie kann ich abschätzen wie stark er speicher / zellen im
FPGA braucht.
Nicht das der Code (theoretisch) zu groß für den FPGA ist und er so wie
ich ihn brauche nicht drauf passt?
suchender schrieb:> eine einfache Logik, UNDs /ODERs , ein bischen negieren und ab damit auf> den Ausgang.
Wofür brauchst du dann einen Takt?
suchender schrieb:> Wie ich oben schon geschrieben habe ist der code in VHDL schon> vorhanden, wie kann ich abschätzen wie stark er speicher / zellen im> FPGA braucht.
Variante 1:
Einfach mal mit irgendeiner Toolchain synthetisieren. Die Anzahl der
Flipflops wird gleich beliben, und für die Logik gibt es Daumenformeln,
um zwischen verschiedenen Herstellern zu vergleichen.
Variante 2:
Erfahrung.
nach dem power on des FPGAs muss er eine Konfiguration seiner
"Außenwelt" durchführen.
Dazu gehört dass bedienen von 2 SPI Schnittstellen und das setzen von
einigen Signalen. Das passiert einmalig. Wobei die Zeitdauer dafür
nebensächlich ist. zur zeit (mit µC dauert die konfig etwa 20 ms) das
ist völlig in Ordnung. wenn es schneller geht ist auch nicht schlimm.
Da aber wenig Platz auf der Leiterplatte ist, hab ich mich eben auf die
Suche nach einen kleinen FPGA gemacht , sonnst hätte ich den µC gelassen
und das bischen Logik diskret aufgebaut.
<mit irgendeiner Toolchain synthetisieren>
das ist eine gute idee, das werde ich tun
Variante 2:
Erfahrung.
Die bekommen ich wieder ein stück durch diese Aufgabe. So wie wir alle
Lothar Miller schrieb:> MachXO gibts mit eingebautem Config-Speicher in 8x8mm> http://www.latticesemi.com/products/cpld/machxo/index.cfm>> MachXO2 gibts auch in 4x4mm (und noch kleiner)> http://www.latticesemi.com/products/cpld/machxo2/i...
Bei diesen kleinen Gehäusen muss man aufpassen ob der Bestücker das auch
zuverlässig kann.
Das ist meist csBGA mit 0,5 mm oder 0,8 mm Ballabstand, oder bei den
MachXO2
hat Lattice ein ucBGA mit 0,4 mm Ballabstand.
0,8 mm sollte für die meisten BGA fähigen Bestücker kein Problem sein,
aber bei 0,5 mm wird es sehr eng. Die Anforderungen an die Leiterplatte
werden dabai auch um einiges höher.
das ist kein Problem, das ist bisher nur ein Prototyp,
Ich wollte dann ein TQFP gehäuse nehmen, das kann ich auch selber löten.
In der Größe ist das noch machbar
suchender schrieb:> Ich wollte dann ein TQFP gehäuse nehmen, das kann ich auch selber löten.> In der Größe ist das noch machbar
Dann wird es aber nichts mit 10x10 mm.
Ein 100pin TQFP hat 14x14 und zusammen mit den Pins 16x16 Platzbedarf.
Kleiner als 100pin TQFP habe ich für einen FPGA bisher nicht gesehen.
Lattice User schrieb:> Dann wird es aber nichts mit 10x10 mm.
Das ist m.E. beim Prototypen noch nicht so schlimm... ;-)
Denn suchender schrieb:> Prototyp ... ein TQFP gehäuse nehmen, das kann ich auch selber löten.Lattice User schrieb:> 0,8 mm sollte für die meisten BGA fähigen Bestücker kein Problem sein,
BGAs sind laut unserem Fertiger wesentlich einfacher zu verarbeiten als
diverse Finepitch QFP-Gehäuse mit ähnlicher Pindichte...