Ich habe kürzlich an einer Online-Konferenz zu FPGAs teilgenommen, mit der Keynote "Sollte Ihr nächster Prozessor ein FPGA sein?".
Das FPGA ist im Grunde genommen in jeder Anwendung sinnvoll, die stark parallelisierbare Arbeitsströme erfordert. Als Beispiel wurde die Analyse von Full-HD-Bildern verwendet, um beispielsweise Fußgänger zu finden.
Das, woran Sie denken müssen, ist, dass Sie Ihr FPGA jedes Mal initialisieren müssen, wenn es hochfährt. Ich denke, dass das FPGA mit Xilinx (das einen On-Chip-ARM-Kern hat) eine gute Option ist, aber wahrscheinlich teuer. Ein Blick in die Actel-Modelle mit On-Chip-Flash kann ebenfalls hilfreich sein.
Was die Leistung anbelangt, so hat das Unternehmen BDTI bei hochparallelen Berechnungen einen Benchmark durchgeführt, bei dem ein Leistungsgewinn von etwa 40x auf einen FPGA umgestellt wurde. Das Interessante ist, dass sie Chips mit ähnlichen Kosten verglichen haben (23 $ gegenüber 28 $, glaube ich).
Hier sind die Links, die Sie interessieren könnten:
Pocket Guide zur Prozessorauswahl
FPGA Conference Archives (Kostenlose Registrierung, jedoch nur für ca. 6 Monate nach dieser Antwort verfügbar)
Sie können die Leistung von FPGA-basierten Systemen, die auf MIPS- oder Mhz-Statistiken basieren, nicht wirklich vergleichen. Die Art und Weise, wie ein FPGA zur Verarbeitung bestimmter Aufgaben verwendet wird, unterscheidet sich einfach zu stark von einem Mikrocontroller. Das Design der Firmware für ein FPGA muss zum Beispiel mit VHDL erfolgen, was mit Assembly vergleichbar ist. Ein Register Transfer Level (RTL) der Abstraktion. Einige Umgebungen werden erstellt, um mehr Abstraktion zu bieten, diese sind jedoch häufig herstellerspezifisch. Wikipedia bietet einen guten Überblick über die Sprachen, in denen FPGA-Code programmiert werden kann:
Wikipedia: FPGA programmieren
Wikipedia: Digital Circuit Design
Wenn Sie Geld zum Brennen haben, können Sie mit den LabView-Systemen beispielsweise FPGA-basierte Echtzeitmesssysteme erstellen. Die dafür benötigten Geräte haben einen völlig anderen Preisbereich (ab 1500 US-Dollar), öffnen das FPGA-Design jedoch mit grafischer Programmierung für ein viel breiteres Publikum.
Immer mehr Anbieter bieten Boards an, die Mikrocontroller wie einen ARM-Chip mit einem FPGA kombinieren, um bestimmte zusätzliche Funktionen und parallele Rechenleistung bereitzustellen. Ein Beispiel für solche Produkte finden Sie hier: EmbeddedARM: FPGA-Serie