Ich suche einen FPGA, der einfache Aufgaben durchführen muss, wie
Überwachung, Konfiguration von Chips und Bus-Umschaltung. Die Busse
laufen mit 133MHz. Das Ganze soll sehr preiswert sein. Benötigt werden
etwa 20k LEs / 10slices. Daher habe ich mich bei aktuellen FPGAs von
Xilinx und Altera umgesehen. Problem:
Die kleinen Chips, die preisgünstig sind und die Aufgaben bequem
schaffen, gibt es nur in den kleinen Gehäusen. Ich habe aber mehrere
Busse zu je 32 Bit mit Strobes und brauche allein dafür 192 IOs. Mit dem
ganzen Zeug drum herum sind es über 220 user IOs.
Die Serien Cyclone oder Artix sind da etwas ungünstig. Was gibt es denn
da von ACTEL oder Lattice? Welche Technologie kann man da nehmen?
Einer der wichtigsten Kostentreiber bei ICs ist die Chipfläche. Diese
wird aber nicht nur durch die erforderliche Schaltungskomplexität
definiert, sondern auch durch den benötigten Platz am Rand für die
Bonding-Pads. Bei sehr einfachen Chips oder welche mit überproportional
vielen Pads dominiert der Platzbedarf des Randes, so dass man die
ansonsten brachliegende Innenfläche wiederum mit Schaltung auffüllen
kann, wobei man bei FPGAs natürlich besonders davon profitiert.
Ich habe oben auch bewusst von Pads und nicht Pins geschrieben, denn es
werden ggf. nicht alle Bonding-Pads auf Pins verdrahtet. Bei einigen
Microcontrollern unterscheiden sich die außen verfügbaren Pins ja auch
von Gehäusevariante zu Gehäusevariante. Übel ist dies, wenn der
Hersteller nicht bedacht hat, dass offene Pads auch Störungen
verursachen können, wenn sie nicht mit geeigneten Pull-Ups oder
Pull-Downs versehen sind. Ein schönes Beispiel ist der Atmel AT91RM9200,
bei dem in der QFP-Variante nur ein USB-Host-Port herausgeführt ist, bei
dem Atmel die Pull-Down-Widerstände vergessen hat. Deswegen meldet der
Root-Hub dort auch ständig Wechsel des Port-Status. Nur in der
BGA-Ausführung ist der zwei Port herausgeführt und kann extern auf
definierte Pegel gezogen werden.
@ FPGA-user (Gast)
>Ich suche einen FPGA, der einfache Aufgaben durchführen muss, wie>Überwachung, Konfiguration von Chips und Bus-Umschaltung. Die Busse>laufen mit 133MHz. Das Ganze soll sehr preiswert sein. Benötigt werden>etwa 20k LEs / 10slices. Daher habe ich mich bei aktuellen FPGAs von>Xilinx und Altera umgesehen. Problem:>schaffen, gibt es nur in den kleinen Gehäusen. Ich habe aber mehrere>Busse zu je 32 Bit mit Strobes und brauche allein dafür 192 IOs. Mit dem>ganzen Zeug drum herum sind es über 220 user IOs.
Das klingt mir eher nach einem Konzeptfehler. Bei 133MHz kann man Busse
nicht einfach mit einem statischen MUX umschalten, wie es zu seeligen
TTL-Zeiten des Z80 war. Ausserdem will man sowas eher vermeiden, u.a. um
so ein FPGA nicht einsetzen zu müssen.
FPGA-user schrieb im Beitrag #4531337:
> Das Ganze soll sehr preiswert sein.
Definiere "preiswert".
Spartan 6 LX25 erfüllt deine Anforderungen ansonsten (226 I/Os CSG324).
Falk B. schrieb:> Das klingt mir eher nach einem Konzeptfehler. Bei 133MHz kann man Busse> nicht einfach mit einem statischen MUX umschalten,
doch, doch - gerade statisch kann man das. Der Umschalter wird ja nur
bedarfsweise geschaltet, wenn der Bus nicht aktiv ist. Da passier schon
nichts. Der Bus ist linksseitig zu den Prozessoren gespiegelt, arbeitet
also aus FiFo. Das passt schon. Nur die Zahl der Pins macht mir Sorgen:
Preisbrecher schrieb:> Spartan 6 LX25 erfüllt deine Anforderungen ansonsten (226 I/Os CSG324).
Leider nicht. Zu wenige user IOs.
Andreas S. schrieb:> Ein schönes Beispiel ist der Atmel AT91RM9200,
Das ist alles recht interessant, was Du schreibst, aber nicht wirklich
eine Antwort auf die Frage. Ich schaue mich jetzt mal bei Lattice um.
ob der 10M04DCU324C8G kann was Du brauchst weis ich nicht. Aber er
bringt 246 IOs mit und kostet Einzelstück ab Lager 13Eur.
Das finde ich vernachlässigbar wenig Geld Angesichts der Kosten dafür
diesen 324 Ball BGA zu entflechten und Angesichts des Aufwandes das
Ganze in einem stabilen Leiterplatten und Bestückprozess zu schaffen.
Ich gehe davon aus das die Materialkosten des FPGA dein kleineres
Problem sein werden.
viel Erfolg
hauspapa
hauspapa schrieb:> ob der 10M04DCU324C8G kann was Du brauchst weis ich nicht.
Naja, er will 20 KLE, da müsste er schon für den 10M16DCU324C8G (16 KLE)
ziemlich quetschen.
Bleibt die Möglichkeit den Max10 484FBGA (360 I/O) zu nehmen wo es auch
mehr als 16 KLE gibt. Nur wird es dann auch schnell etwas teurer.
Man müsste die Anford. genau kennen.
Evtl mehrere, günstige Bausteine nehmen.
Viell. nur 1 Bus, den dann mit kleineren Bausteinen in mehrere
aufteilen.
Moin,
der grosse MachXO2 (7000er) könnte das ev. schaffen. Aber BGA wird, wie
schon oben erwähnt, ein arges Geflecht. Da würde ich auch eher mehrere
TQFP-Käfer nehmen - wenn es schon Busse sind, die irgendwo ankommen,
macht etwas mehr Fläche sicher Sinn. Kommunizieren können die Chips
untereinander recht flott über die LVDS-Gearboxen.
Grüsse,
- Strubi