Deutschland - Kennzeichen Deutschland

Incoterms:DDP
Alle Preise sind inklusive Zoll und Gebühren bei der Auswahl der Versandart.

Bitte bestätigen Sie Ihre Währungsauswahl:

Euro
Versand ist kostenfrei bei den meisten Bestellungen über 50 € (EUR)

US Dollar
Versand ist kostenfrei bei den meisten Bestellungen über $60 (USD)

Bench Talk for Design Engineers

Mouser German Blog

rss

Mouser Electronics, Inc german language blogs


Einsatzbereiche von FPGAs Adam Taylor

(Quelle: mehaniq41 - stock.adobe.com)

Seit ihrer Einführung Mitte der 1980er-Jahre hat sich die programmierbare Logik in einer Reihe von Applikationen durchgesetzt. Moderne Schaltungen haben sich weiterentwickelt, von programmierbaren Logikbausteinen (Programmable Logic Device, PLD) über komplexe programmierbare Logikbausteine (Complex Programmable Logic Device, CPLD) bis hin zu dem im Feld programmierbaren Gate-Array (Field Programmable Gate Array, FPGA).

Während PLDs und CPLDs nur eine begrenzte Anzahl von Logikressourcen boten, verfügen FPGAs über millionenfach konfigurierbare Logikblöcke (Configurable Logic Blocks, CLBs), mit denen Entwickler sequenzielle und kombinierte Schaltungen implementieren können. Moderne FPGA-Bausteine bieten Entwicklern auch hochentwickelte Funktionen wie DSP-Elemente, Block-RAMS, Gigabit-Transceiver, PCIe-Endpunkte und sogar eingebettete Arm®- und RISC-V-Prozessoren.

Dabei verlangen FPGAs aufgrund der tatsächlichen Parallelität ihrer programmierbaren Logik natürlich einen anderen Ansatz bei der Designentwicklung, Implementierung und Verifizierung als herkömmliche Prozessoren.

Durch diese parallele Implementierung eignen sich FPGAs ideal für Applikationen, bei denen es auf eine oder mehrere der folgenden Eigenschaften ankommt:

  • Reaktionsfähigkeit: Bei der Implementierung werden dedizierte Ressourcen verwendet, sodass keine Notwendigkeit besteht, Systemressourcen gemeinsam zu nutzen.
  • Determinismus: Für die Implementierung der Verarbeitungspipeline werden dedizierte Ressourcen verwendet, sodass die Verarbeitungszeit von der Eingabe bis zur Ausgabe deterministisch ist.
  • Hoher Durchsatz: Durch die parallele Struktur der programmierbaren Logik kann die Verarbeitungspipeline mit diskreten Elementen in einer echten parallelen Verarbeitungsstruktur implementiert werden.
  • Flexibilität der Ein-/Ausgabe innerhalb des FPGAs: Dank der Flexibilität der Ein- und Ausgabe (E/A) innerhalb des FPGAs ist eine beliebige Konnektivität möglich, sofern der richtige PHY aktiviert ist. Diese Flexibilität befreit den Entwickler auch von der Beschränkung auf eine bestimmte Anzahl von E/A-Standards, die bei traditionelleren Prozessorlösungen vorhanden sind.

Aufgrund dieser Eigenschaften eignen sich FPGAs ideal für eine Reihe von Applikationen, von der Automobil- und Luftfahrtindustrie bis hin zu Motorsteuerung, Bild- und Signalverarbeitung, Netzwerken und Prozesssteuerung. Im Folgenden erläutern wir anhand zweier Applikationen, warum sich FPGAs ideal dafür eignen.

Die Bildverarbeitung ist das Herzstück vieler Applikationen, von Smart Cities über Sicherheit bis hin zur Kontrolle von Fertigungslinien im Rahmen von Industrie 4.0. Bei diesen Applikationen muss die Bildverarbeitungslösung eine Reihe komplexer Verarbeitungsalgorithmen Pixel für Pixel ausführen. Mit zunehmender Bildrate und Auflösung wird dafür eine erhebliche Rechenleistung benötigt. Durch die Implementierung eines FPGAs kann jede Stufe der Verarbeitungspipeline in Logikgattern integriert werden, häufig unter Verwendung eines vorhandenen IP-Blocks des Herstellers. Diese Verarbeitungskette kann vom MIPI- oder HDMI-Empfang über De Bayer- und die Alphakanal-Korrektur bis hin zu komplexen Verarbeitungsalgorithmen wie Enhancement, Kantenerkennung, Segmentierung und ML-Netzwerken reichen. Durch die Implementierung der Pipeline in programmierbare Logik kann der Entwickler höhere Bildraten erzielen als mit konventionellen Verarbeitungsmethoden. Bildverarbeitungsanwendungen werden häufig in der Automobilindustrie eingesetzt, um das SAE-Autonomielevel zu erhöhen.

Ein weiteres Einsatzgebiet für FPGAs sind sicherheitskritische oder hochzuverlässige Applikationen. Hierbei kommen insbesondere die reaktionsschnellen und deterministischen Eigenschaften von FPGAs zum Tragen. Viele sicherheitskritische Systeme haben eine sogenannte harte Echtzeitanforderung, d. h. die Daten müssen innerhalb einer bestimmten Zeit erfasst, das Ergebnis ermittelt und die Maßnahme umgesetzt werden. Gelingt es nicht, die Verarbeitung und die Entscheidung innerhalb der vorgegebenen Zeit umzusetzen, ist ein Systemausfall die Folge. Durch die Implementierung der Verarbeitung in einer Logik kann jede Stufe des Algorithmus parallel implementiert werden. Dank dieser parallelen Implementierung kann der Entwickler die Reaktionszeit einhalten, da der Berechnungspfad die Ressourcen nicht gemeinsam nutzt. Und weil die Ressourcen nicht gemeinsam genutzt werden, liefert die implementierte Lösung auch eine deterministische Antwort auf eine bestimmte Eingabe. Mit dieser deterministischen Reaktion ist auch eine robustere Verifizierungsstrategie möglich, da eine RTL-Simulation erstellt werden kann, die alle Zustände, Verzweigungen, Pfade und Register-Toggles innerhalb des RTL-Designs abdeckt. Aufgrund ihrer Reaktionsfähigkeit und ihrer deterministischen Eigenschaften eignen sich FPGAs ideal für sicherheitskritische Applikationen und werden häufig in der Luft- und Raumfahrt, in der Automobilindustrie, im Schienenverkehr und in der Prozesssteuerung eingesetzt, wo Zertifizierungen nach Standards wie DO254, ISO26262 und IEC61508 verlangt werden.

Ein weiterer Einsatzbereich von FPGAs ergibt sich aus der Flexibilität ihrer Schnittstellenfunktionen. Mit FPGAs lassen sich Lösungen erstellen, die dank des breiten Spektrums an unterstützten Single- und Differential-E/A-Standards in Kombination mit einem externen PHY bei Bedarf beliebige Schnittstellen bieten. Dadurch können Entwickler zahlreiche gleiche Schnittstellen auf demselben Chip sowie mehrere MIPI-Schnittstellen implementieren, um unterschiedliche Bildverarbeitungsprozesse abzudecken. Alternativ können FPGAs auch zur Implementierung der Protokollkonvertierung von Gigabit Ethernet zu SpaceWire verwendet werden. Die Fähigkeiten von FPGAs können natürlich auch in Verbindung mit der E/A-Flexibilität genutzt werden. Ein Beispiel hierfür ist die Video-Transkodierung, bei der ein Standard empfangen und ein anderer nach der Transkodierung innerhalb der FPGA-Logik übertragen wird. Auch hier trägt der hohe Durchsatz von FPGAs zur Implementierung einer umfassenden Lösung bei.

Fazit

Zusammenfassend lässt sich festhalten, dass FPGAs am besten in Systemen eingesetzt werden, die eine der genannten Eigenschaften wie Reaktionsfähigkeit, Determinismus, Durchsatz oder Schnittstellen benötigen. Diese Applikationen können die parallelen Eigenschaften von FPGAs nutzen, um eine Lösung zu implementieren, die den Anforderungen gerecht wird. Daher finden FPGAs in zahlreichen Applikationen Anwendung, beispielsweise in der Luft- und Raumfahrt, in der Automobilindustrie, in der Industrie, bei der Video-Transkodierung, bei der Prozesssteuerung und in Hochleistungssystemen. Mit der Weiterentwicklung der FPGA-Technologien (und insbesondere der Development Tools) werden FPGAs in Zukunft noch häufiger in vielen Applikationen zum Einsatz kommen.



« Zurück


Adam Taylor ist Professor für Embedded Systeme, Entwicklungsleiter und weltweit anerkannter Experte für FPGA/System on Chip und Elektronikdesign.


Alle Autoren

Alle anzeigen Alle anzeigen
Blog nach Datum anzeigen