Programmierbare Logik

Programmierbare logische Schaltung

aus Wikipedia, der freien Enzyklopädie

Wechseln zu: Navigation, Suche

Eine programmierbare logische Schaltung, häufig auch in deutschsprachiger Fachliteratur als Programmable Logic Device oder kurz PLD bezeichnet, ist ein elektronisches Bauelement für integrierte Schaltkreise. Anders als logische Gatter, die eine feste Funktion vorgegeben haben, erhalten PLDs erst nach der Herstellung ihre Funktion durch die entsprechende Programmierung (Konfiguration).

[Bearbeiten] Unterscheidung nach Komplexität

Beispiele verschieden komplexer PLDs sind (in aufsteigender Komplexität):

Grundprinzip eines PLA
Grundprinzip eines PLA

Einfache programmierbare logische Schaltungen bestehen meist aus einem Array aus UND-Verknüpfungen gefolgt von einem Array aus ODER-Verknüpfungen.

PLAs wurden meistens eingesetzt um sogenannte Glue Logic zu ersetzen. Inzwischen werden sie kaum noch eingesetzt und sind von folgenden PLDs ersetzt worden.

  • Complex Programmable Logic Device (CPLD)
    Ein CPLD besteht aus Blöcken, die ein PLA, Ein- und Ausgangsblöcke sowie eine programmierbare Rückkopplung enthalten. Diese Blöcke können untereinander verbunden werden. In der Regel ist für jeden I/O-Pin auch ein [Flip-Flop] enthalten.
  • Field Programmable Gate Array (FPGA)
    Ein FPGA besteht ähnlich wie ein CPLD aus untereinander vernetzten Blöcken, jedoch sind diese komplexer. Ein Block besteht hier aus Flip-Flops und LUTs. Auch die Möglichkeiten diese Blöcke untereinander zu verbinden sind gegenüber dem CPLD stark erweitert. Ein FPGA enthält oft auch fertige Funktionsblöcke wie RAM, PLLs oder ganze CPU-Kerne.

CPLDs wie FPGAs verfügen außerdem oft über programmierbare I/O-Zellen, die es erlauben verschiedene Signalschnittstellen (z.B. TTL, PCI oder LVDS) an den Baustein anzuschließen. Siehe auch: Unterschiede von CPLDs zu FPGAs

[Bearbeiten] Unterscheidung nach Programmierbarkeit

  • Maskenprogrammiert
    Hier wird die Konfiguration schon bei der Produktion des Bauteils festgelegt. Sollen FPGAs in großen Stückzahlen eingesetzt werden, können diese bei einigen Herstellern maskenprogrammiert geordert werden. Dies spart zusätzliche Produktionsschritte und die zur Konfiguration notwendigen externen Bauteile.
  • One Time Programmable (OTP)
    Hier gibt es die Programmierung durch Durchbrennen von Verbindungen (Fusible-link) oder das Schaffen von Verbindungen bei der Antifuse-Technologie.
  • Erasable Programmable Read Only Memory (EPROM)
    Die EPROM Programmierung wurde meist nur bei PLAs eingesetzt.
  • Electrically Erasable Programmable Read Only Memory (EEPROM) oder Flash
    GALs sind EEPROM programmiert und können deshalb im Gegensatz zu PALs wiederverwendet werden. Die Konfiguration von CPLDs findet in der Regel über Flash-Speicher statt. Die Programmierung über EEPROM bzw. Flash hat den Vorteil, dass das Bauteil sofort nach dem Einschalten fertig konfiguriert zu Verfügung steht.
  • SRAM basiert
    Die Programmierung von FPGAs ist in der Regel SRAM-basiert. Dieses muss nach dem Einschalten erst in den FPGA geladen werden, entweder durch ein Konfigurations-PROM oder einen angeschlossenen Mikroprozessor. Ein FPGA kann sogar während des Betriebes ganz oder teilweise neu programmiert werden, z.B. um einen im FPGA laufenden Verarbeitungsalgorithmus zu ändern. Ein Anwendungsgebiet dafür ist das Reconfigurable Computing.

Marktführer in dieser Branche sind die Firmen Altera und Xilinx.

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