Différence entre CPLD et FPGA

CPLD vs FPGA

Les CPLD (Périphériques Logiques Complexes Programmables) et les FPGA (Réseaux programmables de champs sur site) sont deux dispositifs logiques qui commencent à s'estomper en raison des améliorations technologiques et de l'introduction des fonctionnalités entre elles. La principale différence entre les FPGA et les CPLD est la complexité ou le nombre de portes logiques contenues dans chacun. Bien que les nombres réels puissent varier considérablement d'un modèle à l'autre, les CPLD contiennent de quelques milliers à plusieurs dizaines de milliers de portes. En comparaison, les FPGA comptent 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 construire une logique plus complexe avec les FPGA qu'avec les CPLD.

L'un des principaux avantages d'un nombre extrêmement élevé de portes est la possibilité d'intégrer des fonctions de haut niveau dans la puce. Plutôt que de les créer vous-même, certains FPGA ont déjà des additionneurs, 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 sans avoir à s'inquiéter de la mise en œuvre de telles fonctions.

Il existe également une énorme différence entre les deux en ce qui concerne leur architecture. Les FPGA utilisent des tables de correspondance (LUT) tandis que les CPLD utilisent une somme plus simple de produits (également appelée mer de portes). L'utilisation de tables de conversion est un avantage, car elle permet de réduire considérablement le temps de traitement, car la puce n'aurait pas besoin de recalculer la somme des produits comme le font les CPLD. Les LUT 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 tables de correspondance sont une forme de mémoire, mais elles ne persistent pas une fois le courant coupé. 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 servent même de «chargeur de démarrage» pour les FPGA. Comme déjà mentionné au début de cet article, la ligne de démarcation commence à s'estomper. Pour éliminer le besoin de «chargeurs d'amorçage», les fabricants de FPGA ont commencé à intégrer de 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 les CPLD.
3.Les FPGA utilisent des tables de recherche tandis que les CPLD utilisent une somme de produits.
4.Les CLD ont une mémoire non volatile, contrairement aux FPGA..