Wikipedia · einfach zusammengefasst · Stand
Programmierbare logische Anordnung
Eine programmierbare logische Anordnung, häufig in englischsprachiger Fachliteratur als Programmable Logic Array oder kurz PLA bezeichnet, ist eine Form der …
Inhalt4 Abschnitte
Aufbau und Zweck
Eine programmierbare logische Anordnung (englisch Programmable Logic Array, PLA) ist eine programmierbare logische Schaltung. Sie besteht aus zwei hintereinander geschalteten Matrizen: einer UND-Matrix und einer ODER-Matrix. Eine seltenere Bezeichnung lautet Fieldprogrammable Logic Array (FPLA).
PLAs dienen zur Herstellung von Schaltnetzen und Schaltwerken für logische Funktionen in disjunktiver Form. Dabei werden zunächst Konjunktionsterme gebildet, also Verknüpfungen mit UND. Anschließend werden diese Terme mit ODER zu einer Gesamtausgabe verbunden. So lassen sich Eingangs- und Ausgangssignale auch auf engem Raum kompliziert miteinander verknüpfen.
Programmierung und heutige Verwendung
Die UND-Matrix repräsentiert die Konjunktionsterme. Bei der Programmierung werden die benötigten Terme ausgewählt, meist indem Schaltglieder aus der UND-Matrix entfernt werden. Die ODER-Matrix verknüpft die ausgewählten Konjunktionsterme disjunktiv. Technisch werden beide Matrizen häufig mit NAND-Gliedern realisiert.
1986 hatten die universelleren PLAs die entwicklungstechnisch älteren PALs auf dem Halbleitermarkt bereits weitgehend verdrängt. Heute werden PLAs nur noch selten eingesetzt und fast vollständig durch CPLDs ersetzt. CPLDs haben ebenfalls keine Einschränkungen bei der Verwendbarkeit der UND-/ODER-Matrizen im Eingangsbereich, sind elektrisch programmierbar und löschbar, können wie FPGAs in Hardwareprogrammiersprachen wie VHDL programmiert werden und besitzen zusätzlich eine bestimmte Anzahl an Registern.
Technische Realisierung
Ursprünglich verwendete man eine Matrix aus Sicherungen (fuse). Beim Programmieren wurden einzelne Sicherungen passend zum gewünschten Bit-Muster mit hohem Strom durchgebrannt. Ein Problem war, dass sich einzelne Sicherungen durch Kristallisationsprozesse mit der Zeit wieder „reparieren“ konnten.
Bei der neueren Antifuse-Technologie besteht das PLA aus einer Diodenmatrix, in der jede Diode ein Bit darstellt. Anders als bei der Fuse-Technologie wird keine leitende Verbindung unterbrochen: Die Dioden sperren normalerweise den Strom. Beim Programmieren werden gezielt Dioden mit sehr hohem Strom belastet, zerstört und dadurch leitend. Nach diesem Brennvorgang bilden defekte und funktionierende Dioden das gespeicherte Bit-Muster. Es kann beliebig oft ausgelesen werden.
PLAs sind OTP-Bauelemente (One-Time Programmable): Ein programmierter Baustein lässt sich nicht mehr ändern. Die Zahl der Ein- und Ausgänge muss nicht gleich sein. Für die Serienfertigung ist die fehlende Änderbarkeit nicht störend; in der Entwicklungsphase werden häufig mehrfach lösch- und programmierbare GALs (Generic Array Logic) eingesetzt.
Beispiel und verwandte Bausteine
Ein PLA kann einen Motor mit zwei Eingangssignalen steuern: Anschaltknopf und Sicherheitsschalter. Der Motor wird eingeschaltet, wenn Anschaltknopf = an UND Sicherheitsschalter = an. In allen drei übrigen Fällen wird er ausgeschaltet: an/aus, aus/an oder aus/aus. Dies entspricht auch zwei in Reihe liegenden Schaltern, bei denen der Stromkreis nur geschlossen ist, wenn beide Schalter geschlossen sind.
Bei kleineren Bausteinen programmierbarer Logik sind die Begriffe PLA und GAL gebräuchlich. Für Bausteine höherer Komplexität werden je nach Implementierung ASIC, FPGA und CPLD verwendet. Sonderfälle eines PLA sind PAL und PROM: Bei einem PAL (Programmable Array Logic) ist nur das UND-Array programmierbar; bei einem PROM (Programmable Read-Only Memory) ist nur das ODER-Array programmierbar.