Quelle est la différence entre un CPLD et un FPGA?
Quelle est la différence entre un CPLD et un FPGA?
Réponses:
Les CPLD ne sont généralement utilisés que pour remplacer une quantité relativement faible de logique discrète. À savoir, des choses comme un tas de décodeurs d'adresses et de circuits d'interface de bus. Les CPLD contiennent très peu de mémoire; en général, le nombre de bascules est du même ordre de grandeur que les broches d'E / S (c'est-à-dire qu'un CPLD à 32 macrocellules a ~ 30 broches et ~ 30 bascules). La logique combinatoire dans un CPLD est implémentée sur une matrice logique programmable, ce qui n'est généralement pas utile à des vitesses très élevées. Les CPLD sont également généralement basés sur le flash ou ont une mémoire flash interne, simplifiant les exigences de conception de la carte et améliorant la protection contre l'ingénierie inverse. Les CPLD ne sont pas non plus construits avec des processus logiques «de pointe».
Les FPGA sont conçus pour des calculs à très hautes performances et une interface à large bande passante. En interne, ils utilisent une architecture très différente de celle des CPLD. Les FPGA ont beaucoup plus d'état interne (registres et RAM de bloc) que de broches d'E / S. La logique combinatoire est implémentée sur des tables de recherche à grande vitesse pouvant aller jusqu'à plusieurs centaines de MHz. Les LUT et autres composants sont interconnectés avec un réseau de routage hautes performances. Les FPGA contiennent également des cœurs durs spécialisés qui fournissent des implémentations efficaces de divers composants. Les blocs RAM et multiplicateurs / tranches DSP sont très courants. Les FPGA peuvent également contenir des MAC Ethernet, des cœurs de processeur dur, des interfaces PCI express et d'autres blocs spécialisés. Les émetteurs-récepteurs multi-gigabits sont également une caractéristique commune des FPGA haut de gamme qui permettent le transfert de données jusqu'à 50 Gbit / s par paire de broches. Les FPGA ne contiennent généralement pas de mémoire non volatile, donc une mémoire flash externe est requise pour charger la configuration. Le chiffrement peut être mis en œuvre pour améliorer la sécurité de la conception avec une clé sauvegardée par batterie stockée dans le FPGA.
Différences:
Capacité - CPLD a généralement moins de capacité logique. Le plus grand CPLD peut être à un niveau similaire au plus petit FPGA du marché grand public.
Stockage de l'image - CPLD peut démarrer par lui-même tandis que la plupart des FPGA doivent extraire le flux binaire de configuration du stockage non volatile car ils sont basés sur SRAM. Cela a un impact sur la sécurité du système.
Fonctionnalité - CPLD ne fournit que des portes, ou dites cellules logiques, capables de faire toutes sortes d'algorithmes logiques. En outre, FPGA a également intégré de nombreux blocs durs tels que BlockRAM, DSP, TEMAC, PCIe, MGT, microprocesseur, etc. pour créer une seule puce de FPGA capable de construire un système intégré complet.