Différence entre CPLD et FPGA

Différence entre CPLD et FPGA

CPLD vs FPGA

Les CPLD (dispositif logique programmable complexe) et les FPGA (tableau de porte programmable sur le terrain) sont deux dispositifs logiques qui commencent à se brouiller en raison des améliorations de la technologie et de l'introduction de ses fonctionnalités à l'autre. La principale différence entre les FPGA et les CPLD est la complexité ou le nombre de portes logiques contenues dans chaque. Bien que les nombres réels puissent varier considérablement entre les différents modèles, les CPLD contiennent de quelques milliers de portes à des dizaines de milliers. En comparaison, les FPGA ont des dizaines de milliers à quelques millions. En raison de l'énorme différence dans le nombre de portes, il est facile de dire que vous pouvez créer une logique plus complexe avec les FPGA qu'avec les CPLD.

Un avantage majeur d'avoir un nombre extrêmement élevé de portes est la capacité d'avoir des fonctions de haut niveau intégrées dans la puce. Plutôt que de les créer vous-même, certains FPGA ont déjà des ajouts, des multiplicateurs et de nombreux autres opérateurs pour les tâches les plus courantes. Le programmeur peut alors se concentrer sur l'objectif réel de la conception et ne pas avoir à se soucier de la mise en œuvre de ces fonctions.

Il y a aussi une énorme différence entre les deux en ce qui concerne leur architecture. Les FPGA utilisent des LUTS (tables de recherche) tandis qu'un CPLD utilise une somme plus simple de produits (également appelée mer de portes). L'utilisation de LUTS est avantageuse car elle offre des économies importantes dans le temps de traitement car la puce n'aurait pas besoin de passer par le processus de recalcul de la somme des produits comme le font les CPLD. Les LUTs fournissent également une interconnexion plus flexible entre les modules FPGA internes que ce qu'un CPLD est capable de.

La dernière différence majeure entre les deux est la mémoire non volatile. Les LUT sont une forme de mémoire, mais elle ne persiste pas une fois la puissance supprimée. Les CPLD ont une mémoire non volatile intégrée dans les puces leur permettant de fonctionner immédiatement sans avoir besoin de ROM externe. Les CPLD sont même utilisés pour agir comme un «chargeur de démarrage» pour les FPGA. Comme déjà mentionné au début de cet article, la ligne entre les fonctionnalités commence à brouiller. Pour éliminer le besoin de «chargeurs de démarrage», les fabricants de FPGA ont commencé à intégrer la mémoire non volatile dans leurs puces FPGA; rendant ainsi cette fonctionnalité présente dans les CPLD et certains FPGA.

Résumé:

1.Les FPGA sont plus complexes que les CPLD.
2.Les FPGA ont plus de fonctions intégrées de haut niveau que CPLD.
3.Les FPGA utilisent des tables de recherche tandis que les CPLD utilisent une somme de produits.
4.Les CPLD ont une mémoire non volatile alors que les FPGA ne le font pas.