Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> VHDL

Eine Einführung in FPGAs und programmierbare Logik

Dieses Video ist eine einführende Präsentation über FPGA und programmierbare Logiktechnologie. Ich habe diesen 45-minütigen Vortrag auf einer Veranstaltung von 7 Peaks Software in Bangkok, Thailand, am 19. November 2019 gehalten.

Zu den Höhepunkten der Präsentation gehören:

Wer verwendet FPGAs?

Es gibt ein breites Anwendungsspektrum für die FPGA-Technologie. Produkte, die von Satelliten im Weltraum bis hin zu Handelsrobotern an der Wall Street reichen, verwenden programmierbare Logik. Hier folgen einige Branchen, die bekanntermaßen intensive Nutzer von FPGAs sind.

Verteidigung

Die Verteidigungsindustrie ist in einer hervorragenden Position, um von kundenspezifischen FPGA-Implementierungen zu profitieren. Sie haben viel Geld und hohe Qualitätsansprüche. Die Spezifikationslisten für ihre Produkte sind oft extrem, da Ausrüstung in Militärqualität eine Stufe zuverlässiger Technik ist, die weit über den Verbraucher- und Industriequalitäten liegt. Ihre Budgets sind immer hoch und manchmal praktisch unbegrenzt und stammen aus einer stabilen Quelle wie staatlicher Unterstützung.

All dies sind Gründe, warum FPGAs häufig für Verteidigungsanwendungen verwendet werden. Nicht nur für Waffen, sondern auch für Dinge wie Funkkommunikationsgeräte und Testgeräte. Ich habe in der Industrie gearbeitet. Hier können Sie mehr über meine Erfahrung als FPGA-Ingenieur in der Verteidigungsindustrie lesen.

Leerzeichen

FPGAs werden in großem Umfang in der gesamten Raumfahrtindustrie verwendet. Es gibt viele Gründe, warum sie gut für Satelliten geeignet sind. Sie sind von Natur aus stromsparend, können strahlungsfest gemacht werden und es ist einfacher, die Korrektheit eines FPGAs zu überprüfen als die Software, die auf einer CPU oder einem Mikrocontroller läuft.

Viele elektronische Designs im Weltraum sind für Dinge wie Schnittstellensteuerung, Lesen von Sensordaten, Signalverarbeitung oder Steuersysteme gedacht, Aufgaben, die gut zu einem FPGA passen. Darüber hinaus fallen Raumfahrtanwendungen häufig unter dieselben Zuverlässigkeitsanforderungen, die in der Luft- und Raumfahrtindustrie Standard sind.

Luft- und Raumfahrt

Die Luft- und Raumfahrtindustrie liebt FPGAs aus vielen der gleichen Gründe wie die Raumfahrtindustrie, vor allem aber, weil es einfacher ist, die Korrektheit eines FPGAs zu überprüfen als Software.

Der Nachweis, dass ein Computerprogramm keine unbeabsichtigten Folgen hat, ist schwierig und zeitaufwändig. Internationale Standards für luftgestützte Systeme schreiben vor, dass die in Flugzeugen verwendete Elektronik strenge Verifizierungsanforderungen erfüllen muss.

Während Software dem Luftfahrtstandard DO-178C entsprechen muss, fallen FPGAs unter den Design Assurance Guide DO-254 für luftgestützte elektronische Hardware. In den meisten Fällen ist es einfacher und kostengünstiger, die Anforderung des Hardwarestandards zu erfüllen, als für eine entsprechende Softwareimplementierung.

Automobil

Fahrzeughersteller verwenden FPGAs für Dinge wie die Motorsteuerung von Dieselmotoren in Lastwagen und auch für automatisierte Fahrsysteme. Sie können sogar FPGA-beschleunigte Kommunikations- und Unterhaltungssysteme in modernen Autos finden.

Darüber hinaus werden Elektro- und Hybridfahrzeuge wahrscheinlich FPGAs für Motorsteuerungsaufgaben verwenden. Dreiphasen-Induktionsmotoren erfordern eine strenge Zeitsteuerung der Magnetfelder, wenn sich der Motor dreht. Jede Ungenauigkeit führt zu einem Verlust an Energieeffizienz.

Telekom

Die Telekommunikationsinfrastruktur verwendet viel FPGA-Technologie. Wie bereits erwähnt, sind FPGAs Standard in Raumfahrtanwendungen wie Kommunikationssatelliten. Andere Anwendungen von FPGAs in der Telekommunikationsbranche umfassten Netzwerkrouter und drahtlose Basisstationen.

Für Consumer-Telekommunikationsgeräte wie Mobiltelefone sind FPGAs nicht so üblich. Sie sehen eher einen ASIC als einen FPGA für eine kundenspezifische Lösung in einem Mobiltelefon. Obwohl die Anschaffungskosten der ASIC-Produktion viel höher sind als bei einem FPGA, sind sie aufgrund der hohen Verkaufszahlen von Mobiltelefonen immer noch wirtschaftlich.

Rechenzentren

Alle vier großen Technologieunternehmen entwickeln benutzerdefinierte FPGA-Lösungen für den Einsatz in ihren Rechenzentren. FPGAs sind für sie unerlässlich, um so große Datenmengen mit so geringer Latenz verarbeiten zu können.

Es ist schwierig, Details darüber zu finden, welche Art von Problemen sie mit FPGAs lösen. Dennoch wird anhand von Indizien wie Stellenausschreibungen deutlich, dass sie sich stark auf FPGAs verlassen. Dienste wie Amazon AWS, Microsoft Azure, Google und Facebook werden alle teilweise durch FPGAs ermöglicht.

Hochfrequenzhandel

Beim algorithmischen Hochfrequenz-Börsenhandel (HFT) geht es darum, die Zahlen schneller zu knacken als die Konkurrenz. Unternehmen, die sich an diesen Aktivitäten beteiligen, tun alles in ihrer Macht Stehende, um die Latenz ihrer Verarbeitungspipelines zu verringern.

Ihre Server befinden sich physisch in der Nähe der Börse, und sie investieren in die schnellste Computerhardware, die man für Geld kaufen kann. Wenn die Konkurrenz CPUs und GPUs verwendet, wenden Sie sich an FPGAs. Dann können sie die statistische Analyse eingehender Marktdaten geringfügig schneller durchführen und mehr Geld verdienen.

Kryptowährungs-Mining

FPGAs haben in den letzten Jahren eine Renaissance in der Mainstream-IT-Community erlebt. Durch den Bitcoin-Hype haben mittlerweile viele Laien von FPGAs gehört.

Bei der Ökonomie des Kryptowährungs-Mining dreht sich alles um die Verwaltung der Stromrechnung. Die Münze muss mehr wert sein als das, was Sie für den Strom bezahlt haben, um sie abzubauen, damit sie rentabel ist.

Eine benutzerdefinierte FPGA-Lösung ist normalerweise energieeffizienter als ein Algorithmus, der auf einer CPU oder sogar einer GPU ausgeführt wird. In den letzten Jahren sind viele Crowdfunding-FPGA-Miner-Boards aufgetaucht.

Beispiele für Produkte, die FPGAs enthalten

FPGAs sind in der Unterhaltungselektronik nicht so häufig zu finden. Dennoch gibt es viele Beispiele dafür. Hier folgen einige Produkte, von denen Sie vielleicht schon gehört haben und die FPGAs enthalten.

HTC Vive

Dieses VR-Headset verwendet drei Lattice-FPGAs, wie wir in diesem Teardown sehen können. Es ist unklar, welchen Zweck die FPGAs in diesem Design haben.

Dies sind jedoch Geräte mit relativ geringer Kapazität, daher ist eine gute Vermutung, dass sie eher zur Steuerung einer Schnittstelle oder zum Lesen eines Sensors als zur Bildverarbeitung dienen.

Google Waymo

Das selbstfahrende Auto von Google läuft mit FPGA-Technologie. Das Projekt befindet sich noch in der Entwicklungsphase und FPGAs eignen sich hervorragend für das Prototyping.

Der Artikel, auf den verwiesen wird, besagt, dass sie FPGAs für die „Sensorverarbeitung“ verwenden, was die LiDAR-Systeme sein können, die das Auto hat.

iPhone 7

Es ist ungewöhnlich, ein FPGA in einem Mobiltelefon zu finden. Aufgrund der großen Produktionsmengen von Mobiltelefonen ist ein ASIC in der Regel kostengünstiger. Trotzdem verwendet das iPhone 7 ein FPGA.

Der verlinkte Artikel deutet darauf hin, dass es sich um eine neue Funktion der künstlichen Intelligenz (KI) handeln könnte. Vielleicht war Apple mit dieser speziellen Hardware noch nicht fertig und brauchte die Möglichkeit, Over-the-Air (OTA)-Hardware-Updates auf diesen Chip zu übertragen. Das ist eine innovative Verwendung eines FPGA.

Apple Afterburner

Die High-End Grafikbeschleunigerkarte von Apple kann bis zu 3 8k ProRes RAM Videostreams gleichzeitig in Echtzeit rendern.

Interessanterweise verwendet es ein FPGA, um das schwere Heben durchzuführen. Bildverarbeitung ist etwas, das FPGAs wirklich gut können. Vielleicht mussten sie eine benutzerdefinierte Lösung erstellen, weil GPUs 8k-Videos nicht schnell genug verarbeiten konnten.

Nvidia G-Sync

Die Nvidia G-Sync-Karte synchronisiert die Ausgabe der Grafikkarte mit der Bildwiederholfrequenz des Bildschirms. Wenn Sie ein PC-Spieler sind, haben Sie vielleicht schon von V-Sync gehört, der Softwarelösung von Nvidia für dieses Problem.

Die Bildratensynchronisierung ist ein Beispiel für eine Aufgabe, die in Hardware einfach auszuführen ist, aber viel CPU verbraucht, wenn sie mit Software erledigt wird.

Sigilent-Oszilloskop

Das Sigilent SDS 1202X-E ist ein 200MHz, 2+1 Kanal Oszilloskop. Ein Teardown von EEVblog enthüllt, was es antreibt, eine Zynq-7000-Hybrid-CPU/FPGA von Xilinx.

Der Zynq-7000-Chip verfügt über zwei harte ARM-CPUs und einen auf dem Chip programmierbaren FPGA-Teil. Der Vorteil der Verwendung von Zynq besteht darin, dass Sie Linux auf dem Teil des Verarbeitungssystems (PS) ausführen können. Mit Linux können Sie alle High-Level-GUI-Bibliotheken verwenden, um eine schöne Benutzeroberfläche zu erstellen.

Gleichzeitig können Sie Sensordaten mit hoher Geschwindigkeit abtasten, indem Sie benutzerdefinierte Logik im programmierbaren Logikteil (PL) des Chips verwenden. Die Verbindung zwischen dem PS- und PL-Teil hat eine sehr hohe Bandbreite, da sie sich innerhalb desselben Siliziumchips befindet. Insgesamt ein hervorragender Chip zum Erstellen von Hochleistungsanwendungen für das Internet der Dinge (IoT).

UltraMiner-FPGA

Der UltraMiner ist einer von vielen Crowdfunding-FPGA-Minern, die im Laufe der Jahre erschienen sind. Die Finanzierungskampagne läuft zum Zeitpunkt des Schreibens noch.

Laut den Verkaufsargumenten auf der Projektseite hat es die vierfache Energieeffizienz eines GPU-Miners.

Kieselzeit

Die Pebble ist eine frühe Smartwatch, die 2012 über eine Kickstarter-Kampagne per Crowdfunding finanziert wurde. Sie verwendet ein winziges FPGA zur Steuerung des LCD.

Wenn Sie einen Pebble besaßen, sind Sie die ganze Zeit mit einem FPGA am Handgelenk herumgelaufen. Die Firmware zur Steuerung des Pebble ist Open Source, der Code für die Anbindung des FPGA befindet sich in ihrem Repo auf GitHub.

Wollen Sie lernen, wie man ein FPGA programmiert?

Um Logik für ein FPGA zu erstellen, müssen Sie eine Hardwarebeschreibungssprache (HDL) verwenden. Dieser Blog ist auf VHDL spezialisiert, eine der beiden beliebtesten HDLs.

Sie können die VHDL-Programmierung auf Ihrem Computer bequem von zu Hause aus kostenlos ausprobieren. Jede VHDL-Entwicklung beginnt in einem Simulator, und die kostenlosen grundlegenden VHDL-Tutorials zeigen Ihnen, wie Sie mit der Studentenedition des beliebtesten VHDL-Simulators simulieren:ModelSim.

VHDLwhiz-Lernressourcen

KOSTENLOS: Grundlegende VHDL-Tutorials

PREMIUM: Punktmatrix-FPGA- und VHDL-Kurs

FPGA und VHDL Fast-Track:Hands-On für absolute Anfänger

Sind Sie mit Programmierung vertraut, aber neu in VHDL?

Benötigen Sie eine kurze Einführung in dieses unbekannte Thema?

Ist Ihr Terminkalender voll und Sie haben keine Zeit mehr zum Lernen?

Verstehen Sie an wenigen Abenden die Grundlagen der FPGA-Entwicklung mit VHDL! Dieser Kurs richtet sich an IT-Experten und Studenten, die einen schnellen Überblick über das Thema benötigen. Mit diesem Kurs und dem kostengünstigen Lattice iCEstick-Entwicklungsboard entwickeln Sie innerhalb weniger Stunden echte Hardware.

Klicken Sie hier, um mehr zu lesen und sich anzumelden:
FPGA und VHDL Fast-Track:Hands-On für absolute Anfänger


VHDL

  1. Lernprogramm - Einführung in VHDL
  2. Einführung in Verilog
  3. Eine Einführung in die Stereolithographie (SLA)
  4. Eine Einführung in die Titanlegierung
  5. Einführung in Gleichstromkreise
  6. Einführung in Wechselstromkreise
  7. Einführung in SPICE
  8. Einführung in die Boolesche Algebra
  9. Was Sie über speicherprogrammierbare Steuerungen wissen sollten
  10. Field Programmable Gate Array (FPGA) vs. Mikrocontroller – Was ist der Unterschied?