FPGAs und Look-Up-Tabellen (PLM-Blöcke)
← Alle Artikel

FPGAs und Look-Up-Tabellen (PLM-Blöcke)

6 Min

Feste Gatter vs. konfigurierbare Logik

Jede Schaltung in den anderen Artikeln ist aus Gattern aufgebaut, deren Funktion zur Entwurfszeit fest ist — ein AND-Gatter kann nie zu einem OR-Gatter werden. Eine FPGA (Field-Programmable Gate Array) verfolgt den umgekehrten Ansatz: Sie wird als Gitter generischer, neu konfigurierbarer Logikzellen geliefert, deren Verhalten nach der Herstellung festgelegt wird, indem eine Konfiguration geladen wird, die jeder Zelle mitteilt, welche Funktion sie ausführen soll.

Die Look-Up-Tabelle (LUT)

Der Kern jeder konfigurierbaren Zelle ist eine Look-Up-Tabelle: ein Speicher, der ein Ausgangsbit für jede mögliche Kombination ihrer Eingänge enthält — genau eine Wahrheitstabelle, direkt im Speicher abgelegt statt aus Gattern aufgebaut. Eine 4-Eingangs-LUT speichert 16 Bit, eines pro Zeile einer 4-Variablen-Wahrheitstabelle, und kann daher jede der 65.536 möglichen 4-Eingangs-Booleschen Funktionen implementieren, indem einfach geändert wird, welche 16 Bit gespeichert sind — ganz ohne Neuverdrahtung.

Eine FPGA als Array aus LUTs und Flip-Flops

Eine vollständige FPGA kombiniert Tausende dieser LUTs mit Flip-Flops und einer programmierbaren Verbindungsstruktur, die LUT-Ausgänge mit Eingängen anderer LUTs oder mit Flip-Flops für Zustand verdrahtet. Das Laden eines „Bitstreams" konfiguriert den Inhalt jeder LUT und jeden Verbindungsschalter gleichzeitig und verwandelt das generische Gitter in jede beliebige entworfene Schaltung — im Prinzip sogar in eine vollständige CPU.

Die PLM-Blöcke von Boolflow

Die PLM-Blöcke (Programmable Logic Matrix) von Boolflow modellieren genau diese Idee in kleinem Maßstab: Statt einzelne AND/OR/NOT-Gatter zu verdrahten, geben Sie direkt den Ausgang für jede Eingangskombination an — genauso, wie der Inhalt einer LUT festgelegt wird. Ein PLM-Block mit N Eingängen ist funktional identisch mit einer N-Eingangs-LUT.

Von der Wahrheitstabelle zur LUT-Konfiguration

Da eine LUT oder ein PLM-Block eine Funktion speichert, statt sie aus Gattern aufzubauen, kehrt sich der Arbeitsablauf um: Statt mit den Gesetzen von De Morgan oder einem Karnaugh-Diagramm zu vereinfachen, um die Gatterzahl zu minimieren, schreiben Sie die gewünschte Wahrheitstabelle direkt aus und laden sie. Öffnen Sie ein PLM-Element im Boolflow-Editor (siehe die Hilfe-Referenz für die vollständige Elementliste) und konfigurieren Sie seine Ausgänge Zeile für Zeile, um dies in Aktion zu sehen.

PLM-Block-Referenz ansehen