Programmierbare Logik

Programmierbare logische Anordnung

aus Wikipedia, der freien Enzyklopädie

Wechseln zu: Navigation, Suche
Grundprinzip eines PLA
Grundprinzip eines PLA

Eine programmierbare logische Anordnung, häufig in deutschsprachiger Fachliteratur als Programmable Logic Array oder kurz PLA bezeichnet, ist ein Halbleiterschaltkreis, der aus zwei hintereinander geschalteten AND- und OR-Matrizen besteht. Eine seltener verwendete Bezeichnung ist Fieldprogrammable Logic Array (FPLA). Ein PLA wird zur Herstellung von Schaltnetzen und -werken für logische Funktionen in disjunktiver Form verwendet. Die AND-Matrix repräsentiert dabei die Konjunktionsterme. Die Auswahl der Konjunktionsterme erfolgt im Rahmen der Programmierung (meist mittels eines speziellen Gerätes) durch das Entfernen von Schaltgliedern aus der AND-Matrix. Die disjunktive Verknüpfung der Konjunktionsterme erfolgt mittels der ODER-Matrix. Die technische Realisierung beider Matrizen erfolgt allerdings häufig mittels NAND-Gliedern.

Heutzutage werden PLAs nur noch selten eingesetzt und sind fast vollständig durch CPLDs abgelöst worden. CPLDs besitzen so wie PLAs keine Einschränkungen betreffend der Verwendbarkeit der UND-/ODER-Matrizen im Eingangsbereich, sind elektrisch programmierbar und auch wieder löschbar, sind wie FPGAs in einheitlichen Hardwareprogrammiersprachen wie beispielsweise VHDL zu programmieren und umfassen darüber hinaus eine bestimmte Anzahl an Registern.

Inhaltsverzeichnis

[Bearbeiten] Realisierung

Ursprünglich wurde eine Matrix aus Sicherungen (engl. fuse) verwendet, wobei beim Programmieren entsprechend dem zu programmierenden Bitmuster, einzelne Sicherungen mit einem hohen Strom durchgebrannt wurden. Eines der Probleme dieser Technologie war, dass sich mit der Zeit, durch Kristallisations-Prozesse, einzelne Sicherungen wieder „reparieren“ konnten.

Bei der neueren Antifuse-Technologie besteht das PLA aus einer Diodenmatrix, in welcher jede Diode ein Bit repräsentiert. Im Gegensatz zur Fuse-Technologie, wo eine leitende Verbindung unterbrochen wird, sind hier die Dioden so verschaltet, dass sie normalerweise den Strom sperren. Beim Programmiervorgang werden nun gezielt bestimmte Dioden mit einem sehr hohen Strom belastet. Diese Dioden werden dadurch zerstört und bilden dadurch eine leitende Verbindung.

Nach dem „Brennvorgang“ des PLA werden die geschriebenen Daten durch ein Bitmuster defekter und funktionierender Dioden repräsentiert. Diese Daten lassen sich nun beliebig oft auslesen (wobei der „Lesestrom“ selbstverständlich unterhalb dessen liegt, welcher zur Programmierung verwendet wird). PLAs gehören in die Gruppe der OTP-Bauelemente.

Die Anzahl der Ein- und Ausgänge muss dabei nicht identisch sein. Ein einmal programmierter Baustein kann nicht mehr geändert werden, was in der endgültigen Serienfertigung nicht weiter störend ist. Während der Entwicklungsphase elektronischer Schaltungen werden hingegen gerne so genannte GALs (Generic Array Logic) eingesetzt, die sich mehrfach löschen und neu programmieren lassen.

[Bearbeiten] Anschauliches Beispiel

Eingangssignal 1 :  Anschaltknopf
Eingangssignal 2 :  Sicherheitsschalter
Ausgangssignal   :  Motor (An / Aus)

Eine mögliche Programmierung wäre:

Wenn Anschaltknopf = An  UND Sicherheitsschalter = An  >> Dann Motor = An
Wenn Anschaltknopf = An  UND Sicherheitsschalter = Aus >> Dann Motor = Aus

Es reicht im Beispiel nicht den Motor direkt mit dem Schalter einzuschalten, sondern es ist eine zusätzliche Logik nötig. In PLAs können nun auf engstem Raum sehr komplizierte Ein- und Ausgangssignale miteinander verknüpft werden.

[Bearbeiten] Abgrenzung und Sonderfälle

Im Sprachgebrauch hat sich der Begriff PLA bzw. GAL für den Bereich der „kleineren“ Bausteine programmierbarer Logik durchgesetzt, während sich für Bausteine „höherer“ Komplexität die Begriffe ASIC, FPGA und CPLD in Abhängigkeit von der Art der Implementierung durchgesetzt haben.

Um Sonderfälle von PLAs handelt es sich bei den folgenden programmierbaren logischen Schaltungen:

[Bearbeiten] Siehe auch

[Bearbeiten] Weblinks

Copyright © 2005-2010 Hardware-Aktuell. Alle Rechte vorbehalten.