Complex Programmable Logic Device
CPLD steht für Complex Programmable Logic Device. Die Technologie eigenspezifischer 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 PAL (Programmable Array Logic) mitsamt Programmiersprache PALASM auf den Markt.CPLDs bestehen im wesentlichen aus folgenden Elementen:
- programmierbare AND/OR-Matrix
- programmierbare Rückkopplung
- Eingabeblock
- Ausgabeblock
Der Unterschied zwischen PLDs und CPLDs besteht im Wesentlichen in der Zahl der verfügbaren Gatter und der Komplexität der Ausgangslogik. Ab 25.000 Gattern kann man von einem CPLD sprechen. Hier wird die AND/OR-Matrix nicht mehr über ein einzelnes Gatter realisiert, sondern über eine Schaltmatrix zusammengefasst. Der homogene Aufbau ermöglicht eine exakte Bestimmung der Durchlaufzeiten, was den wesentlichen Unterschied zu den FPGAs ausmacht. Ein weiterer Unterschied ist die Konfiguration, durch Fertigung in EECMOS electronically erasable complementary metal oxide semiconductor bleibt nach der Konfiguration das Programm im CPLD und muss nicht bei jedem Start neu geladen werden. Durch die hohe Anzahl von Eingängen / Logikblock bieten sich CPLDs vor Allem für die Lösung komplexer, paralleler AND/OR-Logik an. Bei steigender Zahl der Zellen werden die Makrozellen mit lokalen Leitungen zu Logic Array Blocks, LABs zusammengefasst.
Hersteller sind beispielsweise Xilinx, Altera, Lattice, Actel, Lucent, Cypress, Atmel oder Quick Logic.