Was sind einige praktische Anwendungen von einem FPGA?
Ich bin super aufgeregt über mein Programm einschalten ein wenig sieben-segment-Anzeige, aber wenn ich es zeigen, um Menschen, die nicht im Feld, Sie sagen immer "gut, was können Sie tun?" Ich bin nie in der Lage, um Ihnen eine schlüssige Antwort. Kann mir jemand helfen?
InformationsquelleAutor der Frage Willem Ellis | 2011-09-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zuerst: Sie brauchen nicht flüchtigen Speicher.
In der Tat das große Spieler (Xilinx, Altera) haben in der Regel Ihre Konfiguration, on-chip SRAM, so müssen Sie zusätzliche EEPROM/Flash/WhatEver(TM) , speichern Sie diese außerhalb.
Aber es gibt auch andere, z.B. Actel ist ein big-player in den Sinn kommen, dass der nicht-flüchtige Konfiguration Speicher auf Ihrer FPGAs (btw. dies hat auch andere Vorteile, wie das SRAM ist in der Regel nicht sehr radiation tolerant, und Sie müssen spezielle Messungen, wenn Sie gehen in den orbit).
Es gibt zwei große Dinge, die rechtfertigen, FPGAS:
Preis - Sie sind nicht Billig. Aber manchmal kann man nicht etwas tun, in der software, und Sie müssen die hardware für Sie. Und wenn du unter einem bestimmten Punkt in Ihrem erforderlichen Umfang (z.B. weil nur seine kleine Serie oder ein Prototyp) ein FPGA ist VIEL billiger als ein ASIC. Auch bei der Entwicklung von ASICs dies ermöglicht - vor einer endgültigen Zustand erreicht ist - viel höher turn-around-Zeiten.
Neukonfiguration - Sie können eine Neukonfiguration des FPGA. Das ist etwas, ein Prozessor oder ein ASIC nicht tun kann. Es gibt einige Anwendungen, wo Sie Sie nutzen können: Z. Wenn Sie brauchen die Fähigkeit, etwas zu reparieren, in das design, aber Sie können nicht physisch an das Gerät. Beispiel: Der mars-Orbiter/Rover verwendet Xilinx FPGAs. Wenn jemand findet es einen Fehler (oder wechseln möchte, um eine andere Codierung für die übertragung von Daten oder was auch immer), kann man nicht ersetzen, das Schiff, wie es gerade nicht erreichbar. Aber mit einem FPGA kann man einfach neu und können Ihre änderungen anzuwenden. Ein weiteres Szenario ist, dass Sie können ein single-chip, die in der Lage, unterschiedliche Beschleunigungen, je nach Szenario. Stellen Sie sich ein smartphone, das beim telefonieren der FPGA-Chip kann konfiguriert sein, um audio en-/Dekodierung, beim surfen kann auch als Kompressions-engine, bei der Wiedergabe von videos kann konfiguriert werden als h264 decoder/Beschleuniger. Eine andere Sache, die Sie tun können, ist, dass Sie können passen Sie die hardware, um Ihr problem Instanz. E. g. Cisco arbeitet mit einer Vielzahl von FPGAs in Ihre hardware. Sie müssen die hardware, die zum ausführen switching/routing/Paket-Inspektion mit der erforderlichen Geschwindigkeit, und Sie können die Generierung von setting-passende Motoren, die direkt in die hardware.
Eine andere Sache, die vielleicht bald (ich weiß, dass einige Auto-Hersteller drüber nachgedacht), ist für Geräte, die eine Menge von verschiedenen Elektronik-und haben ein großes supply chain. Es ist mehr oder weniger eine Kombination von Preis und Rekonfiguration. Es ist teurer als 10 ASICs als 10 FPGAs - wo beide erfüllen dieselbe Aufgabe, aber es ist billiger zu haben 10 FPGAs mit nur einem Lieferanten und der Notwendigkeit zu halten, nur 1 Art von chip in service und Versorgung als 10 Lieferanten mit der Notwendigkeit zu halten und zu verwalten 10 verschiedene chips im Angebot und service.
InformationsquelleAutor der Antwort flolo
Wahre Geschichte.
Ermöglichen Sie Ihnen fix design-Fehler in der benutzerdefinierten data-acquisition-boards für ein multi-Millionen-dollar-Teilchenphysik-experiment, das offensichtlich nur nach Sie alles installiert haben und sind dabei integration, Arbeit und detektorcharakterisierung.
InformationsquelleAutor der Antwort dmckee
Können Sie entwickeln schaltungen, das ist ein bisschen old-school-evolutionäre algorithmen ausgehend von einer Reihe von zufälligen Personen, die Sie können wählen Sie die Kreise, die höhere Punktzahl in einem fitness-Funktion als der rest, und züchten Sie zum erstellen einer neuen Bevölkerung ad infinitum. Lesen Sie über Evolutionäre Hardware, denke dieses Buch deckt FPGA ' s http://www.amazon.co.uk/Introduction-Evolvable-Hardware-Self-Adaptive-Computational/dp/0471719773/ref=sr_1_1?ie=UTF8&qid=1316308403&sr=8-1
Sagen Sie zum Beispiel, Sie wollten eine DSP-Schaltung, Sie haben ein Eingangssignal und ein gewünschtes Ausgangssignal, beginnend mit einem zufälligen Bevölkerung, die Sie wählen Sie vielleicht nur the fittest (schlecht) oder vielleicht eine Mischung fitties und ungeraden zum erstellen der nächsten generation. nach einer Anzahl von Generationen, öffnen Sie den Deckel und entdecken Sie niedrige und siehe, evolution hat stattgefunden und Sie haben eine Schaltung, die vielleicht sogar besser als Ihre anfänglichen Erwartungen!
Lesen Sie auch die field guide to genetic programming, kostenlos irgendwo im web.
InformationsquelleAutor der Antwort Pepe
Ich mag diesen Artikel: http://www.hpcwire.com/hpcwire/2011-07-13/jp_morgan_buys_into_fpga_supercomputing.html
Mein Gefühl ist, dass FPGA ' s sitzen direkt in Ihre streaming-Daten an der Stelle, wo es in Ihre Systeme unter Ihrer Kontrolle. Sie können dann die crunch, die Daten ohne den Umweg über die Schritte, die ein GPGPU erfordern würde (womit sich die Daten aus dem Netzwerk, übergeben Sie über den PCI-Express-bus und knirscht es ein Gb zu einem Zeitpunkt).
Gibt es gute Gründe für beide, aber ich denke, die Vorstellung, ob Sie Verstand die Pufferung der Daten ist ein guter Indikator.
Hier ist eine andere kühle-FPGA-Anwendung:
http://milkymist.org/
InformationsquelleAutor der Antwort memetech
Gibt es Einschränkungen der software. Auf software, läufst du an der CPU-clock-rate aus, sodass Sie nur ausgeführt werden, eine Anweisung pro Taktzyklus. Auf software, alles ist high level, Sie Steuern nicht die details, die passieren, in der niedrigen Ebene. Sie werden immer nur vom Betriebssystem oder in Entwicklungs-board Sie sind für die Programmierung. Dies gilt für die gängigen Entwicklungs-boards gibt, wie z.B. Arduinos und Raspberry Pi.
In FPGA-hardware, können Sie genau das Programm und kontrollieren, was passiert, zwischen jedem clock-Zyklus, bieten Ihren Berechnungen die Geschwindigkeit, mit der Elektronen-Ebene (Hinweis: die Geschwindigkeit der Elektronen bestimmt, die Geschwindigkeit der elektrischen signal-transfers zwischen hardware)
Nun, wir wissen, FPGA bedeutet Hardware, die Geschwindigkeit der Elektronen, die ist viel besser als
CPU bedeutet, dass die Software, 1 Instruktion pro Takt.
Warum also FPGA, wenn wir entwerfen unsere eigenen boards mit platine, transistor-Ebene?
Dies ist, weil die FPGA sind programmierbare hardware! Es ist derart aufgebaut, dass Sie Programmieren können, die Zusammenhänge des Vorstandes statt verdrahten Sie für eine bestimmte Anwendung. Dies erklärt, warum die FPGA ' s sind teuer! Es ist sozusagen eine "Allgemeine hardware" oder Programmierbarer Hardware.
Zu argumentieren, warum sollten Sie wählen FPGA ' s trotz Ihrer Kosten, die programmierbaren hardware-Komponente ermöglicht:
Längere Produkt-Zyklus (Sie können aktualisieren Sie die programmierbare hardware auf die Produkte des Kunden enthält der FPGA-indem Sie einfach so dass Sie so programmiert Ihr aktualisiertes HDL-code in Ihre FPGA)
Recovery für hardware-Fehler. Sie einfach es Ihnen ermöglichen, laden Sie die korrigierte Programm auf Ihrem FPGA. (Hinweis: Sie können dies nicht mit bestimmten hardware-designs, die Sie haben zu verbringen, die Millionen zu sammeln, Ihre Produkte, neue zu erstellen, und versenden Sie zurück zum Kunden)
Beispiele für die coolen Dinge, die FPGA machen kann, siehe Stanford berüchtigten ECE5760 natürlich.
http://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/
Hoffe, das hilft!
Bald Chee Loong,
University of Toronto
InformationsquelleAutor der Antwort Chee Loong Soon
FPGA werden auch verwendet, um test - /Forschungs-Schaltplan bevor Sie in die Serienproduktion. Dies geschieht in verschiedenen Bereichen: image processing, signal processing, etc.
Edit - nach ein paar Jahren können wir jetzt sehen, mehr praktische Anwendungen, einschließlich Finanzen und Maschine verdienen:
InformationsquelleAutor der Antwort ES2018
Automotive Bildverarbeitung ist eine interessante domain:
Bereitstellung lane-keeping-support, die Treiber (disclosure: ich habe mit dieser Seite!):
http://www.conekt.co.uk/capabilities/50-fpga-for-ldw
Bietet eine luftaufnahme von einem Auto aus 4 fisheye-Objektiv-Kameras (mit video):
http://www.logicbricks.com/Solutions/Surround-View-DA-System/Xylon-Test-Vehicle.aspx
InformationsquelleAutor der Antwort Martin Thompson