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.
>> 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?
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.
Helmut schrieb: > einen 2,5Gs ADC zu steuern Und wenn das jetzt ein 1-Bit-Sigma-Delta-ADC wäre... ;-)
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.
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".
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 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.
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.
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.
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.
@ Wissender wo bekommt man denn diesen FPGA für diesen Preis das ist wirklich schon ein sehr gutes Angebot.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.