Quelle est la différence entre CPLD et FPGA? [fermé]

10

Quelle est la différence entre un CPLD et un FPGA?

Sanjeev Kumar
la source
1
CPLD utilise uniquement les termes du produit (et un DFF par broche de sortie); Le FPGA possède des blocs configurables internes de LUT, de report / décalage, de DFF, ainsi qu'un routage plus flexible, un bloc de RAM et d'autres blocs spécialisés comme PLL ou MAC.
MarkU
1
... et normalement les CPLD utilisent une mémoire non volatile pour stocker leur configuration tandis que les FPGA utilisent une mémoire volatile (RAM), c'est-à-dire que les FPGA doivent être initialisés à chaque fois après la mise sous tension.
Curd
6
Réponse facilement disponible à l'aide de Google - la question doit être fermée.
Leon Heller
4
@Leon Heller Je ne sais pas pourquoi vous voulez invoquer une autre personne pour fermer cette question. Si vous pensez que cette question doit être close, vous êtes libre de voter pour la clôture, mais il est vraiment horrible de commenter "la question doit être fermée" et d'essayer d'invoquer une autre personne pour qu'elle vous accompagne. Si cette question est susceptible de fermer, vous devez d'abord fermer la question ci-dessous electronics.stackexchange.com/questions/1092/…
Sanjeev Kumar
1
@LeonHeller (et al), cette même question est également une réponse à cette recherche Google. (Je l'ai eu comme deuxième lien, avec d'autres qui étaient réellement utiles.)
ilkkachu

Réponses:

5

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.

alex.forencich
la source
10

Différences:

  1. 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.

  2. 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.

  3. 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.

Yash
la source
3
En ce qui concerne le numéro 3, il convient de mentionner qu'au fil des années, à mesure que les CPLD sont devenus plus sophistiqués, la frontière entre les CPLD et les FPGA s'est estompée. Par exemple, les CPLD modernes sont suffisamment grands pour implémenter un microcontrôleur. C'est au point maintenant que certaines familles de puces qui étaient historiquement commercialisées en tant que CPLD sont désormais marquées comme FPGA (la famille Altera Max, par exemple)
David Gardner