CPLD-Tutorials für Anfänger
September 11 2023
Anfrage
Globaler Lieferant elektronischer Komponenten AMPHEO PTY LTD: Umfangreiches Inventar für One-Stop-Shopping. Einfache Anfragen, schnelle, individuelle Lösungen und Angebote.
SCHNELLE ANFRAGE
ZUR RFQ-LISTE HINZUFÜGEN
In diesem Tutorial lernen wir die Grundlagen von CPLDs und der darin enthaltenen CMOS-Technologie kennen. Wir werden uns auch die Funktionen und Anwendungen von CPLD ansehen.
Was ist CPLD?
Komplexe programmierbare Logikbausteine (CPLDs) sind eine Art von integrierten Schaltkreisen, die Anwendungsentwickler erstellen, um digitale Hardware wie Mobiltelefone einzusetzen. Diese bieten weniger Logik als FPGAs (Field Programmable Gate Arrays), können aber Designs mit höherer Komplexität verarbeiten als SPLDs (Simple Programmable Logic Devices). Jeder der mehreren Logikblöcke von CPLDs enthält 8–16 Makrozellen. Alle Makrozellen in einem Logikblock sind vollständig verbunden, da jeder Logikblock eine bestimmte Funktion erfüllt. Diese Blöcke können je nach Verwendungszweck miteinander verbunden sein oder nicht.CPLD-Komponenten
- Programmierbares Logikarray (PLA): Der Begriff „programmierbares Logikarray“ (PLA) bezieht sich auf eine Matrix aus UND- und ODER-Gattern, die so programmiert werden können, dass sie jede beliebige logische Operation ausführen.
- Makrozellen: Makrozellen sind Logikbausteine, die vorkonfiguriert geliefert werden und zum Erstellen von Standardoperationen wie Flipflops, Zählern und Registern verwendet werden können.
Mikrochip-CPLD-Architektur
Eine Sammlung programmierbarer Funktionsblöcke (FBs) bildet ein kompliziertes programmierbares Logikgerät. Eine GIM (Global Interconnection Matrix) verbindet die Ein- und Ausgänge verschiedener Funktionskomponenten. Die Kontakte zwischen den Funktionsblöcken können dank der veränderlichen Natur dieser Konnektivitätsmatrix geändert werden. Einige Eingabe- und Ausgabeblöcke ermöglichen es uns, das CPLD mit der Außenwelt zu verbinden. Die Architektur des CPLD ist unten dargestellt. Im Allgemeinen ähnelt ein programmierbarer FB einer Reihe von Logikgattern, wobei eine Reihe von While-Gattern geändert werden kann, während OR-Gatter zuverlässig sind. Zur Entwicklung des Funktionsblocks verwendet jedoch jeder Hersteller einen anderen Ansatz. Durch die Bedienung der Rückkopplungssignale, die von den Ausgängen der OR-Gatter erhalten werden, wird ein aufgelisteter Ausgang angezeigt. Nachdem der Code simuliert und synthetisiert wurde, wird das Design zunächst in der Sprache Verilog oder VHDL in CPLD-Programmierung programmiert. Das CPLD-Modell (Zielgerät) wird während der Synthese manuell ausgewählt und eine technologiebasierte Mapping-Netzliste erstellt. Mithilfe eines Place-and-Route-Verfahrens, das normalerweise mit der Place-and-Route-Software der proprietären CPLD-Firma durchgeführt wird, kann diese Liste eng an das tatsächliche CPLD-Design angepasst werden. Der Bediener führt dann einige Bestätigungsverfahren durch. Er verwendet das CPLD, wenn alles in Ordnung ist; andernfalls organisiert er alles neu.CPLD-Funktionen
- Da CPLDs eine vergleichsweise große Anzahl von Gates haben, ist es möglich, Geräte und Algorithmen zu implementieren, die komplizierter sind. Im Gegensatz zu Während PALs typischerweise einige Hundert bis über Zehntausend Gatter haben, haben CPLDs Tausende bis über Zehntausend Gatter.
- Die CPLD-Logik ist aufgrund spezieller Logikfunktionen und kompliziert gekoppelter Rückkopplungswege zwischen den Makrozellen vielseitiger und anpassbarer als andere Logiktypen.
- Nach dem Hochfahren des Computers kann CPLD ohne externen Konfigurationsspeicher ausgeführt werden. Es gehört zur Kategorie der nichtflüchtigen Konfigurationsspeicher.
- Sie verwenden EEPROM (Electrically Erasable Programmable Read-Only Memory).
- Sie müssen sich keine Sorgen über unvorhergesehene Verzögerungen oder Speicherverlust machen, da die nichtflüchtige und nicht ROM-basierte Konfiguration der CPLDs beides übernimmt. Auch nach dem Ausschalten behält die Schaltung den Speicher.
- Darüber hinaus sind CPLDs kostengünstig und einfach neu programmierbar, was Ihre Gesamtpreise und -ausgaben senkt und gleichzeitig die Zeit verkürzt, die Ihre Produkte benötigen, um auf den Markt zu kommen.
- CPLDs passen dank ihres integrativen und unkomplizierten Charakters perfekt in die meisten Designprozesse und Architekturen und bereiten kaum Schwierigkeiten hinsichtlich Integration und Designänderungen.
- Sie erfordern wenig Wartung und sind daher langfristig eine sinnvolle Investition.
- CPLDs sind aufgrund ihrer nichtflüchtigen Natur eine deutlich sicherere Alternative, was es nahezu unmöglich macht, das gespeicherte Design zu stehlen. Obwohl der Benutzer Verschlüsselungsmaßnahmen einsetzen kann, um dieser Sicherheitsgefahr entgegenzuwirken, besteht im externen Speicher der FPGA-Geräte die Möglichkeit, die IP offenzulegen.
- Weil sie weniger Verbindungen als FPGAs haben, sind CPLDs wesentlich besser für deterministische Zeitanalysen geeignet.
Wofür werden CPLDs verwendet?
CPLDs werden in einer Vielzahl von Anwendungen verwendet, darunter:- Adressdecoder: Basierend auf dem Adressbus werden Adressdecoder verwendet, um den richtigen Speicherplatz oder das richtige Peripheriegerät auszuwählen. Sie können mit CPLDs implementiert werden.
- Protokollcontroller: Mit CPLDs können Protokollcontroller erstellt werden, die zur Regelung der Kommunikation zwischen Geräten bei Verwendung eines bestimmten Kommunikationsprotokolls dienen.
- Verkehrsmanagementfunktionen: Die Implementierung von Verkehrsmanagementfunktionen in Netzwerken und Routern, wie z. B. Warteschlangen und Zeitplanung, kann mit CPLDs erfolgen.
- Zustandsmaschinen: Zustandsmaschinen werden zur Regelung der Reihenfolge von Vorgängen in einem System verwendet und können mit CPLDs implementiert werden.
- Arithmetisch-logische Einheiten (ALUs): ALUs werden verwendet, um Rechenoperationen wie Addition, Subtraktion, Multiplikation und Division durchzuführen. Sie können mit CPLDs implementiert werden.
- Kommunikationsschnittstellen: Um die Gerätekommunikation zu ermöglichen, können CPLDs verwendet werden, um Kommunikationsschnittstellen wie serielle und parallele Schnittstellen zu konstruieren.
- Videoverarbeitung: Skalierung, Filterung und Farbkorrektur sind einige Beispiele für Videoverarbeitungsaufgaben, die mit CPLDs durchgeführt werden können.
- Audioverarbeitung: Die Implementierung von Audioverarbeitungsfunktionen wie Entzerrung, Komprimierung und Filterung kann mit CPLDs erfolgen.
- Steuerfunktionen: Die Implementierung von Steuerfunktionen wie Motorsteuerung und Temperaturregelung kann mit CPLDs erfolgen.
- Antiblockiersysteme (ABS): Um ein Blockieren der Räder zu verhindern, werden in ABS-Systemen CPLDs eingesetzt, um die Geschwindigkeit jedes Rads zu verfolgen und auf jedes Rad separat Bremsdruck auszuüben.
- Airbag-Steuersysteme: Um eine Kollision schnell zu erkennen und die Airbags auszulösen, werden in Airbag-Steuersystemen CPLDs eingesetzt.
- Herzschrittmacher: In Herzschrittmachern werden CPLDs verwendet, um die Herzfrequenz zu überwachen und elektrische Impulse abzugeben, die das Herz zu einem regelmäßigen Schlag anregen.
- MRT-Geräte: In MRT-Geräten werden CPLDs verwendet, um die Bilder zu erzeugen und das Magnetfeld zu steuern.
- Oszilloskope: In Oszilloskopen werden CPLDs verwendet, um das Eingangssignal zu digitalisieren und die Anzeige auf dem Bildschirm zu erzeugen.
- Logikanalysatoren: CPLDs werden in Logikanalysatoren eingesetzt, um digitale Signale aufzuzeichnen und zu untersuchen.
CMOS-Technologie in CPLD
Bei der Herstellung von CPLDs wird häufig die CMOS-Technologie verwendet. Komplementäre Metalloxidhalbleiter oder CMOS sind eine Art Halbleitertechnologie, die zum Aufbau logischer Schaltkreise mit p-Typ- und n-Typ-Transistoren verwendet wird. Die Verbindungsstruktur und die programmierbaren Logikelemente (PLEs) von CPLDs werden mithilfe der CMOS-Technologie implementiert. Die grundlegenden Logikbausteine, die ein CPLD zur Implementierung seiner digitalen Logikfunktionen verwendet, werden als PLEs bezeichnet. Das als Interconnect Fabric bezeichnete Drahtnetzwerk verbindet die PLEs, um die erforderliche Logikschaltung zu erstellen. Leistung, Stromverbrauch und Kosteneffizienz von CPLDs haben sich aufgrund von Fortschritten in der in CPLDs verwendeten CMOS-Technologie verbessert. Um beispielsweise eine hohe Leistung und einen geringen Stromverbrauch zu erreichen, verwenden aktuelle CPLDs anspruchsvolle CMOS-Techniken, darunter Submikron-CMOS und FinFET-CMOS. Hier sind einige konkrete Beispiele für die Verwendung der CMOS-Technologie in CPLDs:- PLEs: CMOS-Transistoren werden häufig verwendet, um PLEs in CPLDs zu implementieren. Da sie so eingerichtet werden können, dass sie eine breite Palette von Logikoperationen implementieren, sind CMOS-Transistoren eine gute Wahl für diese Anwendung.
- Verbindungsstruktur: In CPLDs werden häufig CMOS-Multiplexer und Pass-Gates verwendet, um die Verbindungsstruktur zu implementieren. Da sie flexible und effektive Verbindungen zwischen den PLEs ermöglichen, sind CMOS-Multiplexer und Pass-Gates ideal für diese Funktion.
- Konfigurationsspeicher: In CPLDs werden häufig CMOS-EEPROM-Zellen verwendet, um den Konfigurationsspeicher zu implementieren. Da sie nichtflüchtig und vielseitig sind, sind CMOS-EEPROM-Zellen eine ausgezeichnete Wahl für diese Funktion.
- CPLDs werden größtenteils durch CMOS-Technologie ermöglicht. Die Implementierung von CPLDs wird am besten durch die CMOS-Technologie erreicht, da diese einen geringen Stromverbrauch, eine hohe Geschwindigkeit, Skalierbarkeit und Erschwinglichkeit aufweist.
Wie fange ich mit CPLDs an?
Die folgenden Dinge benötigen Sie, wenn Sie CPLDs verwenden möchten:- Eine Entwicklungsplatine für CPLDs
- Ein Kabel zum Programmieren von CPLDs
- CPLD-Programmiersoftware
Video zum Thema „So programmieren Sie ein CPLD“
CPLDs vs. FPGAs
FPGAs haben in den letzten Jahren als Designtool für programmierbare digitale Systeme ein enormes Wachstum erlebt. Zwischen CPLD und FPGA gibt es viele Parallelen, aber auch viele Unterschiede. Beide programmierbaren Logikgeräte bestehen aus Logikgatter-Arrays, womit die Gemeinsamkeiten enden. Mit HDLs wie Verilog HDL oder VHDL sind beide Geräte codiert. Die Anzahl der Gatter ist der größte Unterschied zwischen CPLD und FPGA. Ein CPLD besteht aus einigen Tausend Logikgattern, aber in einem FPGA finden sich Millionen von Gattern. Folglich können mit FPGAs komplizierte Schaltkreise und Systeme konstruiert werden. Der Nachteil dieser Komplexität ist ein höherer Preis. Daher sind CPLDs für einfachere Anwendungen besser geeignet. Ein weiterer wesentlicher Unterschied zwischen diesen beiden Geräten besteht darin, dass CPLDs einen nichtflüchtigen EEPROM (elektrisch löschbarer programmierbarer Direktzugriffsspeicher) eingebaut haben, während FPGAs einen flüchtigen Speicher haben. Daher kann ein CPLD im Gegensatz zu einem FPGA seinen Inhalt auch nach dem Ausschalten behalten. Dank des eingebauten nichtflüchtigen Speichers kann ein CPLD auch sofort nach dem Einschalten funktionieren. Andererseits benötigen die meisten FPGAs zum Starten einen Bitstream aus einem externen nichtflüchtigen Speicher. Aufgrund ihrer extrem komplizierten Architektur und benutzerspezifischen Programmierung weisen FPGAs unvorhersehbare Signalverarbeitungsverzögerungen in Bezug auf die Leistung auf. Die vereinfachte Architektur von CPLDs führt zu einer wesentlich geringeren Pin-zu-Pin-Verzögerung. Beim Entwurf eingebetteter Echtzeit- und sicherheitskritischer Anwendungen ist die Signalverarbeitungslatenz ein entscheidender Faktor, der berücksichtigt werden muss. Einige FPGAs verbrauchen aufgrund höherer Betriebsfrequenzen und komplizierterer Logikoperationen möglicherweise mehr Strom als CPLDs. Daher ist das Temperaturmanagement beim Entwurf von Systemen mit FPGAs von entscheidender Bedeutung. Aus diesem Grund verwenden FPGA-basierte Systeme häufig Kühlkörper und Lüfter und benötigen außerdem größere, komplexere Stromversorgungen und Verteilungsnetze. Da der Speicher in den Chip selbst integriert ist, sind CPLDs aus Sicht der Informationssicherheit sicherer. Im Gegensatz dazu erfordert die Mehrheit der FPGAs externen nichtflüchtigen Speicher, was ein Risiko für die Datensicherheit darstellt. FPGAs enthalten Datenverschlüsselungstechniken, aber CPLDs sind grundsätzlich sicherer als FPGAs.Fazit
CPLDs sind ein leistungsstarkes und anpassungsfähiges Werkzeug zum Entwerfen digitaler Logik. Sie können mit der Erstellung Ihrer eigenen digitalen Schaltkreise beginnen und das Programmieren von CPLDs erlernen, indem Sie die Ratschläge und Ressourcen in diesem Blog zu Rate ziehen.Populer Posts