🔹 Allgemeines
- FPGA (Field Programmable Gate Array): Ein integrierter Schaltkreis, der nach der Herstellung vom Benutzer programmiert werden kann. FPGAs bestehen aus logischen Blöcken und Verbindungsstrukturen, die individuell konfiguriert werden können.
🔹 Grundkomponenten
- Logikblöcke: Bestehen aus Look-Up Tables (LUTs), Flip-Flops und Multiplexern – sie bilden die Basis für digitale Logik.
- Routing: Konfigurierbare Verbindungen zwischen Logikblöcken.
- I/O-Blöcke: Schnittstellen für externe Kommunikation (z. B. GPIO, LVDS).
- Block RAM (BRAM): Interner Speicher für Daten und Zwischenergebnisse.
- DSP-Blöcke: Spezialisierte Einheiten für mathematische Operationen (z. B. Multiplikation).
🔹 Programmiersprachen
- VHDL (VHSIC Hardware Description Language): Hardwarebeschreibungssprache für FPGA-Designs.
- Verilog: Eine weitere weit verbreitete Sprache zur Beschreibung digitaler Schaltungen.
- SystemVerilog: Erweiterung von Verilog mit zusätzlichen Features für Simulation und Test.
🔹 Entwicklung & Tools
- HDL (Hardware Description Language): Sprache zur Beschreibung von Schaltungen.
- Synthesis: Umwandlung von HDL-Code in logische Gatter.
- Place & Route: Zuweisung von Logikblöcken und Verbindungen im FPGA.
- Bitstream: Binäre Datei, die das FPGA konfiguriert.
- JTAG: Schnittstelle zur Programmierung und Diagnose von FPGAs.
🔹 Hersteller
- Xilinx (jetzt AMD): Marktführer mit Produkten wie Spartan, Artix, Kintex, Virtex und Zynq.
- Intel (ehemals Altera): Hersteller von Cyclone, Arria und Stratix FPGAs.
- Lattice Semiconductor: Anbieter von stromsparenden und kleinen FPGAs.
- Microchip (ehemals Microsemi): Fokus auf sicherheitskritische und robuste Anwendungen.
🔹 Anwendungsbereiche
- Signalverarbeitung: Echtzeitverarbeitung von Audio, Video und Sensor-Daten.
- Kommunikation: Implementierung von Protokollen wie Ethernet, PCIe, USB.
- Industrie & Automatisierung: Steuerungssysteme, Motorregelung, Robotik.
- Luft- und Raumfahrt: Zuverlässige, rekonfigurierbare Hardware für kritische Systeme.
- KI & ML: Beschleunigung von neuronalen Netzwerken und Inferenz.
- Bildverarbeitung: Echtzeit-Analyse von Kameradaten.
🔹 Vorteile
- Flexibilität: Nachträgliche Anpassung der Hardwarelogik.
- Parallelität: Hohe Verarbeitungsgeschwindigkeit durch parallele Ausführung.
- Echtzeitfähigkeit: Ideal für zeitkritische Anwendungen.
- Hardwarebeschleunigung: Schneller als Softwarelösungen auf CPUs.
🔹 Nachteile
- Komplexität: Erfordert tiefes Verständnis von digitaler Logik.
- Kosten: Höher als bei Mikrocontrollern, besonders bei großen FPGAs.
- Stromverbrauch: Kann höher sein als bei ASICs oder Mikrocontrollern.
© 2025 MaDe-Online
