banner

Nouvelles

May 14, 2023

CPLD (Complex Programmable Logic Device): expliqué

Par

Publié

CPLD (Complex Programmable Logic Device) est composé d'unités de matrice d'interconnexion programmables autour du centre, dont la structure logique LMC est plus complexe, et a une structure d'interconnexion d'unité d'E/S complexe. Des structures de circuit spéciales peuvent être générées par les utilisateurs en fonction de leurs besoins pour remplir certaines fonctions. Étant donné que des lignes métalliques de longueur fixe sont utilisées à l'intérieur du CPLD pour interconnecter chaque bloc logique, le circuit logique conçu a une prévisibilité temporelle, évitant l'inconvénient d'une prédiction temporelle incomplète de la structure d'interconnexion segmentée. Dans les années 1990, les CPLD se sont développés plus rapidement, non seulement avec les caractéristiques de l'effacement électrique, mais également avec des fonctionnalités avancées telles que la numérisation des bords et la programmabilité en ligne. Les CPLD les plus couramment utilisés de Xilinx et les CPLD d'Altera.

Historique du développement du CPLD

Dans les années 1970, le premier dispositif logique programmable-PLD est né. Sa structure de sortie est une macro-unité logique programmable car sa conception de structure matérielle peut être complétée par un logiciel (équivalent à la conception manuelle d'une structure intérieure locale après la construction de la maison), de sorte que sa conception est plus flexible que les circuits numériques matériels purs, mais leur trop la structure simple leur permet également de mettre en œuvre uniquement des circuits plus petits. Afin de compenser le défaut que PLD ne peut concevoir que des circuits à petite échelle, au milieu des années 1980, un dispositif logique programmable complexe - CPLD a été introduit. À l'heure actuelle, l'application a été étendue au réseau, à l'instrumentation, à l'électronique automobile, aux machines-outils CNC, à la mesure aérospatiale, aux équipements de contrôle, etc.

Structure de base CPLD

CPLD est l'abréviation de dispositifs logiques programmables complexes et FPGA est l'abréviation de réseau de portes programmables sur site. Les fonctions des deux sont fondamentalement les mêmes, et la programmation et les autres processus sont fondamentalement les mêmes (les fichiers de programmation sont différents, mais ils sont automatiquement générés par le logiciel), mais le principe de mise en œuvre interne et la structure de la puce sont légèrement différents .

Unité logique programmable

La fonction est la même que le port d'E/S de base du FPGA, mais le champ d'application du CPLD est relativement limité, les performances et la complexité des E/S sont différentes de celles du FPGA, et les normes d'E/S prises en charge sont moins importantes. et la fréquence est plus faible.

Unité logique de base

L'unité logique de base en CPLD est l'unité macro. La soi-disant macrocellule est composée de certains ET, ou de tableaux plus des bascules, dans lesquels le tableau "ET-OU" complète la fonction logique combinatoire, et les bascules sont utilisées pour compléter la logique séquentielle. Un autre concept important lié à l'unité logique de base du CPLD est le terme de produit. Le terme dit de produit est la sortie du tableau ET dans la macrocellule, et son numéro indique la capacité CPLD. Le tableau des termes du produit est en fait un tableau "ET-OU". Chaque intersection est un fusible programmable. S'il est activé, il implémente la logique "ET". Il y a généralement un tableau "OU" après le tableau "ET", qui est utilisé pour compléter la relation "ou" dans la plus petite expression logique.

Pool de routage, matrice de routage

Les ressources de câblage dans CPLD sont beaucoup plus simples que celles dans FPGA, et les ressources de câblage sont relativement limitées. Généralement, une structure de pool de câblage centralisé est utilisée. Le soi-disant pool de câblage est essentiellement une matrice de commutation, et la connexion entre les éléments d'entrée et de sortie de différentes macrocellules peut être complétée par des nœuds de liaison. Du fait du manque de ressources d'interconnexion au sein du dispositif CPLD, certaines difficultés seront rencontrées lors du routage du dispositif dans certains cas. Étant donné que la structure du pool de câblage du CPLD est fixe, le retard entre la broche d'entrée et la broche de sortie du CPLD est fixe, ce qui est appelé retard de broche à broche, exprimé en Tpd. Le retard Tpd reflète la fréquence la plus élevée que les appareils CPLD peuvent atteindre, et il montre également clairement la classe de vitesse de l'appareil CPLD.

Exemples de structure de base CPLD

Appareil EPM7128S

(1) Structure de base de l'appareil EPM7128S

Le dispositif EPM7128S est principalement composé d'un bloc de réseau logique LAB, d'une macrocellule, d'un bloc de contrôle d'E/S et d'un réseau d'interconnexion programmable PIA.

Dans une structure matricielle multi-réseaux, chaque macrocellule a un réseau ET programmable et un réseau OU fixe, et une bascule configurable avec une horloge programmable indépendamment, l'horloge permet des fonctions d'effacement et de réglage. Toutes les 16 macrocellules forment un groupe pour former un module de réseau logique flexible LAB. Plusieurs LAB sont connectés à un bus global via un réseau d'interconnexion programmable PIA. Chaque LAB est également connecté au bloc de contrôle d'E/S correspondant pour fournir des canaux d'entrée et de sortie directs.

(2) Structure macrocellulaire EPM7128S

Chaque macrocellule de l'EPM7128S peut être configurée individuellement pour fonctionner en logique combinatoire ou en logique séquentielle. Une macrocellule est principalement composée d'un réseau logique, d'une matrice de sélection d'articles de produit et d'un registre programmable. Les registres programmables peuvent être programmés pour contourner selon les besoins logiques pour réaliser la logique combinatoire. S'il est utilisé comme registre, le logiciel de développement de dispositif logique programmable correspondant sélectionnera un mode de fonctionnement de registre efficace en fonction des exigences logiques de conception, de manière à minimiser les ressources de dispositif utilisées dans la conception.

Appareil XCR3064XL

(1) Structure de l'appareil XCR3064XL

La structure de macrocellule du dispositif XCR3064XL est composée de blocs fonctionnels et d'unités d'E/S connectés par un réseau d'interconnexion à puissance nulle, et chaque bloc logique contient 16 macrocellules.

Schéma d'architecture CPLD

Prenez Xilinx CoolRunner-II comme exemple ici. La figure suivante est laArchitecture CPLDschéma de Xilinx CoolRunner-II.

Maintenant, Easybom vous explique le contenu de l'image ci-dessus.

1. Ce CPLD a quelques blocs de fonctions allant du "Function Block 1" au "Function Block n" (dans le cas du CoolRunner-II CPLD, cette plage de numérotation est de 2 à 32)

2. 16 lignes de sortie de chaque bloc de fonction entrent dans l'AIM (matrice d'interconnexion avancée), tandis que 40 lignes de signaux sont entrées de l'AIM au bloc de fonction.

3. Chaque bloc fonctionnel comporte 16 macrocellules (MC1 à MC16).

4. Chaque MacroCell peut accéder à 16 signaux du bloc E/S.

5. La structure de la MacroCell est illustrée ci-dessous. Chaque macrocellule contient une somme de produits de bascules et de tableaux PLA que les utilisateurs peuvent utiliser pour créer une logique combinatoire ou séquentielle. Ainsi, le nombre maximum de déclencheurs disponibles dans CoolRunner-II CLPD (XC2C512) est de 512 ! (Rappelez-vous ce nombre, nous le comparons au nombre de bascules dans le FPGA)

6. L'AIM peut être programmé pour interconnecter les signaux selon les besoins. Mais comme nous l'avons vu au deuxième point ci-dessus, le nombre de signaux par bloc fonctionnel est limité.

Comme PLA (Programmable Logic Array), la fonction logique de CPLD dans chaque macrocellule est programmée électriquement via l'interface de programmation système (ISP) sur JTAG. Une fois programmées, ces connexions basées sur le flash sont restées les mêmes pendant des années. Cela donne aux CPLD l'avantage unique du travail "instantané". C'est-à-dire que le CPLD commence à fonctionner dès qu'il est sous tension car le programme est gravé dans la mémoire flash du FAI.

Pour résumer, on peut dire que dans un CPLD, il y a plusieurs centaines de blocs fonctionnels (ou blocs logiques), généralement moins de 1000, auxquels on peut accéder par une seule grande interconnexion de cellules logiques.

Comment utiliser CPLD ?

CPLD est un circuit intégré numérique dans lequel les utilisateurs construisent des fonctions logiques selon leurs propres besoins. La méthode de conception de base consiste à utiliser la plate-forme logicielle de développement intégrée pour générer le fichier cible correspondant au moyen d'un diagramme schématique, d'un langage de description de matériel, etc., et de transférer le code vers la puce cible via le câble de téléchargement ("in-system" programmation) pour réaliser le système numérique conçu.

Ici, prenons le répondeur comme exemple pour parler de son processus de conception (décoration), c'est-à-dire le processus de conception de la puce. La majeure partie du travail du CPLD se fait sur ordinateur. Ouvrez le logiciel de développement intégré (Max+pluxII d'Altera Corporation) → dessinez le schéma de principe, écrivez le langage de description du matériel (VHDL, Verilog) → compilez → donnez le signal d'excitation d'entrée du circuit logique, effectuez la simulation, vérifiez si le le résultat de la sortie logique est correct → effectuer le verrouillage d'entrée et de sortie de la broche (64 broches d'entrée et de sortie de 7128 peuvent être définies selon les besoins) → générer le code → transmettre et stocker le code dans la puce CPLD via le câble de téléchargement. Les broches de la puce 7128 ont été retirées. Connectez le tube numérique, le commutateur de réponse, le voyant lumineux et le buzzer au panneau de particules via des fils et testez l'alimentation. Lorsque l'interrupteur de réponse est enfoncé, le voyant correspondant doit être allumé et la réponse est correcte. À l'avenir, après que l'arbitre a ajouté des points, vérifiez si le résultat de l'affichage numérique est correct. En cas de problème, vous pouvez revoir le diagramme schématique ou le langage de description du matériel pour améliorer la conception. Une fois la conception terminée, comme la production de masse, d'autres puces CPLD peuvent être copiées directement, c'est-à-dire que le code peut être écrit. Si vous souhaitez concevoir d'autres puces, telles que la conception de feux de circulation, vous devez redessiner le schéma ou écrire un langage de description de matériel, répéter le processus de travail ci-dessus et terminer la conception. Ce type de conception de modification équivaut à redécorer la maison, et ce type de décoration peut être réalisé des dizaines de milliers de fois pour CPLD.

Différences entre CPLD et FPGA

1. Présentation du FPGA

FPGA (Field-Programmable Gate Array) est le produit d'un développement ultérieur sur la base de PAL, GAL, CPLD et d'autres dispositifs programmables. Il est apparu comme un circuit semi-personnalisé dans le domaine des circuits intégrés spécifiques à l'application (ASIC), qui a non seulement résolu les lacunes du circuit personnalisé, mais a également surmonté les lacunes du nombre limité de circuits de porte du dispositif programmable d'origine.

Fonctionnalités FPGA

1) En utilisant FPGA pour concevoir un circuit ASIC (circuit intégré spécifique à l'application), les utilisateurs peuvent obtenir des puces appropriées sans production de film.

2) Le FPGA est l'un des dispositifs avec le cycle de conception le plus court, le coût de développement le plus bas et le risque le plus faible dans les circuits ASIC.

3) FPGA adopte un processus CMOS à haute vitesse avec une faible consommation d'énergie et est compatible avec les niveaux CMOS et TTL.

Le FPGA est configuré par le programme stocké dans la RAM sur puce pour définir son état de fonctionnement. Par conséquent, la RAM sur puce doit être programmée lors du fonctionnement. Les utilisateurs peuvent utiliser différentes méthodes de programmation selon différents modes de configuration.

2. Introduction au CPLD

CPLD (Complex Programmable Logic Device) est composé d'unités de matrice d'interconnexion programmables autour du centre, dont la structure logique LMC est plus complexe, et a une structure d'interconnexion d'unité d'E/S complexe. Des structures de circuit spéciales peuvent être générées par les utilisateurs en fonction de leurs besoins pour remplir certaines fonctions. Étant donné que des lignes métalliques de longueur fixe sont utilisées à l'intérieur du CPLD pour interconnecter chaque bloc logique, le circuit logique conçu a une prévisibilité temporelle, évitant l'inconvénient d'une prédiction temporelle incomplète de la structure d'interconnexion segmentée. Dans les années 1990, les CPLD se sont développés plus rapidement, non seulement avec les caractéristiques de l'effacement électrique, mais également avec des fonctionnalités avancées telles que la numérisation des bords et la programmabilité en ligne.CPLD XilinxetAutres CPLDsont couramment utilisés.

Fonctionnalités CPLD

Il a les caractéristiques d'une programmation flexible, d'une intégration élevée, d'un cycle de conception et de développement court, d'une large gamme d'applications, d'outils de développement avancés, de faibles coûts de conception et de fabrication, de faibles exigences pour l'expérience matérielle des concepteurs, pas besoin de tester des produits standard, une forte confidentialité et prix populaires. La conception de circuits à grande échelle peut être réalisée, elle est donc largement utilisée dans le prototypage et la fabrication de produits (généralement moins de 10 000 pièces). Les dispositifs CPLD peuvent être utilisés dans presque toutes les applications de circuits intégrés numériques à usage général de petite et moyenne taille. Les dispositifs CPLD sont devenus un élément indispensable des produits électroniques, et leur conception et leur application sont devenues une compétence nécessaire pour les ingénieurs en électronique.

3. Les différences entre FPGA et CPLD

CPLD contre FPGA

1. CPLD est plus adapté pour compléter divers algorithmes et logique combinatoire, et FPGA est plus adapté pour compléter la logique séquentielle. En d'autres termes, les FPGA conviennent mieux aux structures riches en bascules, tandis que les CPLD conviennent mieux aux structures limitées en bascules et riches en produits.

2. La structure de câblage continu du CPLD détermine que son retard de synchronisation est uniforme et prévisible, tandis que la structure de câblage segmenté du FPGA détermine l'imprévisibilité de son retard.

3. FPGA a une plus grande flexibilité que CPLD dans la programmation. Les CPLD se programment en modifiant la fonction logique avec des circuits interconnectés fixes, tandis que les FPGA se programment principalement en changeant le câblage des interconnexions ; Les FPGA peuvent être programmés sous des portes logiques, tandis que les CPLD sont programmés sous des blocs logiques.

4. Le niveau d'intégration du FPGA est supérieur à celui du CPLD, et il a une structure de câblage et une implémentation logique plus complexes.

5. CPLD est plus pratique à utiliser que FPGA. La programmation de CPLD adopte la technologie E2PROM ou FAST FLASH, aucune puce de mémoire externe n'est requise et elle est facile à utiliser. Les informations de programmation du FPGA doivent être stockées dans la mémoire externe et la méthode d'utilisation est compliquée.

6. CPLD est plus rapide que FPGA et a une plus grande prévisibilité temporelle. En effet, FPGA est une programmation au niveau de la porte et une interconnexion distribuée est utilisée entre les CLB, tandis que CPLD est une programmation au niveau des blocs logiques et l'interconnexion entre ses blocs logiques est regroupée.

7. Dans la méthode de programmation, CPLD est principalement basé sur la programmation de mémoire E2PROM ou FLASH, et les temps de programmation peuvent atteindre 10 000 fois. L'avantage est que les informations de programmation ne sont pas perdues lorsque le système est éteint. Le CPLD peut être divisé en deux catégories : la programmation sur le programmateur et la programmation dans le système. La plupart des FPGA sont basés sur la programmation SRAM et les informations de programmation sont perdues lorsque le système est éteint. Chaque fois que le système est mis sous tension, les données de programmation doivent être réécrites dans la SRAM depuis l'extérieur de l'appareil. L'avantage est qu'il peut être programmé un nombre illimité de fois et peut être programmé rapidement à la volée, permettant une configuration dynamique au niveau de la carte et du système.

8. CPLD a une bonne confidentialité, tandis que FPGA a une mauvaise confidentialité.

9. Dans des circonstances normales, la consommation d'énergie du CPLD est supérieure à celle du FPGA, et plus l'intégration est élevée, plus elle est évidente.

À mesure que la densité des dispositifs logiques programmables complexes (CPLD) augmente, les concepteurs de dispositifs numériques bénéficient de la flexibilité et de la facilité des conceptions à grande échelle, et les produits peuvent entrer rapidement sur le marché. De nombreux concepteurs ont constaté que les CPLD présentaient les avantages d'une utilisation facile, d'un timing prévisible et d'une vitesse élevée, cependant, dans le passé, en raison des contraintes de densité de CPLD, ils devaient se tourner vers les FPGA et les ASIC. Les concepteurs peuvent désormais réaliser les avantages des CPLD avec des densités allant jusqu'à des centaines de milliers de portes.

Personne-ressource pour les médiasNom de l'entreprise:EASYBOM, INC.Personne de contact:Jack SmithE-mail:Envoyer un e-mailTéléphone:(718) 737-2822Adresse:506 2e avenue STE 1600Ville:SeattleÉtat:WashingtonPays:États-UnisSite Internet:https://www.easybom.com/

Les acteurs Rob Mayes et Brittany Bristow jouent dans la nouvelle comédie romantique édifiante "Just Jake" sur UPtv.

Attacher un pipeline controversé à l'accord sur le plafond de la dette est un coup bas pour les écologistes et les législateurs démocrates.

L'Australien Crown Resorts a accepté de payer une amende civile de 290 millions de dollars américains pour violation de la législation anti-blanchiment d'argent et contre le financement du terrorisme à deux...

Le président ougandais Yoweri Museveni a promulgué un projet de loi anti-gay controversé - Copyright GETTY IMAGES NORTH AMERICA/AFP CHIP SOMODEVILLAJames OKONG'ODes projets de loi anti-LGBTQ au Kenya...

Historique du développement CPLD Structure de base CPLD Unité logique programmable Unité logique de base Pool de routage, Matrice de routage Exemples de structure de base CPLD Architecture CPLD Comment utiliser CPLD ? Différences entre CPLD et FPGA CPLD Xilinx CPLD Altera CPLD vs FPGA
PARTAGER