Benutzer-Werkzeuge

    ~~ RM: keiner ~~ UI: ---start--- ~~ IP:3.239.87.20~~

Webseiten-Werkzeuge


CPLD

CPLD steht für Complex Programmable Logic Device. Die Technologie programmierbarer ICs ist seit den 60er Jahren bekannt, als Harris Semiconductor einen Baustein herausbrachte, dessen wesentlicher Bestandteil eine programmierbare Diodenmatrix (Fuse Configurable Diode Matrix) war. 1978 kamen die ersten vollständig konfigurierbaren Logikbausteine namens PLA (Programmable Logic Array) mitsamt Programmiersprache PALASM auf den Markt.

CPLDs bestehen im Wesentlichen aus folgenden Elementen:

  • programmierbare AND/OR-Matrix
  • programmierbare Rückkopplung
  • Eingabeblock
  • Ausgabeblock

Ein-/Ausgabeblöcke können schnelle Speicher, wie Latches, D-Flipflops oder Register, sein. In vielen modernen PLDs stehen programmierbare Ausgänge zur Verfügung, denen man definierte Zustände (active low, active high, tristate) zuweisen kann. Der AND/OR-Matrix als Kern kann jede beliebige kombinatorische Verknüpfung zugewiesen werden.

Unterschiede CPLD/FPGA

Oft werden CPLDs mit den digitalen und ebenfalls rekonfigurierbaren FPGA-Bausteinen (Field Programmable Gate Array) gleichgesetzt bzw. verglichen. Die wesentlichen Unterschiede zwischen FPGAs und CPLDs sind:

  • CPLDs weisen im Vergleich zu FPGA eine wesentlich einfachere Struktur auf. CPLDs besitzen kein feinmaschiges Array (Feld) von Logikblöcken und Flip-Flops, sondern nur eine konfigurierbare Schaltmatrix, die verschiedene Eingangssignale zu verschiedenen Ausgangssignalen verbinden kann. Die Signale können dabei durch logische Operationen wie AND/OR verknüpft werden. Dadurch haben CPLDs eine vom jeweiligen Design unabhängige, konstante Signaldurchlaufzeit. Durch entsprechende Designmethoden kann auch bei FPGAs eine definierte maximale Durchlaufzeit erreicht werden (engl. timing constraints).
  • CPLDs weisen vergleichsweise wenige Flip-Flops auf. Vor allem längere Schieberegister, Zähler, Zustandsspeicher und ähnliche Schaltungen, die viele Flip-Flops benötigen, sind in CPLD nur ineffizient zu realisieren.
  • CPLDs besitzen, da jeder IO-Pin ein Flip-Flop besitzt, meist sehr viele IO-Pins, die in vielen Anwendungen nur teilweise verwendet werden. In Anwendungen, in denen nur vergleichsweise einfache digitale Schaltungen, sogenannte glue logic, mit einem hohen Bedarf an IO-Pins Verwendung findet, sind CPLDs meist die bessere Wahl.
  • CPLDs können durch ihre einfache Struktur technologisch mit Flash-Zellen in den Schaltmatrizen arbeiten. Damit ist ein CPLD sofort nach dem Einschalten (engl. Power-Up) betriebsbereit, während rekonfigurierbare FPGAs mit SRAM-basierenden Zellen erst einen Ladezyklus für die Konfiguration durchlaufen müssen. Von einigen Herstellern gibt es aber seit längerem auch FPGAs in Flash-Technik. Seit Ende der 1990er Jahre ist bei den CPLDs eine Annäherung an die FPGA-SRAM-Technologie zu beobachten. Heute arbeiten die meisten CPLDs intern SRAM-basiert. Bei einigen CPLD-Familien besteht inzwischen das logische Grundelement aus dem FPGA-typischen LUT4-Flipflop-Verbund (Altera MAX II Serie).
  • CPLDs weisen durch den einfacheren Aufbau und die geringere Größe auch einen wesentlich geringeren Stromverbrauch auf.

Verwendet in

Links

Zuletzt geändert: 2024/09/22 00:26