Was ist der Unterschied zwischen einer CPLD und einem FPGA?
Was ist der Unterschied zwischen einer CPLD und einem FPGA?
Antworten:
CPLDs werden im Allgemeinen nur zum Ersetzen einer relativ kleinen Menge diskreter Logik verwendet. Dinge wie eine Reihe von Adressdecodern und Busschnittstellenschaltungen. CPLDs enthalten sehr wenig Speicher; Im Allgemeinen liegt die Anzahl der Flip-Flops in der gleichen Größenordnung wie die der E / A-Pins (dh eine 32-Makrozellen-CPLD hat ~ 30 Pins und ~ 30 Flip-Flops). Die kombinatorische Logik in einer CPLD ist in einem programmierbaren Logikarray implementiert, was bei sehr hohen Geschwindigkeiten im Allgemeinen nicht nützlich ist. CPLDs sind normalerweise auch Flash-basiert oder verfügen über einen internen Flash-Speicher, was die Anforderungen an das Board-Design vereinfacht und den Schutz vor Reverse Engineering verbessert. CPLDs werden auch nicht mit logischen Prozessen auf dem neuesten Stand der Technik erstellt.
FPGAs sind für sehr leistungsstarke Berechnungen und Schnittstellen mit hoher Bandbreite ausgelegt. Intern verwenden sie eine ganz andere Architektur als CPLDs. FPGAs haben viel mehr internen Status (Register und Block-RAM) als E / A-Pins. Die kombinatorische Logik ist in Hochgeschwindigkeits-Nachschlagetabellen implementiert, die bis zu mehreren hundert MHz laufen können. Die LUTs und andere Komponenten sind mit einem Hochleistungs-Routing-Netzwerk verbunden. FPGAs enthalten auch spezielle Hartkerne, die eine effiziente Implementierung verschiedener Komponenten ermöglichen. Block-RAM und Multiplikatoren / DSP-Slices sind sehr häufig. FPGAs können auch Ethernet-MACs, Festprozessorkerne, PCI-Express-Schnittstellen und andere spezialisierte Blöcke enthalten. Multi-Gigabit-Transciever sind auch ein gemeinsames Merkmal von High-End-FPGAs, die eine Datenübertragung mit bis zu 50 Gbit / s pro Pin-Paar ermöglichen. FPGAs enthalten im Allgemeinen keinen nichtflüchtigen Speicher, sodass zum Laden der Konfiguration ein externer Flash-Speicher erforderlich ist. Die Verschlüsselung kann implementiert werden, um die Entwurfssicherheit mit einem im FPGA gespeicherten batteriegepufferten Schlüssel zu verbessern.
Unterschiede:
Kapazität - CPLD hat normalerweise eine geringere Logikkapazität. Die größte CPLD befindet sich möglicherweise auf einem ähnlichen Niveau wie das kleinste FPGA auf dem Mainstream-Markt.
Speicherung des Images - CPLD kann von selbst booten, während die meisten FPGAs den Konfigurationsbitstrom aus dem nichtflüchtigen Speicher abrufen müssen, da sie auf SRAM basieren. Dies wirkt sich auf die Sicherheit des Systems aus.
Feature - CPLD stellt nur Gates oder Logikzellen zur Verfügung, die alle Arten von Logikalgorithmen ausführen können. Darüber hinaus hat FPGA viele harte Blöcke wie BlockRAM, DSP, TEMAC, PCIe, MGT, Mikroprozessor usw. eingebettet, um einen einzelnen FPGA-Chip zum Aufbau eines integrierten Systems mit vollem Funktionsumfang zu machen.