Programmierbare logische Anordnung

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Grundprinzip eines PLA

Eine programmierbare logische Anordnung, häufig in englischsprachiger Fachliteratur als Programmable Logic Array oder kurz PLA bezeichnet, ist ein Halbleiterschaltkreis, der aus insgesamt 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.

Realisierung[Bearbeiten]

Ursprünglich wurde eine Matrix aus Sicherungen (engl. fuse) verwendet, wobei beim Programmieren entsprechend dem zu programmierenden Bit-Muster, 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 so eine leitende Verbindung.

Nach dem „Brennvorgang“ des PLA werden die geschriebenen Daten durch ein Bit-Muster 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.

Anschauliches Beispiel[Bearbeiten]

Eingangssignal 1:  Anschaltknopf (an/aus)
Eingangssignal 2:  Sicherheitsschalter (an/aus)
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  ODER
wenn Anschaltknopf = aus UND  Sicherheitsschalter = an   ODER
wenn Anschaltknopf = aus UND  Sicherheitsschalter = aus, dann Motor = aus.

Der Motor könnte auch mit zwei in Reihe liegenden Schaltern gesteuert werden, so dass der Stromkreis nur dann geschlossen ist, wenn der Anschaltknopf UND der Sicherheitsschalter geschlossen sind. Im Beispiel soll aber der Einsatz eines PLA verdeutlicht werden. In PLAs können nun auf engstem Raum Ein- und Ausgangssignale auf sehr komplizierte Weise miteinander verknüpft werden.

Abgrenzung und Sonderfälle[Bearbeiten]

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:

Siehe auch[Bearbeiten]

  • EPROM – Erasable Programmable Read Only Memory
  • ASIC – Anwendungsspezifische Integrierte Schaltung
  • OTP – One Time Programmable
  • FPGA – Field Programmable Gate Array
  • CPLD – Complex Programmable Logic Device

Weblinks[Bearbeiten]