Einführung zu FPGAs

Jul 16, 2024

Einführung zu FPGAs

Definition und Grundlagen

  • FPGA steht für Field Programmable Gate Array.
    • Field Programmable: Konfiguration der Logik kann jederzeit geändert werden.
    • Gate Array: Anordnung digitaler Schaltungen, die flexibel konfiguriert werden können.
  • Implementiert digitale Logik im Gegensatz zu anderen ICs (Integrierte Schaltungen).
  • Zum Kaufzeitpunkt ist die Funktion von FPGAs noch nicht bestimmt (macht erstmal nichts).
  • Kann beliebig konfiguriert werden, z.B. wie ein Mikrocontroller.

Aufbau eines FPGAs

  • Hauptbestandteile eines FPGAs:
    • IO-Pins (Input/Output-Pins): Schnittstellen für Ein- und Ausgänge.
    • CLB (Configurable Logic Blocks): Kernlogikeinheiten zur Realisierung logischer Verknüpfungen.
    • Routing-Ressourcen: Blaue Linien im Diagramm; große Schaltmatrix zur Verbindung von IO-Pins und CLBs.
  • Beispiel einer einfachen kombinatorischen Schaltung im FPGA:
    • 4 Eingänge (A-D) und 1 Ausgang.
    • Besteht aus UND-, ODER-Gattern.
    • Entspricht einer Konfiguration über CLBs.

Funktionalität & Anwendung

  • CLBs enthalten:
    • Flip-Flops für die Speicherung von Zuständen.
    • Spezielle Logik für arithmetische Operationen.
  • Anzahl der CLBs reicht von einigen Tausend bis Hunderttausend.
  • Typische Anwendung: Digitale Signalverarbeitung
    • Viele digitale Filter können in Hardware parallellisiert werden.

Vergleich: FPGA vs. ASIC

  • FPGA:
    • Flexibel, da nachträglich konfigurierbar.
    • Designmethodik ähnlich wie ASIC.
    • Einschränkung: Nur Funktionen, die CLBs ermöglichen.
  • ASIC (Application-Specific Integrated Circuit):
    • Einmaliges Design für spezifische Aufgaben.
    • Nicht nachträglich veränderbar.
    • Kann auch analoge Schaltungen umsetzen.

Typische Kennzahlen von FPGAs

  • Anzahl der CLBs.
  • Anzahl der IO-Pins.
  • Erweiterte Logikressourcen (z.B. DSP-Blöcke für Digitale Signalverarbeitung).
  • Maximale Taktfrequenz der Flip-Flops.
  • Leistungsaufnahme.
  • Konfigurationszeit (Speicherung der Konfiguration und Ladezeit nach Stromausfall).

Beschreibung von Schaltungen

  • Nutzung von Hardware Description Languages (HDL):
    • VHDL (insbesondere in Europa verbreitet).
    • Verilog (eher in den USA verbreitet, zunehmend auch in Europa).
  • Ähnlichkeit zu Programmiersprachen wie C++.
    • Konzeptionell erfordert FPGA-Programmierung eine andere Denkweise als klassische Softwareentwicklung.

Abschluss

  • Grundlegende Einführung in FPGAs.
  • Mögliche weiterführende Themen in zukünftigen Videos: spezifische Anwendungen, detaillierte Betrachtung von DSP-Blöcken, u.v.m.
  • Einladung zur Diskussion und Feedback in den Kommentaren.