カテゴリー
category_de

CPLD

Was ist ein CPLD?

Ein CPLD ist ein reprogrammierbarer Logikbaustein mit einer relativ komplexen Schaltungsstruktur.

Die Abkürzung steht für Complex Programmable Logic Device. CPLDs ermöglichen eine reibungslosere Produktentwicklung zu niedrigeren Kosten als in der Vergangenheit.

Anwendungen für CPLDs

CPLDs sind in Verbraucher- und Industriegeräten weit verbreitet, z. B. in Steuerplatinen:

  • Digitalkameras und Multifunktionsgeräte
  • Smartphones
  • Fahrzeugsteuerungen und Autonavigationsgeräte
  • Spielkonsolen

CPLDs werden in Steuerschaltungen eingesetzt, insbesondere für die Verwaltung von Stromversorgungsschaltungen. Sie übernehmen häufig Funktionen wie die Verwaltung der Reihenfolge, in der die Stromzufuhr zu den Schaltkreisen erfolgt, und Spannungswahlschaltungen.

Funktionsweise von CPLDs 

Ein CPLD besteht aus einem Block, in dem mehrere programmierbare Logikschaltungen integriert sind und einem Verdrahtungsbereich, der die verschiedenen Blöcke miteinander verbindet. Der Block besteht aus drei Makrozellen mit UND-ODER-Gatter-Strukturen, D-Flipflops zum Halten eines Informationsbits als 0/1 und E/A-Stiften für die Ein- und Ausgabe.

Die Makrozelle nimmt digitale Signale über den Input-Pin auf und gibt Signale über den Output-Pin in einer vom Benutzer programmierten Logikschaltung aus. Interne Primärdaten werden in Flip-Flops gespeichert.

Der Wiring Area ist die Verbindung zwischen Blöcken und gibt Daten über einen oder mehrere Blöcke aus.

Weitere Informationen zu CPLDs

1. Unterschiede zwischen CPLDs und FPGAs

Ein CPLD-ähnlicher Logikbaustein ist ein FPGA, der einen flüchtigen Speicher verwendet und daher die Schaltkreisdaten verliert, wenn die Stromversorgung unterbrochen wird.

Im Gegensatz dazu verwenden CPLDs nichtflüchtige Speicher wie EEPROM oder Flash-Speicher, so dass die Schaltkreisdaten erhalten bleiben. Die beiden unterscheiden sich auch im Hinblick auf die Größe.

FPGAs verfügen über Zehntausende von Gattern, CPLDs dagegen nur über einige Tausend. Daher wird der CPLDs verwendet, um dem FPGA beim Einschalten Designdaten zur Verfügung zu stellen, während der FPGA die umfangreichen logischen Schaltungen vornimmt.

Außerdem lassen sich bei FPGAs Verzögerungszeiten nur schwer vorhersagen, da die Verzögerungszeiten je nach Position der Logikblöcke variieren. Im Gegensatz dazu sind CPLDs leicht vorherzusagen, da die Anzahl der zu durchlaufenden Makrozellen feststeht.

2. Geschichte der CPLDs

CPLDs wurden vor etwa 30 Jahren entwickelt, um TTL- und CMOS-Logikbausteine zu ersetzen. Damals wurden Schaltungen durch die Kombination von Allzweck-Logik-ICs mit nur NOT- und AND-Funktionen auf einer Platine aufgebaut.

Die Serie 7400 von Texas Instruments (TI) ist bekannt, aber es heißt, dass die Ingenieure damals mehr als ein paar hundert Bausteine fast auswendig kannten. Das Problem war, dass die Komplexität der Schaltungen Dutzende oder Hunderte von Allzweck-Logik-ICs erforderte, was zu riesigen Platinengrößen führte.

Mit der fortschreitenden Miniaturisierung der Transistoren wurde es möglich, Tausende oder Zehntausende von Allzweck-Logik-ICs in wenigen LSIs zu realisieren, was die Entwicklung der CPLDs beschleunigte.

3. Der CPLD-Entwicklungsprozess

Der Entwicklungsprozess für CPLDs lässt sich in die folgenden Schritte unterteilen: Logikentwurf, Logiksynthese, Place and Route, Timing-Verifizierung und Programmierung.

  • Logik-Entwurf
    Es handelt sich um einen Schaltungsentwurf unter Verwendung von Hardware-Beschreibungssprachen wie Verilog und VHDL, auch bekannt als RTL-Design.
  • Logik-Synthese
    Diese wandelt eine in einer Hardwarebeschreibungssprache ausgedrückte Schaltung in eine Gatterschaltung (Netzliste) um, die in einem CPLDs implementiert werden kann. Die Schaltungsbeschreibung wird interpretiert und in logische Ausdrücke wie NOT und AND umgewandelt. Zu diesem Zeitpunkt wird auch eine Optimierung durchgeführt, um die Geschwindigkeit der Schaltung zu erhöhen und die Chipfläche zu verringern.

  • Platzierung und Routing
    Hier wird festgelegt, wie der Inhalt der Gatterschaltung (Netzliste) innerhalb des CPLDs angeordnet wird. Die Zeit, die die Ausgänge der kombinatorischen Schaltungsteile benötigen, um sich zu stabilisieren, wird berechnet und angepasst, um sicherzustellen, dass die Ausgangstaktung zwischen den Signalen nicht zu stark abweicht.
  • Verifizierung des Timings
    Definieren Sie Verzögerungszeiten für Elemente innerhalb des CPLDs und simulieren Sie diese.
  • Programmierung
    Auf der Grundlage des endgültigen Entwurfs werden die von den Entwicklungswerkzeugen erzeugten Daten in den CPLDs eingespeist.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です