Nothing Special   »   [go: up one dir, main page]

„Programmierbare logische Anordnung“ – Versionsunterschied

[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Kemuer (Diskussion | Beiträge)
K Revert auf Version von Benutzer:TheReincarnator (17:18 Uhr, 13. April 2009). Unsinn
K form
 
(37 dazwischenliegende Versionen von 27 Benutzern werden nicht angezeigt)
Zeile 1:
[[BildDatei:PLAProgrammable Logic Array.pngsvg|thumb|250pxmini|Grundprinzip eines PLA]]
Eine '''programmierbare logische Anordnung''', häufig in deutschsprachigerenglischsprachiger Fachliteratur als '''{{lang|en|Programmable Logic Array}}''' oder kurz '''PLA''' bezeichnet, ist eineine Form der [[IntegrierterProgrammierbare logische SchaltkreisSchaltung|Halbleiterschaltkreisprogrammierbaren logischen Schaltung]], derdie aus insgesamt zwei hintereinander geschalteten ANDUND- und ORODER-Matrizen besteht. Eine seltener verwendete Bezeichnung ist '''{{lang|en|Fieldprogrammable Logic Array}}''' ('''FPLA'''). Ein PLA wird zur Herstellung von [[Schaltnetz|Schaltnetzen]] und [[Schaltwerk (Technische Informatik)|-werken]] für logische Funktionen in [[disjunktive Normalform|disjunktiver Form]] verwendet. Die AND-Matrix repräsentiert dabei die [[Konjunktionsterm]]e. 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 [[Disjunktion|disjunktive]] Verknüpfung der Konjunktionsterme erfolgt mittels der ODER-Matrix. Die technische Realisierung beider Matrizen erfolgt allerdings häufig mittels NAND-Gliedern.
 
== Allgemeines ==
Heutzutage werden PLAs nur noch selten eingesetzt und sind fast vollständig durch [[CPLD]]s 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 [[Very High Speed Integrated Circuit Hardware Description Language|VHDL]] zu programmieren und umfassen darüber hinaus eine bestimmte Anzahl an [[Register (Computer)|Registern]].
Ein PLA wird zur Herstellung von [[Schaltnetz]]en und [[Schaltwerk (Technische Informatik)|-werken]] für logische Funktionen in [[Disjunktive Normalform|disjunktiver Form]] verwendet. Die UND-Matrix repräsentiert dabei die [[Konjunktionsterm]]e. Die Auswahl der Konjunktionsterme erfolgt im Rahmen der Programmierung (meist mittels eines speziellen Gerätes) durch das Entfernen von Schaltgliedern aus der UND-Matrix. Die [[Disjunktion|disjunktive]] Verknüpfung der Konjunktionsterme erfolgt mittels der ODER-Matrix. Die technische Realisierung beider Matrizen erfolgt allerdings häufig mittels NAND-Gliedern. 1986 hatten die universelleren PLAs die entwicklungstechnisch älteren [[Programmable Array Logic|PALs]] bereits weitgehend vom Halbleitermarkt verdrängt<ref>{{Literatur |Autor=Manfred Seifart |Titel=Prinzipielle Struktur einer PLA |Sammelwerk=Digitale Schaltungen |Auflage=2., durchges. Aufl. |Verlag=Verlag Technik |Ort=Berlin |Datum=1986 |ISBN=3-341-00148-4 |Seiten=273}}</ref>.
 
HeutzutageHeute werden PLAs nur noch selten eingesetzt und sind fast vollständig durch [[CPLD]]s 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[[FPGA]]s in einheitlichen Hardwareprogrammiersprachen wie beispielsweise [[Very High Speed Integrated Circuit Hardware Description Language|VHDL]] zu programmieren und umfassenbesitzen darüber hinaus eine bestimmte Anzahl an [[Register (Computer)|Registern]].
==Realisierung==
 
Ursprünglich wurde eine Matrix aus Sicherungen (engl. ''fuse'') verwendet, wobei beim Programmieren entsprechend dem zu programmierenden [[Bitmuster]], einzelne [[Elektrische Sicherung|Sicherungen]] mit einem hohen [[Elektrischer Strom|Strom]] durchgebrannt wurden. Eines der Probleme dieser Technologie war, dass sich mit der Zeit, durch [[Kristallisation]]s-Prozesse, einzelne Sicherungen wieder „reparieren“ konnten.
== Realisierung ==
Ursprünglich wurde eine Matrix aus Sicherungen (engl. ''{{lang|en|fuse}}'') verwendet, wobei beim Programmieren entsprechend dem zu programmierenden [[BitmusterBit]]-[[Muster]], einzelne [[Elektrische Sicherung|Sicherungen]] mit einem hohen [[Elektrischer Strom|Strom]] durchgebrannt wurden. Eines der Probleme dieser Technologie war, dass sich mit der Zeit, einzelne Sicherungen durch [[Kristallisation]]s-Prozesse, einzelne Sicherungensprozesse 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 BitmusterBit-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 [[One Time Programmable|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 gernehäufig so genannte [[Programmable Array Logic|GALs]] ({{lang|en|Generic Array Logic}}) eingesetzt, die sich mehrfach löschen und neu programmieren lassen.
 
== Anschauliches Beispiel ==
Eingangssignal 1: Anschaltknopf (an/aus)
Eingangssignal 2: Sicherheitsschalter (an/aus)
Zeile 20 ⟶ 23:
 
Eine mögliche Programmierung wäre:
 
Wenn Anschaltknopf = an UND Sicherheitsschalter = an, dann Motor = an.
Wenn Anschaltknopf = an UND Sicherheitsschalter = aus ODER
Zeile 26 ⟶ 28:
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
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 Ein- und Ausgangssignale auf sehr komplizierte Weise miteinander verknüpft werden.
PLA verdeutlicht werden.
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 Ein- und Ausgangssignale auf sehr komplizierte Weise miteinander verknüpft werden.
 
== 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 ''[[Anwendungsspezifische integrierte Schaltung|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 [[programmierbare logische Schaltung|programmierbaren logischen Schaltungen]]:
 
Um Sonderfälle von PLAs handelt es sich bei den folgenden [[programmierbareProgrammierbare logische Schaltung|programmierbaren logischen Schaltungen]]:
* [[Programmable Array Logic]] (PAL): Hier ist nur das UND-Array programmierbar.
* [[Programmable Read -Only Memory]] (PROM): Hier ist nur das ODER-Array programmierbar.
 
== Siehe auch ==
* [[Erasable Programmable Read Only Memory|EPROM]] – Erasable Programmable Read Only Memory
 
* [[Anwendungsspezifische Integrierte Schaltung|ASIC]] – Anwendungsspezifische Integrierte Schaltung
== Literatur ==
* [[One Time Programmable|OTP]] – One Time Programmable
* Erwin Böhmer, Dietmar Ehrhardt, Wolfgang Oberschelp: ''Elemente der angewandten Elektronik.'' 15. Aufl. Vieweg Verlag, Wiesbaden 2007, Kapitel ''ROMs, PROMs und PLDs.'' (ROM, PLD und PAL auf S. 268–269, Aufbau und Programmierung von GALs im Anhang S. 418–419).
* [[Field Programmable Gate Array|FPGA]] – Field Programmable Gate Array
* Hans Martin Lipp: ''Grundlagen der Digitaltechnik.'' Oldenburg Wissenschaftsverlag, ISBN 978-3-486-25916-2 (ULA auf S. 169–170; PLA auf S. 172).
* [[Complex Programmable Logic Device|CPLD]] – Complex Programmable Logic Device
* A. Auer: ''Programmierbare Logik-IC, Eigenschaften, Anwendung, Programmierung.'' Hüthig Buch Verlag, Heidelberg 1990 (Aufbau und Programmierung von Programmable Logic Device (PLD), Generic Array Logic (GAL), Abänderbarer Gatteranordnung (AGA) und Logic Cell Array (LCA)).
* Edgar Gaßner, Max Reidl: ''ttl 7400 IC integrierte schaltungen, datenlexikon, vergleichstabelle''. Section 6: FPLA feld-programmierbare logikeinheit, S."6-2" bis "6-10" sowie S."2-349" (Aufbau und genaue Programmierweise von FPLAs der Typen 74S330J/N, 74S331J/N, 54S330J und 54S331J -mit je 12 Eingängen und 6 Ausgängen- von Texas Instruments).
* [[Manfred Seifart]]: ''Digitale Schaltungen.'' VEB Verlag Technik Berlin, Berlin 1986, 2. Auflage, ISBN 3-341-00148-4, Kapitel: "Programmierbare Logikanordnungen/Prinzipielle Struktur einer PLA", "Wirkungsweise einer PLA", S. 274–278, "Entwurfsmethodik für die PLA-Programmierung", S. 278–280 (u.&nbsp;a. Vergleich des strukturellen Aufbaus von PROM, PLA und PAL).
 
== Weblinks ==
* [http://www-ihs.theoinf.tu-ilmenau.de/~sane/projekte/progstruct/progstruct.html Applet zum Experimentieren mit ROM, PLA und PAL- Strukturen] ''Funktionseingabe durch Klick in der Wertetabelle oder Programmiermatrix''
 
== Einzelnachweise ==
[[Kategorie:Programmierbare Logik]]
<references />
 
{{Normdaten|TYP=s|GND=4076369-9}}
[[ar:المصفوفة المبرمجة المنطقية]]
 
[[en:Programmable logic array]]
{{Navigationsleiste programmierbare Logik}}
[[it:Programmable logic array]]
 
[[pl:PLA]]
[[Kategorie:Programmierbare Logik]]
[[sv:Programmable logic array]]
[[vi:PLA]]
[[zh:可程式邏輯陣列]]