FPGA : Flexibilité et haute densité pour des applications complexes.
CPLD : Rapidité et simplicité pour des logiques moins complexes.
PLA : Flexibilité pour des circuits personnalisés.
PAL : Simplicité et coût réduit pour des logiques combinatoires.
FPGA-plateforme (PSDC) : Intégration de FPGA avec des processeurs spécialisés.
EPLD : Reprogrammabilité avec moins de flexibilité qu'un FPGA.
Selon la description VHDL fournie, la fonction de ce circuit semble être un multiplexeur commandé par
le signal "set".
Voici les principales étapes de la programmation d'un composant logique programmable :
1. Définition des entrées/sorties : Identifier les signaux d'entrée et de sortie nécessaires pour réaliser la
fonction souhaitée.
2. Conception logique : Traduire la fonction en une expression booléenne ou un schéma logique, en
utilisant des opérateurs comme AND, OR, XOR, etc.
3. Implémentation VHDL : Traduire la conception logique en un code VHDL décrivant l'architecture du
circuit.
4. Synthèse : Générer à partir du code VHDL une représentation au niveau des portes logiques,
optimisée pour le composant programmable choisi (FPGA, CPLD, etc.).
5. Placement-routage : Affecter les portes logiques aux ressources disponibles sur le composant
programmable et établir les connexions entre elles.
6. Configuration : Générer un fichier de configuration contenant les informations nécessaires pour
programmer le composant, puis le télécharger sur le circuit.
Cette dernière étape permet de traduire la description VHDL en un circuit fonctionnel sur le composant
programmable. Le processus permet ainsi de personnaliser le comportement du composant sans avoir à
le modifier physiquement.
La description VHDL fournie implémente donc un multiplexeur dont la sortie "y" dépend du signal de
commande "set" : si "set" est à 0, la sortie prend la valeur du signal "d", sinon elle prend la valeur du
signal "f".
Voici un tableau récapitulant la programmabilité des matrices ET et OU pour les différentes technologies
de dispositifs logiques programmables :
| Technologie | Matrice ET | Matrice OU |
|-------------|------------|------------|
| FPGA | Programmable | Programmable |
| CPLD | Programmable | Programmable |
| PLA | Programmable | Programmable |
| PAL | Programmable | Fixe |
| FPGA-plateforme (PSDC) | Programmable | Programmable |
| EPLD | Programmable | Fixe |
Explications :
- **FPGA** : Les matrices ET et OU sont entièrement programmables, permettant une grande flexibilité
de conception.
- **CPLD** : Également avec des matrices ET et OU programmables, offrant une flexibilité de
conception.
- **PLA** : Possède des matrices ET et OU programmables, offrant une très grande flexibilité pour des
circuits personnalisés.
- **PAL** : La matrice ET est programmable, mais la matrice OU est fixe, limitant un peu la flexibilité par
rapport au PLA.
- **FPGA-plateforme (PSDC)** : Comme le FPGA, les matrices ET et OU sont programmables pour une
grande flexibilité.
- **EPLD** : La matrice ET est programmable, mais la matrice OU est fixe, offrant moins de flexibilité
qu'un FPGA.
Ce tableau permet de bien différencier les technologies en fonction de la programmabilité de leurs
matrices logiques, ce qui impacte directement la flexibilité de conception des circuits.
Oui, il existe d'autres critères importants à prendre en compte lors du choix d'une technologie de
dispositif logique programmable, en plus de la programmabilité des matrices ET et OU :
1. Densité logique :
- Les FPGA offrent généralement la plus haute densité, permettant d'intégrer un très grand nombre de
portes logiques.
- Les CPLD ont une densité plus modérée, adaptée pour des applications de taille moyenne.
- Les PAL et EPLD ont une densité plus limitée, mieux adaptés pour des conceptions plus simples.
2. Vitesse de fonctionnement :
- Les CPLD sont réputés pour leurs temps de propagation rapides, offrant de meilleures performances.
- Les FPGA peuvent aussi atteindre des vitesses élevées, mais peuvent être plus sensibles aux délais de
routage.
- Les PAL et EPLD ont des performances en général un peu inférieures aux CPLD et FPGA.
3. Consommation électrique :
- Les CPLD sont souvent plus économes en énergie que les FPGA, qui peuvent avoir une consommation
plus élevée.
- Les PAL et EPLD se positionnent généralement entre les CPLD et FPGA en termes de consommation.
4. Coût :
- Les PAL et EPLD sont généralement moins coûteux que les CPLD et FPGA.
- Les FPGA-plateformes (PSDC) offrent une intégration plus poussée, mais à un coût plus élevé.
5. Reprogrammabilité :
- Les FPGA et CPLD sont entièrement reprogrammables, offrant une grande flexibilité.
- Les EPLD permettent une reprogrammation, mais avec moins de flexibilité que les FPGA.
- Les PAL ont une programmation plus figée, avec une flexibilité moindre.
En fonction des exigences de l'application (performance, consommation, complexité, coût, etc.), le choix
de la technologie la plus adaptée devient un compromis entre ces différents critères.
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
-- Déclaration de l'entité
entity NAND_Gate is
Port (
A : in STD_LOGIC; -- Entrée A
B : in STD_LOGIC; -- Entrée B
S : out STD_LOGIC -- Sortie S
);
end NAND_Gate;
-- Déclaration de l'architecture
architecture Behavioral of NAND_Gate is
begin
-- Processus pour la fonction NAND
S <= not (A and B); -- La sortie S est le complément de A AND B
end Behavioral;
architecture archi2 of exercice2 is
signal a, b, c, d, e, f: std ulogic;
signal ytemp: std logic;
begin
a <= x1 or x3; b <= x1 and x3; c <= x2 and a; d <= b or c;
e <= x1 xor x2;f <= x3 xor e;P1: process (d, f, sel)
begin
if sel=’0’ then
ytemp <= d;
else
ytemp <= ’z’;
end if;end process P1;
P2: process (d, f, sel)begin
if sel=’1’ then
ytemp <= f;else
ytemp <= ’z’;
end if;end process P2;y <= ytemp;end architecture archi;