banner

Nachricht

Oct 23, 2023

CPLD (Complex Programmable Logic Device): erklärt

Von

Veröffentlicht

CPLD (Complex Programmable Logic Device) besteht aus programmierbaren Verbindungsmatrixeinheiten um die Mitte herum, deren LMC-Logikstruktur komplexer ist, und verfügt über eine komplexe Verbindungsstruktur der E/A-Einheiten. Spezielle Schaltungsstrukturen können vom Benutzer entsprechend seinen Anforderungen generiert werden, um bestimmte Funktionen auszuführen. Da innerhalb des CPLD Metallleitungen fester Länge verwendet werden, um jeden Logikblock miteinander zu verbinden, ist die entworfene Logikschaltung zeitlich vorhersagbar, wodurch der Mangel einer unvollständigen Zeitvorhersage der segmentierten Verbindungsstruktur vermieden wird. In den 1990er Jahren entwickelten sich CPLDs schneller, nicht nur mit den Eigenschaften der elektrischen Löschung, sondern auch mit erweiterten Funktionen wie Kantenabtastung und Online-Programmierbarkeit. Die am häufigsten verwendeten CPLDs von Xilinx und CPLDs von Altera.

CPLD-Entwicklungsgeschichte

In den 1970er Jahren wurde das erste programmierbare Logikgerät – PLD – geboren. Seine Ausgabestruktur ist eine programmierbare Logik-Makroeinheit, da sein Hardware-Strukturdesign durch Software vervollständigt werden kann (entspricht dem manuellen Design einer lokalen Innenstruktur nach dem Bau des Hauses), sodass sein Design flexibler ist als reine Hardware-Digitalschaltungen, deren übermäßiges Design jedoch flexibler ist Durch den einfachen Aufbau können auch nur kleinere Schaltungen realisiert werden. Um den Mangel auszugleichen, dass PLD nur kleine Schaltungen entwerfen kann, wurde Mitte der 1980er Jahre ein komplexes programmierbares Logikgerät (CPLD) eingeführt. Derzeit wurde die Anwendung auf Netzwerke, Instrumentierung, Automobilelektronik, CNC-Werkzeugmaschinen, Luft- und Raumfahrtmessung, Steuergeräte usw. ausgeweitet.

CPLD-Grundstruktur

CPLD ist die Abkürzung für Complex Programmable Logic Devices und FPGA ist die Abkürzung für Field Programmable Gate Array. Die Funktionen der beiden sind grundsätzlich gleich, und die Programmierung und andere Prozesse sind grundsätzlich gleich (die Programmierdateien sind unterschiedlich, werden aber automatisch von der Software generiert), aber das interne Implementierungsprinzip und die Struktur des Chips unterscheiden sich geringfügig .

Programmierbare Logikeinheit

Die Funktion ist dieselbe wie beim grundlegenden E/A-Port von FPGA, der Anwendungsbereich von CPLD ist jedoch relativ begrenzt, die Leistung und Komplexität von E/A unterscheiden sich von denen von FPGA und die unterstützten E/A-Standards sind geringer und die Frequenz ist niedriger.

Grundlegende Logikeinheit

Die grundlegende Logikeinheit in CPLD ist die Makroeinheit. Die sogenannte Makrozelle besteht aus einigen AND oder Arrays plus Flip-Flops, wobei das „AND-OR“-Array die kombinatorische Logikfunktion vervollständigt und die Flip-Flops zur Vervollständigung der sequentiellen Logik verwendet werden. Ein weiteres wichtiges Konzept im Zusammenhang mit der grundlegenden Logikeinheit von CPLD ist der Produktterm. Der sogenannte Produktterm ist die Ausgabe des AND-Arrays in der Makrozelle und seine Nummer gibt die CPLD-Kapazität an. Das Produktterm-Array ist eigentlich ein „AND-OR“-Array. Jeder Schnittpunkt ist eine programmierbare Sicherung. Wenn es eingeschaltet ist, implementiert es die „AND“-Logik. Normalerweise gibt es nach dem „AND“-Array ein „OR“-Array, das zum Vervollständigen der „Oder“-Beziehung im kleinsten logischen Ausdruck verwendet wird.

Routing-Pool, Routing-Matrix

Die Verkabelungsressourcen bei CPLD sind viel einfacher als bei FPGA und die Verkabelungsressourcen sind relativ begrenzt. Im Allgemeinen wird eine zentralisierte Verkabelungspoolstruktur verwendet. Der sogenannte Verkabelungspool ist im Wesentlichen eine Schaltmatrix, und die Verbindung zwischen den Eingangs- und Ausgangselementen verschiedener Makrozellen kann durch die Verknüpfung von Knoten hergestellt werden. Aufgrund des Mangels an Verbindungsressourcen innerhalb des CPLD-Geräts kann es in manchen Fällen beim Routing des Geräts zu Schwierigkeiten kommen. Da die Verdrahtungspoolstruktur von CPLD fest ist, ist die Verzögerung vom Eingangspin zum Ausgangspin von CPLD fest, was als Pin-zu-Pin-Verzögerung bezeichnet wird und als Tpd ausgedrückt wird. Die TPD-Verzögerung spiegelt die höchste Frequenz wider, die CPLD-Geräte erreichen können, und zeigt außerdem deutlich den Geschwindigkeitsgrad des CPLD-Geräts an.

Beispiele für die CPLD-Grundstruktur

EPM7128S-Gerät

(1) Grundstruktur des EPM7128S-Geräts

Das EPM7128S-Gerät besteht hauptsächlich aus dem Logik-Array-Block LAB, einer Makrozelle, einem I/O-Steuerblock und einem programmierbaren Verbindungs-Array PIA.

In einer Multi-Array-Matrixstruktur verfügt jede Makrozelle über ein programmierbares UND-Array und ein festes ODER-Array sowie ein konfigurierbares Flip-Flop mit einem unabhängig programmierbaren Takt. Der Takt ermöglicht Lösch- und Einstellfunktionen. Jeweils 16 Makrozellen bilden eine Gruppe, um ein flexibles Logik-Array-Modul LAB zu bilden. Mehrere LABs sind über ein programmierbares Verbindungsarray PIA mit einem globalen Bus verbunden. Jedes LAB ist außerdem mit dem entsprechenden I/O-Steuerblock verbunden, um direkte Ein- und Ausgangskanäle bereitzustellen.

(2) EPM7128S-Makrozellenstruktur

Jede Makrozelle des EPM7128S kann individuell konfiguriert werden, um in kombinatorischer Logik oder sequentieller Logik zu arbeiten. Eine Makrozelle besteht hauptsächlich aus dem Logikarray, der Produktelementauswahlmatrix und dem programmierbaren Register. Programmierbare Register können so programmiert werden, dass sie je nach Logikbedarf umgangen werden, um kombinatorische Logik zu realisieren. Wenn es als Register verwendet wird, wählt die entsprechende Entwicklungssoftware für programmierbare Logikgeräte einen effektiven Registerarbeitsmodus entsprechend den Anforderungen der Entwurfslogik aus, um die im Entwurf verwendeten Geräteressourcen zu minimieren.

XCR3064XL-Gerät

(1) XCR3064XL-Gerätestruktur

Die Makrozellenstruktur des XCR3064XL-Geräts besteht aus Funktionsblöcken und I/O-Einheiten, die durch ein stromloses Verbindungsarray verbunden sind, und jeder Logikblock enthält 16 Makrozellen.

CPLD-Architekturdiagramm

Nehmen Sie hier als Beispiel Xilinx CoolRunner-II. Die folgende Abbildung ist dieCPLD-ArchitekturDiagramm von Xilinx CoolRunner-II.

Jetzt erklärt Easybom den Inhalt des obigen Bildes für Sie.

1. Dieses CPLD verfügt über einige Funktionsblöcke, beginnend von „Funktionsblock 1“ bis „Funktionsblock n“ (im Fall von CoolRunner-II CPLD liegt dieser Nummerierungsbereich zwischen 2 und 32).

2. 16 Ausgangsleitungen von jedem Funktionsblock gehen in die AIM (Advanced Interconnect Matrix), während 40 Signalleitungen vom AIM in den Funktionsblock eingegeben werden.

3. Jeder Funktionsblock verfügt über 16 Makrozellen (MC1 bis MC16).

4. Jede MacroCell kann auf 16 Signale vom I/O-Block zugreifen.

5. Die Struktur der MacroCell ist unten dargestellt. Jede Makrozelle enthält eine Produktsumme aus Flip-Flops und PLA-Arrays, mit denen Benutzer kombinatorische oder sequentielle Logik erstellen können. Die maximale Anzahl der in CoolRunner-II CLPD (XC2C512) verfügbaren Trigger beträgt also 512! (Merken Sie sich diese Zahl, wir vergleichen sie mit der Anzahl der Flip-Flops im FPGA)

6. Das AIM kann so programmiert werden, dass es Signale nach Bedarf miteinander verbindet. Aber wie wir im zweiten Aufzählungspunkt oben gesehen haben, ist die Anzahl der Signale pro Funktionsblock begrenzt.

Wie PLA (Programmable Logic Array) wird die Logikfunktion von CPLD in jeder Makrozelle elektrisch über die System Programming (ISP)-Schnittstelle auf JTAG programmiert. Einmal programmiert, bleiben diese Flash-basierten Verbindungen über Jahre hinweg gleich. Dies gibt CPLDs den einzigartigen Vorteil der „Instant-on“-Arbeit. Das heißt, das CPLD beginnt zu arbeiten, sobald es eingeschaltet wird, da das Programm über den ISP-Flash-Speicher eingebrannt wird.

Zusammenfassend können wir sagen, dass es in einem CPLD mehrere hundert Funktionsblöcke (oder Logikblöcke) gibt, normalerweise weniger als 1000, auf die über eine einzige große Logikzellenverbindung zugegriffen werden kann.

Wie verwende ich CPLD?

CPLD ist ein digitaler integrierter Schaltkreis, in dem Benutzer Logikfunktionen nach ihren eigenen Bedürfnissen konstruieren. Die grundlegende Entwurfsmethode besteht darin, die integrierte Entwicklungssoftwareplattform zu verwenden, um mithilfe eines Schaltplans, einer Hardwarebeschreibungssprache usw. die entsprechende Zieldatei zu generieren und den Code über das Download-Kabel („in-system“) auf den Zielchip zu übertragen. Programmierung), um das entworfene digitale System zu realisieren.

Nehmen Sie hier den Antwortenden als Beispiel, um über seinen Design-(Dekoration-)Prozess, also den Designprozess des Chips, zu sprechen. Der Großteil der Arbeit von CPLD wird am Computer erledigt. Öffnen Sie die integrierte Entwicklungssoftware (Max+pluxII von Altera Corporation) → zeichnen Sie das schematische Diagramm, schreiben Sie die Hardwarebeschreibungssprache (VHDL, Verilog) → kompilieren → geben Sie das Eingangsanregungssignal der Logikschaltung ein, führen Sie die Simulation durch und prüfen Sie, ob die Das Ergebnis des Logikausgangs ist korrekt → Führen Sie die Pin-Eingangs- und Ausgangssperre durch (64 Eingangs- und Ausgangspins von 7128 können nach Bedarf eingestellt werden) → Code generieren → Übertragen und speichern Sie den Code im CPLD-Chip über das Download-Kabel. Die Pins des 7128-Chips wurden herausgezogen. Verbinden Sie die digitale Röhre, den Antwortschalter, die Anzeigelampe und den Summer über Drähte mit der Spanplatte und testen Sie die Stromversorgung. Wenn der Antwortschalter gedrückt wird, sollte die entsprechende Anzeigelampe leuchten und die Antwort korrekt sein. Überprüfen Sie in Zukunft, nachdem der Schiedsrichter Punkte hinzugefügt hat, ob das Ergebnis der digitalen Anzeige korrekt ist. Wenn ein Problem auftritt, können Sie das Schaltplandiagramm oder die Hardwarebeschreibungssprache erneut überarbeiten, um das Design zu verbessern. Nachdem das Design abgeschlossen ist, beispielsweise in der Massenproduktion, können andere CPLD-Chips direkt kopiert werden, dh der Code kann geschrieben werden. Wenn Sie andere Chips entwerfen möchten, z. B. das Ampeldesign, müssen Sie den Schaltplan neu zeichnen oder eine Hardwarebeschreibungssprache schreiben, den obigen Arbeitsprozess wiederholen und den Entwurf abschließen. Diese Art von Modifikationsentwurf entspricht einer Renovierung des Hauses, und diese Art der Dekoration kann für CPLD Zehntausende Male durchgeführt werden.

Unterschiede zwischen CPLD und FPGA

1. Einführung in FPGA

FPGA (Field-Programmable Gate Array) ist das Produkt einer Weiterentwicklung auf Basis von PAL, GAL, CPLD und anderen programmierbaren Geräten. Es entstand als semi-kundenspezifische Schaltung im Bereich der anwendungsspezifischen integrierten Schaltkreise (ASIC), die nicht nur die Mängel der kundenspezifischen Schaltung behebt, sondern auch die Mängel der begrenzten Anzahl von Gate-Schaltungen des ursprünglichen programmierbaren Geräts überwindet.

FPGA-Funktionen

1) Durch die Verwendung von FPGA zum Entwurf einer ASIC-Schaltung (anwendungsspezifischer integrierter Schaltkreis) können Benutzer geeignete Chips ohne Filmproduktion erhalten.

2) FPGA ist eines der Geräte mit dem kürzesten Designzyklus, den niedrigsten Entwicklungskosten und dem geringsten Risiko in ASIC-Schaltkreisen.

3) FPGA verwendet einen Hochgeschwindigkeits-CMOS-Prozess mit geringem Stromverbrauch und ist mit CMOS- und TTL-Ebenen kompatibel.

Der FPGA wird durch das im On-Chip-RAM gespeicherte Programm so eingerichtet, dass er seinen Arbeitszustand einstellt. Daher muss der On-Chip-RAM während des Betriebs programmiert werden. Benutzer können je nach Konfigurationsmodus unterschiedliche Programmiermethoden verwenden.

2. Einführung in CPLD

CPLD (Complex Programmable Logic Device) besteht aus programmierbaren Verbindungsmatrixeinheiten um die Mitte herum, deren LMC-Logikstruktur komplexer ist, und verfügt über eine komplexe Verbindungsstruktur der E/A-Einheiten. Spezielle Schaltungsstrukturen können vom Benutzer entsprechend seinen Anforderungen generiert werden, um bestimmte Funktionen auszuführen. Da innerhalb des CPLD Metallleitungen fester Länge verwendet werden, um jeden Logikblock miteinander zu verbinden, ist die entworfene Logikschaltung zeitlich vorhersagbar, wodurch der Mangel einer unvollständigen Zeitvorhersage der segmentierten Verbindungsstruktur vermieden wird. In den 1990er Jahren entwickelten sich CPLDs schneller, nicht nur mit den Eigenschaften der elektrischen Löschung, sondern auch mit erweiterten Funktionen wie Kantenabtastung und Online-Programmierbarkeit.Xilinx CPLDsUndAndere CPLDswerden häufig verwendet.

CPLD-Funktionen

Es zeichnet sich durch flexible Programmierung, hohe Integration, kurze Design- und Entwicklungszyklen, ein breites Anwendungsspektrum, fortschrittliche Entwicklungstools, niedrige Design- und Herstellungskosten, geringe Anforderungen an die Hardware-Erfahrung der Designer, keine Notwendigkeit zum Testen von Standardprodukten und starke Vertraulichkeit aus beliebte Preise. Es kann ein Schaltungsdesign in großem Maßstab erreicht werden, weshalb es häufig im Produkt-Prototyping und in der Produktherstellung eingesetzt wird (im Allgemeinen weniger als 10.000 Stück). CPLD-Geräte können in fast allen Anwendungen kleiner und mittlerer allgemeiner digitaler integrierter Schaltkreise eingesetzt werden. CPLD-Geräte sind zu einem unverzichtbaren Bestandteil elektronischer Produkte geworden, und ihr Design und ihre Anwendung sind zu einer notwendigen Fähigkeit für Elektronikingenieure geworden.

3. Die Unterschiede zwischen FPGA und CPLD

CPLD vs. FPGA

1. CPLD eignet sich besser zum Vervollständigen verschiedener Algorithmen und kombinatorischer Logik, und FPGA eignet sich besser zum Vervollständigen sequentieller Logik. Mit anderen Worten: FPGAs eignen sich besser für Strukturen mit vielen Flipflops, während CPLDs eher für Strukturen mit vielen Flipflops und mit vielen Produkten geeignet sind.

2. Die kontinuierliche Verdrahtungsstruktur von CPLD bestimmt, dass seine Zeitverzögerung gleichmäßig und vorhersehbar ist, während die segmentierte Verdrahtungsstruktur von FPGA die Unvorhersehbarkeit seiner Verzögerung bestimmt.

3. FPGA bietet eine größere Flexibilität als CPLD bei der Programmierung. CPLDs werden durch Modifizieren der Logikfunktion mit fest verbundenen Schaltkreisen programmiert, während FPGAs hauptsächlich durch Ändern der Verdrahtung der Verbindungen programmiert werden; FPGAs können unter Logikgattern programmiert werden, während CPLDs unter Logikblöcken programmiert werden.

4. Der Integrationsgrad von FPGA ist höher als der von CPLD und weist eine komplexere Verdrahtungsstruktur und Logikimplementierung auf.

5. CPLD ist bequemer zu verwenden als FPGA. Die Programmierung von CPLD übernimmt die E2PROM- oder FAST FLASH-Technologie, es ist kein externer Speicherchip erforderlich und es ist einfach zu verwenden. Die Programmierinformationen des FPGA müssen im externen Speicher gespeichert werden und die Verwendungsmethode ist kompliziert.

6. CPLD ist schneller als FPGA und bietet eine bessere Zeitvorhersagbarkeit. Dies liegt daran, dass es sich bei FPGA um eine Programmierung auf Gatterebene handelt und eine verteilte Verbindung zwischen CLBs verwendet wird, während es sich bei CPLD um eine Programmierung auf Logikblockebene handelt und die Verbindung zwischen seinen Logikblöcken konzentriert ist.

7. Bei der Programmiermethode basiert CPLD hauptsächlich auf der E2PROM- oder FLASH-Speicherprogrammierung, und die Programmierzeit kann das 10.000-fache erreichen. Der Vorteil besteht darin, dass die Programmierinformationen beim Ausschalten des Systems nicht verloren gehen. CPLD kann in zwei Kategorien unterteilt werden: Programmierung auf dem Programmiergerät und Programmierung im System. Die meisten FPGAs basieren auf der SRAM-Programmierung und die Programmierinformationen gehen verloren, wenn das System ausgeschaltet wird. Bei jedem Einschalten des Systems müssen die Programmierdaten von außerhalb des Geräts neu in den SRAM geschrieben werden. Der Vorteil besteht darin, dass es beliebig oft programmiert werden kann und schnell im laufenden Betrieb programmiert werden kann, was eine dynamische Konfiguration auf Board- und Systemebene ermöglicht.

8. CPLD weist eine gute Vertraulichkeit auf, während FPGA eine schlechte Vertraulichkeit aufweist.

9. Unter normalen Umständen ist der Stromverbrauch von CPLD größer als der von FPGA. Je höher die Integration, desto offensichtlicher ist dies.

Da die Dichte komplexer programmierbarer Logikgeräte (CPLDs) zunimmt, verfügen Designer digitaler Geräte über die Flexibilität und Einfachheit groß angelegter Designs, und Produkte können schnell auf den Markt kommen. Viele Entwickler haben festgestellt, dass CPLDs die Vorteile einer einfachen Verwendung, eines vorhersehbaren Timings und einer hohen Geschwindigkeit bieten. In der Vergangenheit mussten sie jedoch aufgrund der Einschränkungen der CPLD-Dichte auf FPGAs und ASICs zurückgreifen. Designer können jetzt die Vorteile von CPLDs mit Dichten von bis zu Hunderttausenden Gates nutzen.

MedienkontaktName der Firma:EASYBOM, INC.Ansprechpartner:Jack SmithEmail:E-Mail sendenTelefon:(718) 737-2822Adresse:506 2nd Ave STE 1600Stadt:SeattleZustand:WashingtonLand:Vereinigte StaatenWebseite:https://www.easybom.com/

Diese Autoren generieren gute, verkaufsfähige Inhalte. Was zum Teufel ist das Problem?

Künstliche Intelligenz hat sich beim Lesen medizinischer Bildgebung als nützlich erwiesen und sogar gezeigt, dass sie die ärztliche Approbationsprüfung bestehen kann.

Rauch und Dunst von über 400 wütenden Waldbränden in Kanada bedecken den Osten Kanadas und die Ostküste der USA.

Vorsicht vor der Maschine? Mit KI-Modellen kann man nicht argumentieren und sie haben auch keine Gefühle oder Empathie, die Menschen haben.

CPLD-Entwicklungsgeschichte CPLD-Grundstruktur Programmierbare Logikeinheit Grundlegende Logikeinheit Routing-Pool, Routing-Matrix CPLD-Grundstrukturbeispiele CPLD-Architektur Wie verwende ich CPLD? Unterschiede zwischen CPLD und FPGA Xilinx CPLDs Altera CPLDs CPLD vs. FPGA Firmenname: Kontaktperson: E-Mail: Telefon: Adresse: Stadt: Bundesstaat: Land: Website:
AKTIE