Was ist der Unterschied zwischen einem CPLD und einem FPGA?
CPLDs werden im Allgemeinen nur zum Ersetzen einer relativ kleinen Menge an diskreter Logik verwendet. Nämlich 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 I/O-Pins (dh ein 32-Makrozellen-CPLD hat ~ 30 Pins und ~ 30 Flip-Flops). Die kombinatorische Logik in einem CPLD wird auf einem programmierbaren Logikarray implementiert, was im Allgemeinen bei sehr hohen Geschwindigkeiten 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 „Bleeding-Edge“-Logikprozessen 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 I/O-Pins. Die kombinatorische Logik wird 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 spezialisierte harte Kerne, die effiziente Implementierungen verschiedener Komponenten bieten. Block-RAM und Multiplikatoren/DSP-Slices sind weit verbreitet. FPGAs können auch Ethernet-MACs, harte Prozessorkerne, PCI-Express-Schnittstellen und andere spezialisierte Blöcke enthalten. Multi-Gigabit-Transceiver 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. Zur Verbesserung der Designsicherheit kann eine Verschlüsselung mit einem im FPGA gespeicherten batteriegestützten Schlüssel implementiert werden.
Unterschiede:
Kapazität – CPLD hat normalerweise weniger Logikkapazität. Das größte CPLD kann auf einem ähnlichen Niveau sein wie das kleinste FPGA auf dem Mainstream-Markt.
Speicherung des Bildes – CPLD kann von selbst booten, während die meisten FPGAs den Konfigurationsbitstrom aus dem nichtflüchtigen Speicher abrufen müssen, da sie SRAM-basiert sind. Dies wirkt sich auf die Sicherheit des Systems aus.
Merkmal - CPLD bietet nur Gatter oder, wie gesagt, Logikzellen, die alle Arten von Logikalgorithmen ausführen können. Darüber hinaus hat FPGA auch viele harte Blöcke wie BlockRAM, DSP, TEMAC, PCIe, MGT, Mikroprozessor usw. eingebettet, um einen einzigen FPGA-Chip zu erstellen, der in der Lage ist, ein integriertes System mit vollem Funktionsumfang aufzubauen.
MarkU
Quark
Leon Heller
Sanjeev Kumar
Leon Heller
ilkkachu