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.
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 ;-)
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
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.
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.
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.
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.
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.
>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.
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.
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 FPGAoder 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.
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... ;-)
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.
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
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.
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.
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.
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?
> 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.
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.
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.
<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>
Also alles, was "halbgar" und vorzeitig an die Kunden ausgeliefert
werden muss, und nach 3 Updates dann die volle Funktionsfähigkeit
annähernd erreicht... ;-)
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.
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.
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 ^^
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.
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.
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.
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...
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.
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.
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.
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.