Forum: FPGA, VHDL & Co. FPGA wirtschaftlich betrachtet


von Anton (Gast)


Lesenswert?

Hallo,

Arbeite seit Jahren mit Arm und AVR Controllern sowohl auf Hard als auch 
auf Softwarebasis.
Aufgrund eines Projektes (Privat) welches ich gerne bearbeiten will, 
spiele ich mit dem Gedanken etwas in Logik zu entwickeln, da ich hier 
bisher nur mal auch GAL-Basis etwas realisiert habe.
Ich habe mich jetzt mal zwei Wochen eingelesen und als Basis finde ich 
allgemein das DE2-115 Kit von Terasic nicht schlecht. Es hat einen 
cyclone iv von Altera.

Meine Anwendung soll zunächst eine Kamera aufs Display Anwendung sein. 
Abgesehen davon, das es als Demo vorhanden ist wollte ich mal ausrechnen 
was es kosten könnte ein Board zu entwickeln nur mit dieser Eigenschaft.

Wenn ich das so sehe kostet so ein FPGA mal eben in der kleinsten 
Ausführung gut 10€. (Farnell) Zudem weiß ich noch nicht ob man damit 
hinkommt.
Mit der nötigen Ansteuerung an Netzteil und Speicher kann man schnell 
nochmal 10€ loswerden.

Das ist schon wahnsinnig viel, bedenkt man das man mit einem Arm für 
etwas 5€ auch schon kleine Displayanwendungen realisieren kann.

Meine eigentliche Frage ist, was macht man den so mit den FPGAs, bzw. 
bei welchen Anwendung lohnt sich dieser wirklich? Es ist schwer soetwas 
herauszufinden, da die meisten DemoProjekte mit Ampeln u.s.w enden.

von Dario B. (abcd)


Lesenswert?

Versuch' mal, mit einem ARM für 5€ einen 2,5Gs ADC zu steuern, die Werte 
abzuholen, und nebenbei noch alle 4096 Werte eine FFT davon 
auszurechenen, und die dann auf einem Display darzustellen ;-)

von Frank K. (fchk)


Lesenswert?

Faustregel:

- Ein Mikrocontroller führt seine Befehle nacheinander, sequenziell aus.
- Ein FPGA führt alles das, was Du ihm da an Logik hinschreibst, 
parallel aus.

Wenn Du also eher einfache Operationen hast, bei denen Du Parallelität 
nutzen kannst (z.B. FIR-Filter), dann ist ein FPGA geeigneter.
Hast Du komplexe Operationen, die schlecht parallelisierbar sind, dann 
sind diese auf einem Mikrocontroller besser aufgehoben.

Beispiel: FPGAs werden gerne verwendet, um Funksignale zu demodulieren, 
herunterzumischen und zu filtern. Das sind einfache Strukturen, die 
Multiplizierer und Addierer arbeiten alle gleichzeitig, und somit ist 
die erzielbare Rechenleistung viel höher als auf einem DSP, der ja nur 
sequenziell multiplizieren und addieren kann.

Die Protokollverarbeitung hingegen wäre in FPGA-Logik ineffizient und zu 
kompliziert, das ist auf einem Prozessor besser aufgehoben.

Ich denke auch, dass man bei den ganzen Softcores (Prozessoren in 
FPGA-Logik) ernsthaft im Einzelfall prüfen muss ob es sich lohnt oder ob 
nicht ein separater Prozessor plus FPGA drei Nummern kleiner die 
sinnvollere Variante ist.

fchk

von Thomas (Gast)


Lesenswert?

Wirtschaftlich betrachtet lohnen sich FPGAs aufgrund der hohen 
Stückkosten kaum für Serienprodukte.
Generell gilt: Wenn man eine Aufgabe auch mit einem uC oder DSP lösen 
kann, dann sind diese immer vorzuziehen.

> Versuch' mal, mit einem ARM für 5€ einen 2,5Gs ADC zu steuern, die Werte
> abzuholen, und nebenbei noch alle 4096 Werte eine FFT davon auszurechenen,
> und die dann auf einem Display darzustellen ;-)
Das schafft auch ein FPGA nicht.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Thomas schrieb:
> Das schafft auch ein FPGA nicht.
Auf jeden Fall nicht für 5€... ;-)

von Johann (Gast)


Lesenswert?

Ich hatte damals mal mit dem AT91SAM9263 von Atmel gearbeitet. Dieser 
hatte die Möglichkeit Daten aus einem digitalen Bildsensor auszulesen 
und auf einem Display auszugeben.

Jedoch kostet auch dieser Baustein keine 5€ ich habe mal gerade 
nachgeschaut der IC kostet 30$ dazu kommt natürlich noch der externe 
Speicher.

Bei den µC ist die Bandbreit oft begrenzt. Bei FPGA kann man gleichzeigt 
das Bild aus dem Sensor lesen zwischenspeichern und ausgeben und 
zusätzlich noch über eine USB Leitung (oder was auch immer) an den PC 
übertragen.

Jedoch muss man sagen das der Arbeitsaufwand deutlich höher ist als den 
µC zu konfigurieren und eine Beispielprogramm zu starten.


Gerade bei modernen Kameras ist es möglich nicht 1 AD-Wandler zu 
benutzen, sondern 4 AD-Wandler parallel zu verwenden, damit kann man die 
Kamera 4 mal so schnell auslesen als mit einem µC der diese nacheinander 
abarbeiten muss.

Es gibt z.B Zeilenkameras von der Firma Basler die mit 140k Zeilen pro 
Sekunde erzeugen und jede Zeile besteht aus 1024 Pixeln. Das Bedeutet Du 
must mit ca 143MHz das Signal digitalisieren. Das macht einen Datenstrom 
von ca. 287MByte pro Sekunde (jeder Pixel 2Byte) Dies wird dann auch 
noch Live an den PC übertragen. Wir habe einge von diesen Kameras von 
unterschiedlichen Herstellern und alle arbeiten mit einem FPGA. Dies ist 
dann halt nur möglich indem man einen günstigen FPGA ca. 25€ nimmt dann 
4 AD-Wandler mit je 36MHz gleichzeigtig Phasenversetzt digitalisieren. 
Dadurch kann man für recht wenig Geld sehr state of the Art Produkte 
bauen die vor einigen Jahren noch nicht möglich waren.

von Helmut (Gast)


Lesenswert?

>> Das schafft auch ein FPGA nicht.
> Auf jeden Fall nicht für 5€... ;-)
Auch nicht für >>5€, oder etwa doch?
Also alle 1,6us eine 4096 Punkte FFT?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Helmut schrieb:
> Also alle 1,6us eine 4096 Punkte FFT?
Nur gepipelined... ;-)

von Helmut (Gast)


Lesenswert?

Ja, schon klar, aber welchen FPGA kann man denn überhaupt mit 2,5GHz 
takten?

von Falk B. (falk)


Lesenswert?

Keinen, der heute käuflich ist. Gigabittranciever zählen nicht.

MFG
Falk

P S Jaja, es gibt von diversen Leuten, auch von Xilinx & Co, ein paar 
Overclockerexperimente ala Frequenzzähler, wo ein FPGA 1GHz Takt 
verarbeitet. Aber dahinter hängt keine FFT.

von Helmut (Gast)


Lesenswert?

Ok, danke.

Also bleibt die Aussage:

>> Versuch' mal, mit einem ARM für 5€ einen 2,5Gs ADC zu steuern, die Werte
>> abzuholen, und nebenbei noch alle 4096 Werte eine FFT davon auszurechenen,
>> und die dann auf einem Display darzustellen ;-)
> Das schafft auch ein FPGA nicht.

Ganz egal wie viele €uros.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Helmut schrieb:
> einen 2,5Gs ADC zu steuern
Und wenn das jetzt ein 1-Bit-Sigma-Delta-ADC wäre...  ;-)

von Anton (Gast)


Lesenswert?

Ich habe mich mal zurückgehalten um ein paar Antworten abzuwarten. Die 
5€ waren jetzt nicht unbedingt ein Vorgabe gemeint. Man kann auch CPUs 
für 15€ bekommen die ein schier unglaubliche Ausstattung haben (z.B. der 
neie Cortex M4 von NXP mit CO Prozessor Cortex M0 auf einem Chip. Von 
USB3.0 mal abgesehen ist sehr viel ohnehin als ASIC vorhanden und 
duchaus auch verwendbar. Das man eine CPU nur konfigurieren muss lasse 
ich mal so stehen, man muss trotz vieler Beispiele nicht selten alles 
von Grund auf neu programmieren.
Ich habe einen Trace Debugger für 6000€ gekauft und weiß auch warum.
Der Vorteil beim FPGA aus meiner Sicht ist, das man ein schier riesieges 
Entwicklungswerkzeug quasi umsonst bekommt. Wer sich nicht gut mit VHDL, 
aber gut mit Logik an sich auskennt kann schon viel machen.
Ist aber auch nicht das Thema.

Ich habe mal nachgesehen: So ein einfacher Cyclone iV mit 6K kostet mal 
eben 15€ bei Digikey. Wenn ich 500 haben will, kosten sie das immer 
noch??? Das finde ich schon wahnsinn, diese Preispolitik. Da es der 
kleinste ist und ich nicht weiß wieviel man wofür benötigt, kann also 
ein Projekt wahnsinnig teuer werden, allein für den FPGA. Prototyp ok, 
aber schon eine Kleinserie lässt sich einem Kunden ohne Rabatt kaum 
verkaufen.
Will man irgendwann 1000sende verkaufen ist das auch noch ok, aber wer 
kann das in Deutschland denn noch.
Gibt es einen ASIC den man nicht gesehen hat, ist man als Mitbewerber 
sofort weg vom Fenster.
Gibt ja auch CPUs mit LCD Interface z.B. Samsung, kostet zwar auch z.B. 
30€, hat dann aber alles was man beim FPGA noch ganz teuer dazukaufen 
muss, sofern man nicht alles selber "Beschreibt". z.B. Ethernet, SDRAM, 
u.s.w..
Mit DMA und Interrups bei den CPUs ist man da wo es nötig ist auch schon 
ganz schön parallel. Das es nicht mit einem FPGA vergleichbar ist, ist 
klar, allerdings ist für mich Echtzeit so schnell wie nötig und nicht so 
schnell wie möglich, bis jetzt hatte ich nur Projekte mit Rotstift bei 
den Hardwarekosten.
Finde das Thema Cameras sehr interessant und bin aus dem Grunde auch 
erst auf die Idee gekommen etwas damit zu machen. Hier gibt es auch 
viele fertige ICs, aber eben nicht immer das was man will. Aber 10€ für 
einen Asic oder 25 € für die FPGA Version ist schon ein happiger 
unterschied.

Ich kenne die Preise nicht wie sie vor 1,5 Jahren waren, im Moment ist 
die Bauteilesitation ja eine Unverschemtheit. Hat man einen Mega 8 
damals schon für 90Cent bekommen (2008), kostet er jetzt 2,20€. Will man 
100 Stück auch von anderen Bauteilen haben darf man teilweise 16 - 40 
Wochen warten. (Ja genau, fast 1Jahr). Mein Hobbyprojekt ist zwar Privat 
und das soll es auch bleiben, aber irgendiwe Sinn soll das Projekt ja 
schon machen.

Mich würde mal einen Kommentar von einem hören der FPGAs in 
Serienprodukten einsetzt.

von Ivan (Gast)


Lesenswert?

>Mich würde mal einen Kommentar von einem hören der FPGAs in
>Serienprodukten einsetzt.

Das einzige Feld, in dem FPGAs noch wirtschaftlich sind, ist das 
serienmäßige Knacken von Passwörtern.
Aber darum wird es dir nicht gehen. Da die meisten Hardwareklitschen 
sich wenig mit FPGAs auskennen, kannst du vor deinem Chef gut 
bullshitten, wenn mal wieder gar nichts funktionert. Daher: wenn du 
nicht DEIN Geld verbrätst: nimm FPGAs; brauchst du Ergebnisse und es 
geht um DEIN Geld: nimm moderne Technik.

von Anton (Gast)


Lesenswert?

Geht ja im Endeffekt immer um dein Geld, wenn es Kunden nicht kaufen da 
es zu teuer ist geht es um deinen ar... ähh "Popo".

von T. M. (xgcfx)


Lesenswert?

Ivan schrieb:
> Das einzige Feld, in dem FPGAs noch wirtschaftlich sind, ist das
> serienmäßige Knacken von Passwörtern.

Komisch, mir würde genau deswegen noch mindestens ein weiteres Feld 
einfallen: Algorithmen implementieren, für die solche Passwörter 
benötigt werden. Und wenn ich weiter nachdenke noch tausend andere 
Dinge. Immer wenn eine Problemstellung einen hohen Durchsatz benötigt, 
der nur mit einem Asic oder FPGA realisiert werden kann, und ein Asic 
dafür noch nicht existiert, ist der FPGA die wirtschaftliche, weil 
einzige Lösung.

von Stefan W. (wswbln)


Lesenswert?

Hi Leute,

ist ja eine interessante Diskussion hier, wobei aber auch einige (in 
ihrer Absolutheit z.B. von Thomas oder Ivan) etwas abstruse Aussagen 
gemacht wurden ("...Das einzige Feld, in dem FPGAs noch wirtschaftlich 
sind...").

Zuerst mal vorneweg:
Kaum jemand der Tausende von irgendwelchen Produkten produziert wird 
seine Schlüsselbauteile bei Katalogdissis wie RS, Farnell, Digikey oder 
wie sie alle heißen, einkaufen. Dafür hat man dann einen der vom 
Hersteller unterstützten Großen (wie Arrow, Avnet, Future etc.) und dort 
ist das Preisniveau dann schon etwas anders (allerding immer noch stark 
stückzahlabhängig).

Und dann werden hier munter fleißig Äpfel und Birnen verglichen: 
Eigentlich stellt sich in der Praxis nämlich nie die Frage, ob ich 
entweder ein FPGA oder einen Controller nehme, denn beide haben ihre 
Stärken auf unterschiedlichen Gebieten. Einen Prozessor/Controller durch 
ein FPGA zu ersetzen ist (aus Kostengründen) fast immer Unfug - einen 
Controller im FPGA habe ich höchstens dann, wenn ich das FPGA eh' 
brauche, aber nicht soweit ausreize, dass ich nicht noch die 
Controllerfunktion (nebenbei) mit übernehmen könnte. Der Grund, warum 
ein FPGA ins Design kommt ist meistens der notwendige Datendurchsatz, 
den ich mit einem Controller niemals schaffen würde. Manchmal zahle ich 
den Aufpreis auch um mir für spätere Änderungen die nötige Flexibilität 
für Änderungen oder Erweiterungen zu erkaufen (Wir hatten in einem 
meiner früheren Jobs im Telekommunikationsbereich schon mal den Fall, 
dass sich eine komplette Norm änderte und die Kunden dann heilfroh 
waren, dass die Geräte durch einen "Firmware-Update" anpassen ließen 
(LOL! Die hatten hinterher eine in großen Teilen völlig andere 
Hardware!).

Meistens habe ich in den Designs sowohl FPGA, als auch Controller drin. 
Das FPGA kümmert sich z.B. als Numbercruncher oder Protokollspezialist 
um den dicken (dann massiv parallelisierten und 'gepipelineten') 
Datenstrom während der Controller die Status- und Steueraufgaben drumrum 
übernimmt.

Manche solche Aufgaben könnte heutzutage vielleicht auch ein im 
GHz-Bereich getakteter Quad- (oder mehr)Core Prozessor mit dickem RAM 
erledigen, aber dann wird der Kühlaufwand schnell mal größer als das zur 
Verfügung stehende Volumen für das Gesamtgerät :-O (vor allem, wenn man 
aus Zuverlässigkeitsgründen keinen Lüfter verwenden darf). Und billiger 
ist das auf keinen Fall.

Zurück zur Überschrift: Wirtschaftlich betrachtet nimmt man FPGAs (wie 
jeden anderen Spezialbaustein) dort, wo's Sinn macht. Die Freiheit zu 
nehmen, was einem gerade gefällt hat man "in der freien Wildbah... äh 
Wirtschaft" eher selten. Und selbst wenn Du vorher 20 Jahre mit der 
Firma X gearbeitet hast, in der neuen Firma aber mal die Tools vom 
Hersteller A oder L teuer erstanden wurden, dann arbeitest Du nach 
kurzer Einarbeitung in Zukunft eben auch damit - egal wie sehr du 
vielleicht manchmal deiner gewohnten Umgebung nachtrauerst. Im Grunde 
genommen waschen die aber alle mit Wasser und sind auch keine Amateure 
mehr. Ich habe schon mit allen dreien gearbeitet und man kann mit jedem 
davon ans Ziel kommen - und lernt nebenbei die Vorteile der Verwendung 
von VHDL statt irgendwelcher herstellergebundenen Schaltplantools zu 
schätzen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Anton schrieb:
> Mich würde mal einen Kommentar von einem hören der FPGAs in
> Serienprodukten einsetzt.
Es ist m.E. immer noch unbestritten klar, dass es wirtschaftlicher 
Blödsinn ist, eine CPU in ein FPGA zu packen. Die Diskussion taucht 
immer wieder auf und wird auch von den FPGA-Herstellern forciert. Aber 
wenn man bedenkt, dass (garantiert) mindestens die Hälfte des Siliziums 
auf dem FPGA nichts mit der CPU zu tun hat, sondern entweder
1. einfach nur sinnlos brachliegt    oder
2. nur für die Konfiguration des FPGAs nötig war,
dann sieht man den "Wirkungsgrad" eines "normalen" Prozessors auf dem 
FPGA realistischer.

Aber ich habe hier z.B. eine relativ simple EA-Logik (SPI-EA), für die 
es keinen Controller gibt. Und schon macht es durchaus Sinn, ein FPGA 
für 5€ (Lattice MachXO) einzusetzen.

Oder aber: ein FPGA übernimmt die Vorverarbeitung von Daten, die dann 
von einem uC weiterverarbeitet werden.


> Aber 10€ für einen Asic oder 25 € für die FPGA Version ist schon
> ein happiger unterschied.
Wie sieht es aus, wenn du mal sagst, du bekommst nur 1000 solcher Geräte 
an den Markt? Dann bist du zusammen mit den NRE Kosten beim ASIC ganz 
schnell bei ganz anderen Preisen...

BTW:
> Aber 10€ für einen Asic oder 25 € für die FPGA Version ist schon
> ein happiger unterschied.
Von deinen geschätzten Zahlen 25/10 kommst du dann auch ziemlich gut in 
den Bereich von nicht genutztem Silizium (mindestens 2/1), den ich oben 
angesprochen habe...  ;-)

von Falk B. (falk)


Lesenswert?

Mann O Mann, die Spezialisten wieder mal am Mikrofon. :-0
FPGAs sind ja sooooo dooof.
Dabei sind es eher die naseweisen Möchtegern-Ingenieure, die keinen 
blassen Schimmer haben.
Business as usual.

von Martin (Gast)


Lesenswert?

Auch wir setzen FPGAs in der Serie ein und das in verschiedensten 
Bereichen.

Generell gilt die Faustregel: wenn Du einen µC findest, der genau deine 
Anforderungen abdeckt, dann ist ein FPGA im Zweifel teurer. Aber gerade 
wenn das nicht gegeben ist, dann kann ein FPGA eine sehr hilfreiche 
erweiterung sein. Beispielsweise, wenn man mit proprietären Protokollen 
konfrontiert wird, kann ein FPGA eine Protokollumwandlung vornehmen. 
Oder man benötigt beispielsweise viele UARTS, dann lassen sich diese in 
einem FPGA implementieren und via Daten Adressbus an einen µC 
anschließen oder oder oder....

Die Möglichkeiten im FPGA sind nahezu unbegrenzt, es ist aber für jedes 
Projekt im Einzelfall abzuwägen, ob man funktionen entweder
- nur duch einen µC realisiert
- aus einer Kombi von µC und FPGA realisiert
- nur auf einem FPGA umsetzt


Des weiteren wird ein FPGA gerne für sicherheitskritischere Funktionen 
eingesetzt, da hier durch die parallele Verarbeitung eine garantierte 
Reaktionszeit besser nachgewiesen werden kann, als beispielsweise auf 
einem µC oder einer CPU, bei der verschiedene Threads oder Interrupts 
sich gegenseitig blockieren können oder andere Nebeneffekte durch die 
sequenzielle Abarbeitung kommen können. Spätestens mit Betriebssystemen 
wie Linux wird der Nachweis je nach Echtzeitanforderung nahezu 
unmöglich.

Viele Grüße,
Martin

von manateemoo (Gast)


Lesenswert?

Wir setzen gerne kleine FPGAs ein, wenn die Echzeit im us oder einigen 
100ns Bereich liegt. Also ein Zusammenspiel von uC und FPGA. Dabei 
packen wir so wenig Intelligenz wie möglich in die FPGA, aber genug um 
die Echtzeitkriterien am uC zu entschärfen.
Eine kleine FPGA (z.B. XC3S50A) bekommt man bei Kleinserien um die 4-5 
EUR.
Wir versuchen wenn möglich ohne FPGA auszukommen, aber es gibt immer 
wieder Designs bei dem eine FPGA sinnvoll ist.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

OT:
> Eine kleine FPGA
Es ist ein "im Feld Programmierbares Gate Array".
Und weil das Array sächlich ist, ist das FPGA auch sächlich.

von Christian R. (supachris)


Lesenswert?

Wir setzen auch für Seriengeräte jede Menge FPGAs ein. Schon weil man 
einen 100MS/S ADC schlecht an einen µC bekommt und wenn das ganze dann 
noch im µs Bereich agieren soll und die Daten an PCIe oder USB 2.0 
streamt. Ist halt immer eine Frage der Anwendung, kein Mensch wird auf 
die Idee kommen, ein FPGA für einen MP3 Player zu benutzen. Aber ein 
Logic-Analyer oder Messgeräte mit einigen 100 MS/s sind da schon was 
ganz anderes.

von Anguel S. (anguel)


Lesenswert?

Nicht zu vernachlässigen sind auch der Entwicklungsaufwand und damit die 
Entwicklungskosten bei einem FPGA. Wenn man keine Erfahrungen mit FPGAs 
hat, sind diese sehr schwer abzuschätzen und man ist dann während des 
Projekts oft kurz davor aufzugeben, weil das ganze zu komplex wird oder 
weil zu viel Zeit draufgeht. Man darf keinesfalls den Herstellern 
trauen, dass alle IP-Cores etc. auf Anhieb funktionieren und dass alles 
schnell zusammengeclickt werden kann. Da fangen leider die Probleme oft 
erst an. FPGAs erfordern eben viel viel mehr HW-Know-How als bei einem 
µC und VHDL ist eben nicht C und auch nicht Assembler. Parallele 
Abarbeitung ist super toll, aber es ist auch super schwer, sich 
vorzustellen, was genau passiert, weil man als µC Programmierer (auch 
erfahrener) eben sequentiell denkt. Dafür muss man dann eben mühevoll 
Testbenches schreiben und alles schön simulieren, was zusätzlichen 
Aufwand bedeutet, da stellt sich dann heraus, dass doch vieles anders 
abläuft, als man es sich in seinem Entwicklerhirn vorgestellt hat :-) 
Und nicht mal dann hat man die Gewissheit, dass es laufen wird, denn da 
kommt man erst zur Hardware, und die hat ihre eigenen Gesetze. Was so 
schön in der Simulation klappt, wird oft nicht auf Anhieb in HW klappen. 
Dann treten da Probleme wie z.B. Metastabilität auf.  Man sollte also 
vorher sicher sein, dass man einen FPGA auch tatsächlich braucht.

von dave (Gast)


Lesenswert?

Wenn z.B. Rigol serienmäßig FPGAs in ihren Scopes einsetzt ( eben u.A. 
zum Sammeln der Daten von den ADCs) vermute ich mal, dass keine 
wesentlich günstigere andere Lösung verfügbar war. Und wenn es sich in 
budget-Scopes lohnt, warum nicht in anderen Anwendungen?

von Bürovorsteher (Gast)


Lesenswert?

> Und nicht mal dann hat man die Gewissheit, dass es laufen wird, denn da
> kommt man erst zur Hardware, und die hat ihre eigenen Gesetze. Was so
> schön in der Simulation klappt, wird oft nicht auf Anhieb in HW klappen.
> Dann treten da Probleme wie z.B. Metastabilität auf.  Man sollte also
> vorher sicher sein, dass man einen FPGA auch tatsächlich braucht.

Mir kommen gleich die Tränen.
HW ist nun mal keine SW und VHDL kein C.
Man nimmt einen Controller dort, wo er sinnvoll ist und einen CPLD oder 
FPGA, wo er zweckmäßig ist. Meist beides zugleich.
Für einen Spartan 3AN (den kleinsten) bezahle ich irgendetwas um die 5 
€.
Ein XC 9572 Xl kostet so um die 1,4 €. Was bitte ist daran teuer?
Das eine unbedingt gegen das andere austauschen zu wollen, spricht nicht 
gerade von geballtem Sachverstand - oder man ist ein Ing, den man auch 
gegen einen BWLer austauschen kann.

von Georg A. (Gast)


Lesenswert?

Bei den Preisen darf man sich nicht an den Zahlen von digikey oder so 
aufhängen, wenn man tatsächlich FPGAs in Serienstückzahlen braucht. Bei 
einem Design Ende 2007 war zB. der xc3s1600e drin. Bei digikey ca. 
60Euros. Bei Avnet dann AFAIR so 12Euros... Die xc6s sind jetzt schon 
einzeln bei digikey richtig billig, etwas dem 3s1600 vergleichbares wird 
in Stückzahlen wohl dann bei 3-5Eur liegen.

von Johann (Gast)


Lesenswert?

Ich habe z.B. In einem Projekt zwei 400MHz AD-Wandler 180° 
Phasenversetzt betrieben. Somit habe ich eine Abtastrate von 800MHz und 
das mit 14Bit Auflösung. Die Daten konnte ich dann noch mit 680MByte pro 
Sekunde an den PC übertragen. Das sind dann Timings im ns Bereich da ist 
mit den µC auch Schluss.

Ein sehr guter Vorteil ist vor allem die 40 unterschiedlichen I/O 
Standards die möglich sind. Bei den schnellen AD-Wandler kommen die 
Daten als DDR LVDS Signal an und gehen als LVCOMS 3,3V mit ca. 80 
Leitung auf 3 externe Sers die dann wieder 480MHz serielle Datenströme 
daraus machen.

Sicherlich kostet der FPGA 250€ bei Digikey, da aber kein µC diese 
Aufgabe übernehmen kann ist der Preis auch gerechtfertigt. Es wird ja 
auch kein Low Cost Produkt sondern ist dann schon ein Gerät im S-Klasse 
Bereich und dann dürfen die Komponenten schon etwas mehr kosten, vor 
allem wenn man eine Lösung erzeugt die der Mitbewerber nicht einfach 
kaufen kann sondern erst aufwendig entwickeln muss.

von Falk B. (falk)


Lesenswert?

<Anekdote>
Vor ein paar Jahren hab ich mal ein Redesign eines Redesigns gemacht, 
dort wurden auf einem Board für Telekomkram sämtliche alten ASICs und 
ein altes Flex10K FPGA durch ein einziges, eher kleines FPGA ersetzt, 
Cyclone I oder II, mit 5000 LEs oder so.

Kosten der ASICs + Flex10K FPGA ~400 EUR.
Kosten des neuen FPGas ~20 EUR!

Das war mal was!

</Anekdote>

von Marko B. (glagnar)


Lesenswert?

http://www.naturalpoint.com/trackir/ ist ein Beispiel fuer ein 
Consumerprodukt mit FPGA.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Die Fritzboxen haben auch alle diverse FPGAs.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Also alles, was "halbgar" und vorzeitig an die Kunden ausgeliefert 
werden muss, und nach 3 Updates dann die volle Funktionsfähigkeit 
annähernd erreicht... ;-)

von Anguel S. (anguel)


Lesenswert?

Lothar Miller schrieb:
> Also alles, was "halbgar" und vorzeitig an die Kunden ausgeliefert
> werden muss, und nach 3 Updates dann die volle Funktionsfähigkeit
> annähernd erreicht... ;-)

Da wären wir wieder beim Thema Bugs vs. Features ;) Aber wer kann 
heutzutage schon sicherstellen, dass die immer komplexer werdenden 
Produkte fehlerfrei laufen werden? Eine Bugfix-Möglichkeit kann da 
Produkte und Unternehmen retten. Und außerdem kann man mit FPGAs dann 
neue Features leicht nachrüsten, wenn die Konkurrenz mal wieder was 
besseres auf den Markt bringt. Viele spezielle Produkte haben außerdem 
so eine hohe Gewinnspanne, dass der Preis des FPGAs nicht so 
entscheidend ist wie in der Massenproduktion.

von Mine Fields (Gast)


Lesenswert?

FPGA dringen immer mehr in Bereiche ein, die vorher Digital-ASIC 
vorbehalten waren. Immerhin werden sie immer günstiger, sind immer in 
der neuesten Technologie gefertigt und sparen enorm Entwicklungszeit. 
Sie werden also auch in mittleren bis hohen Stückzahlen immer 
interessanter.

Manchmal können FPGA schon dann interessant werden, wo sie ein paar 
Dutzend Digital-IC ersetzen können.

Lothar Miller schrieb:
> Es ist m.E. immer noch unbestritten klar, dass es wirtschaftlicher
> Blödsinn ist, eine CPU in ein FPGA zu packen.

Wieso hält sich dieses Gerücht immer noch so hartnäckig?

Ein Softcore lohnt sich eigentlich fast immer, wenn man sowieso einen 
FPGA braucht und die Leistung des Softcore ausreichend ist. So viel 
Platz nehmen die in einem modernen Mittelklasse-FPGA nicht mehr ein. In 
Stückzahlen sind die nächstgrößeren FPGA meistens nur marginal teurer - 
teilweise sogar billiger, wenn man Skaleneffekte nutzen kann. Dazu spart 
man Platz und Bauteile.

Man muss also schon genau hinschauen, ein allgemeingültiges Urteil kann 
man nicht fällen.

von Johann (Gast)


Lesenswert?

Ich benutze lieber einen echten AVR 8 Bit Mikrocontroller und keine 
Softcore, da weis ich wenigstens wie das Ding funktioniert :-)

So viel ich weis sind in eingen SSDs FPGAs verbaut. Ich habe da so eine 
SSD die 4 SSD Kontroller im RAID 0 verbindet. Somit kann die SSD ca. 
800MByte pro Sekunde lesen und schreiben. So eine 100GByte SSD kostet 
ca. 350€ kann man also auch als Kosumer Produkt durchgehen lassen ^^

von Lattice User (Gast)


Lesenswert?

Stefan L. schrieb:
> FPGA dringen immer mehr in Bereiche ein, die vorher Digital-ASIC
> vorbehalten waren. Immerhin werden sie immer günstiger, sind immer in
> der neuesten Technologie gefertigt und sparen enorm Entwicklungszeit.
> Sie werden also auch in mittleren bis hohen Stückzahlen immer
> interessanter.

Dem kann ich mich nur anschliessen.
Einzig die Aussage mit der neuesten Technologie ist nicht ganz 
gerechtfgertigt, da ein FPGA doch einen erheblichen Siliziumoverhead 
hat, weit mehr als der weiter oben angesprochene Faktor 2, es sind eher 
bis zu Faktor 100.

Trotzdem hat ein FPGA viele Vorteile, wenn man nicht gerade 
Nokia,Samsung,Apple etc heisst :-)

Da wäre z.B. Time to Market, Bugs in einem ASIC zu beheben ist teuer 
also muss man erheblichen Zeitwaufwand in die Verification stecken, und 
hoffen dass die Bugs die erst spät in der Entwicklung oder gar erst im 
Feld endeckt werden per Software Workarround umschifft werden können.

Übrigens um auf das Beispiel des 2.5 GS ADCs zurückzukommen, mit FPGA 
anzusteuern ist leicht wenn man weiss was man tut, direkt an einen 
käuflichen ARM SoC eher unmöglich. Und nein, man braucht den FPGA dazu 
nicht mit 2.5 GHz takten.

von Mine Fields (Gast)


Lesenswert?

Lattice User schrieb:
> Einzig die Aussage mit der neuesten Technologie ist nicht ganz
> gerechtfgertigt, da ein FPGA doch einen erheblichen Siliziumoverhead
> hat, weit mehr als der weiter oben angesprochene Faktor 2, es sind eher
> bis zu Faktor 100.

Die Fertigungstechnologie ist trotzdem die Neueste, das hat nichts mit 
dem prinzipbedingten Overhead zu tun.

von Marko B. (glagnar)


Lesenswert?

Johann schrieb:
> So viel ich weis sind in eingen SSDs FPGAs verbaut. Ich habe da so eine
> SSD die 4 SSD Kontroller im RAID 0 verbindet. Somit kann die SSD ca.
> 800MByte pro Sekunde lesen und schreiben. So eine 100GByte SSD kostet
> ca. 350€ kann man also auch als Kosumer Produkt durchgehen lassen ^^

Hast Du da naehere Infos? Soweit ich weiss sind die einzigen FPGAs mit 
SATA Interface die Virtex-5, und die kosten ueber 1000$/Stueck.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Das kann jetzt sogar schon der Spartan-6:
Equipped with either two or four 3.125 Gbit/s SerDes transceivers, the 
Spartan-6 LXT series can be configured to support PCI Express (Gen 1), 
Serial RapidIO, SATA, and most other 2.5 Gbit/s serial protocols.

Und der ist nur vom V-6 abgespeckt...

von Lattice User (Gast)


Lesenswert?

Marko B. schrieb:
> Hast Du da naehere Infos? Soweit ich weiss sind die einzigen FPGAs mit
> SATA Interface die Virtex-5, und die kosten ueber 1000$/Stueck.

800 MByte/s geht auch mit SATA III nicht. Ich nehme also an dass die 
genannte SSD über PCIe angebunden ist. (PCIe 1.1 x4 ist Minium dafür)

Nur für SATA III (6 GBit/s) brauchts einen Virtex, bis SATA II (3 
GBit/s) hat man schon einiges an Auswahl. Der kleinste mir bekannte FPGA 
der das kann ist der Lattice ECP3-17, stellt 4 Serdes Kanäle a 3.2 
GBit/s zu Verfügung.
Damit gingen übrigens auch schon die 800MByte/s über PCIe, dürfte 
insgesamt aber zu klein für die Funktionalität sein.

von Wissender (Gast)


Lesenswert?

Wir setzen in unserem Unternehmen voll auf FPGAs. Unsere 
ASIC-Entwicklung wurde im letzten Jahr vollständig durch FPGA ersetzt, 
weil es sich für uns einfach gelohnt hat. Die Entwicklung ist schneller, 
günstiger und flexibler. Wir bekommen einen Spartan 3A DSP 3400 für 
unter 20EUR. Preise bei Digikey sind kein Masstab. Nachteil der FPGAs 
ist immer noch die hohe Leistung bzw. Abwärme.

Meine Meinung: In 80% aller Fälle wo FPGAs eingesetzt werden stellt sich 
überhaupt nicht die Frage nach einer Alternative. Ob die CPU besser im 
FPGA sitzt oder separat kann man nicht pauschal beantworten.

von Anton (Gast)


Lesenswert?

Werdet doch mal konkret mit Stückzahlen und Lieferanten sowie Kosten pro 
Stück. Finde auch die Spartan 3AN nicht schlecht, suche noch ein Borad 
das es vergleichbar mit dem de2-115 aufnehmen kann.

von Johann (Gast)


Lesenswert?

@ Wissender

wo bekommt man denn diesen FPGA für diesen Preis das ist wirklich schon 
ein sehr gutes Angebot.

von Johann (Gast)


Lesenswert?

Die SSD ist über x4 PCIe 2.0 angeschlossen. Beim 2.0 Standard kann man 
davon ausgehen das 400MByte pro Sekunde über ein Lane geht.

Die SSDs werden ja auch direkt in China hergestellt. Dort sind die FPGAs 
sicherlich auch deutlich günstiger vor allem kaufen die Millionen Stück 
davon ein deshalb kommt hier in Deutschland auch nichts mehr an.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.