Differenz zwischen CPLD und FPGA

CPLD vs FPGA zu verschwimmen beginnen

CPLDs (Complex Programmable Logic Device) und FPGAs (Field Programmable Gate Array) sind zwei Logikbausteine, die aufgrund der Verbesserungen in der Technologie und der Einführung der eigenen Funktionen auf der anderen Seite zu verschwimmen beginnen. Der Hauptunterschied zwischen FPGAs und CPLDs ist die Komplexität oder die Anzahl der logischen Gatter in jedem. Obwohl die tatsächlichen Zahlen zwischen verschiedenen Modellen stark variieren können, enthalten CPLDs zwischen einigen tausend Gates und Zehntausenden. Im Vergleich dazu haben FPGAs Zehntausende bis einige Millionen. Aufgrund des großen Unterschieds in der Anzahl der Gatter ist es leicht zu sagen, dass Sie mit FPGAs komplexere Logik als mit CPLDs erstellen können.

Ein Hauptvorteil einer extrem hohen Anzahl von Gattern ist die Fähigkeit, High-Level-Funktionen in den Chip eingebettet zu haben. Statt sie selbst zu erstellen, haben einige FPGAs bereits Addierer, Multiplikatoren und viele andere Operatoren für die häufigsten Aufgaben. Der Programmierer kann sich dann auf das eigentliche Ziel des Designs konzentrieren und muss sich nicht um die Implementierung solcher Funktionen kümmern.

Es gibt auch einen großen Unterschied zwischen beiden, wenn es um ihre Architektur geht. FPGAs verwenden LUTs (Look-up-Tabellen), während ein CPLD eine einfachere Summe von Produkten verwendet (auch als Gate of Sea bezeichnet). Die Verwendung von LUTs ist vorteilhaft, da es signifikante Einsparungen in der Verarbeitungszeit ermöglicht, da der Chip nicht den Prozess der Neuberechnung der Produktsumme wie CPLDs durchlaufen muss. LUTs bieten auch eine flexiblere Verbindung zwischen internen FPGA-Modulen als das, was ein CPLD in der Lage ist.

Der letzte große Unterschied zwischen den beiden ist der nichtflüchtige Speicher. LUTs sind eine Form der Erinnerung, die jedoch nicht mehr besteht, sobald die Macht entfernt wurde. CPLDs haben einen nichtflüchtigen Speicher, der in die Chips eingebettet ist, so dass sie sofort ohne externes ROM funktionieren können. CPLDs werden sogar als "Bootloader" für FPGAs verwendet. Wie bereits am Anfang dieses Artikels erwähnt, beginnt die Linie zwischen den Features zu verschwimmen. Um die Notwendigkeit von "Bootloadern" zu eliminieren, haben Hersteller von FPGAs damit begonnen, nichtflüchtigen Speicher in ihre FPGA-Chips einzubetten; Dadurch wird diese Funktion sowohl in CPLDs als auch in einigen FPGAs verfügbar gemacht.

Zusammenfassung:

1. FPGAs sind komplexer als CPLDs.
2. FPGAs haben mehr eingebettete Funktionen auf höherer Ebene als CPLDs.
3. FPGAs verwenden Nachschlagetabellen, während CPLDs eine Summe von Produkten verwenden.
4. CPLDs haben nicht flüchtigen Speicher, während FPGAs nicht.