Was ist ein FPGA?
Ein Field-Programmable Gate Array (FPGA) ist ein Computerlogik-Chip, der vom Hersteller nicht fest verdrahtet ist. Dies bedeutet, dass es nach dem Kauf programmiert werden kann. Auf einem typischen FPGA stehen Tausende von Anpassungsoptionen zur Verfügung. Diese programmierbaren Einheiten sind die Gatter, die auch als Logikblöcke oder LUT-Dateien (Look-Up Table) bezeichnet werden.
Da die Anzahl der Logikblöcke auf einem FPGA zu groß ist, um manuell erstellt zu werden, werden sie über ein Softwareprogramm generiert. Programmierer können dann aus einer Vielzahl von Kategorien auswählen, um sie für ein bestimmtes System anzupassen. Sie können ihre eigenen Programme verwenden, um mit dem Programm auf dem FPGA-Chip zu interagieren und die Änderungen vorzunehmen.
Bei der Programmierung eines FPGA können mehrere miteinander verbundene Elemente verwendet werden, um Logikblöcke nach Bedarf zu konfigurieren. Der Inhalt der LUTs hängt von der Art und Weise ab, wie sie programmiert wurden. Einige führen einzelne Funktionen aus, während andere komplexere Aufgaben ausführen können. Einige FPGAs können auch analoge und digitale Elemente enthalten. Diese Chips haben oft auch die Fähigkeit, dass diese Elemente zusammen funktionieren.
Die LUTs sind durch ein Netzwerk von Drähten verbunden. Je nach gewünschter Funktion können die Drähte in gerader Linie oder in einem komplexeren Netzwerk diagonaler Verbindungen durch die Dateien verlaufen. Eine LUT kann über mehrere Drahtverbindungen mit mehreren anderen Dateien verbunden sein. Die Dateien können auch durch eine Reihe von Drähten verbunden sein, die Übertrags- oder dedizierte Routing-Ketten genannt werden, mit denen nur bestimmte Arten von Informationen verschoben werden können, damit sie schneller verarbeitet werden können.
Um eine Logikfunktion mit einem FPGA zu programmieren, muss diese zuerst in Text- oder Bilddateien umrissen werden. Anschließend werden die Informationen in die mit dem FPGA gelieferte Software heruntergeladen. Sobald dieser Vorgang abgeschlossen ist, ist die Funktion normalerweise betriebsbereit.
Ein FPGA ist zwar teurer als ein festverdrahteter Logikchip, es kann jedoch hilfreich sein, Ressourcen zu sparen, da Benutzer programmieren können, um ihre spezifischen Anforderungen zu erfüllen. Dies kann den Bedarf an zusätzlicher Arbeit und die zusätzliche Zeit verringern, die erforderlich ist, um einen Chip unterzubringen, der nicht speziell angefertigt wurde. Ein programmierbarer Chip kann auch einfacher zu verwenden sein, da seine Benutzerfunktionen, wie z. B. Menüs, angepasst werden können.
Feldprogrammierbare Gate-Array-Schaltungen sind eine Alternative zur anwendungsspezifischen integrierten Schaltung (ASIC). Diese Schaltungen werden vor dem Verlassen des Werks fest verdrahtet. Sie sind Board-Level-Komponenten im Gegensatz zu den feldprogrammierbaren Gate-Level-Elementen.