Tizi-Ouzou Groupe n1 Dpartement informatique Du 22/01/2014 au 28/01/2014
TP N1 de VHDL
Binme : AYACHE Karima HAFID Salim
2
Le circuit logique tudier
Le rapport se droulera sur ltude dun circuit logique donn. Cette tude se devise en deux parties : La partie thorique qui se rsume dans la prsentation de la table de vrit et les quations logiques de ce circuit. La partie pratique consiste faire une simulation dans le langage VHDL en traduisant la table de vrit et les quations logiques en code source VHDL. Enfin tablir une comparaison pour confirmer ou infirmer les rsultats obtenus dans la partie thorique.
I ) La partie thorique : Le circuit logique donn est compos de trois portes logiques :
1) La premire est une porte XOR qui prend deux entres A et B et qui produit en sortie un signal quen surnomme Y.
2) La deuxime porte est une porte NOR qui prend deux entres Y et C et qui produit R en sortie.
3) La troisime est une porte NAND qui prend trois entres Y, R et D et produit S en sortie.
Dfinition de la fonction logique XOR : la fonction XOR (ou exclusif) est un oprateur logique de lalgbre de Boole. deux oprandes, qui peuvent avoir chacun la valeur 1 ou 0 (vrai ou faux), il produit en sortie un rsultat qui a lui-mme les valeurs 1 ou 0 (vrai ou faux). Son symbole est un plus dans un cercle .
La table de vrit de la fonction XOR est : A B A XOR B 0 0 0 0 1 1 1 0 1 1 1 1 3
Dfinition de la fonction logique NOR : la fonction logique NOR (NON-OU) est un oprateur logique de lalgbre de Boole. deux oprandes, qui peuvent avoir chacun la valeur 1ou 0 (vrai ou faux), il produit un rsultat qui a lui-mme la valeur 1 ou 0 (vrai ou faux).
La table de vrit de la fonction NOR est :
Dfinition de la fonction logique NAND : la fonction logique NAND (NON-ET) est une opration de lalgbre de Boole. deux oprandes, qui peuvent avoir chacun la valeur de 1ou 0 (vrai ou faux), il produit un rsultat qui a lui-mme la valeur de 1ou 0 (vrai ou faux).
La table de vrit de la fonction NAND est :
Les deux lois de De Morgan :
1) La ngation de la conjonction de deux propositions est quivalente la disjonction des ngations des deux propositions, ce qui signifie non (A et B) est (non A) ou (non B).
2) La ngation de la disjonction de deux propositions est quivalente la conjonction des ngations des deux propositions, ce qui signifie que non (A ou B) est (non A) et (non B).
A B A NOR B 0 0 1 0 1 0 1 0 0 1 1 0 A B A NAND B 0 0 1 0 1 1 1 0 1 1 1 0 4
1) La table de vrit correspondante au circuit donn :
La table de vrit contient 16 lignes car on a 4 variables, ce qui nous permet dtudier tous les cas possible que peut prendre les entres A, B, C et D. 2) Les quations logiques de ce circuit sont : R = (A B) + C = (A B) . C = (A . B + A . B ) . C le rsultat obtenu est simplifi en utilisant les simplifications suivantes : a) la 2 me loi de De morgon qui est A+B = A . B b) la proprit de XOR A B = (A . B + A . B )
S = ( A B) . (A B) + C . D = (A B) + (A B) + C + D S = (A B) + (A B) + C + D = 1 + C + D = 1 + D S=1 le rsultat obtenu est simplifis en utilisant les simplifications algbriques suivantes : a) la 1 re loi de De Morgan A . B = A + B b) la simplification algbrique que A = A c) deux proprits de OR A + A = 1 et 1 + A = 1 A B C D R S 0 0 0 0 1 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 1 0 1 1 0 1 1 1 0 0 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 5
3) Les signaux rsultants aux sorties R et S sont dduits de la table de vrit et des quations logiques .Ils sont reprsents dans la figure suivante (hypothse):
Fig.-1) Reprsentation des signaux rsultants aux sorties S et R. I I ) la partie pratique : III) 1) 1) Les deux programmes en VHDL : Le programme VHDL en utilisant lquation logique : library IEEE; use IEEE.STD_LOGIC_1164.all;
entity circuit is port( A : in STD_LOGIC; B : in STD_LOGIC; C : in STD_LOGIC; D : in STD_LOGIC; S : out STD_LOGIC; R : out STD_LOGIC ); end circuit;
architecture circuitarchi of circuit is begin S<= 1; R <= not( (A xor B) or C); end circuitarchi;
6
Le programme VHDL en utilisant la table de vrit : library IEEE; use IEEE.STD_LOGIC_1164.all;
entity circuit is port( A : in STD_LOGIC; B : in STD_LOGIC; C : in STD_LOGIC; D : in STD_LOGIC; S : out STD_LOGIC; R : out STD_LOGIC ); end circuit;
architecture circuitarchi of circuit is begin S<= '1'; R<= (not A and not B and not C) or (A and B and not C);
end circuitarchi;
2) Gnration des signaux de sorties S et R du circuit aprs lexcution du programme avec les signaux dentres (A, B, C, D)
a) : En utilisant lquation logique :
(Fig.-2) le graphe obtenu aprs excution du programme en VHDL en utilisant lquation logique
7
b) : En utilisant la table de vrit :
(Fig.-3) le graphe obtenu aprs excution du programme en VHDL en utilisant la table de vrit
Les graphes obtenus aprs lexcution des deux programmes sont identiques. Dans les deux graphes S vaut 1 quel que soit le signal des entres A, B, C et D. R vaut 1 dans les cas (A=0, B=0, C=0) et (A=1, B=1, C=0) et vaut 0 pour les autres cas. On trouve que ces rsultats sont les mmes que ceux qui sont proposs dans la partie thorique do leurs confirmation.
3) Le programme VHDL o les entres sont le bus 4 fils E(3:0) et les sorties sont le bus 2 fils S(1:0) 3.1) En utilisant la table de vrit : Table de vrit :
entity circuit is port( E : in STD_LOGIC_VECTOR(0 to 3); S : out STD_ LOGIC_VECTOR(1 downto 0) ); end circuit; architecture circuitarchi of circuit is begin S<= 11 when (E=0000 or E=0001 or E=1100 or E=1101) else 10; end circuitarchi;
(Fig.-3) le graphe obtenu aprs excution du programme en VHDL en utilisant la table de vrit le bus E(3 :0) comme entre et le bus S(1 :0) comme sortie 3.2) En utilisant la fonction logique library IEEE; use IEEE.STD_LOGIC_1164.all;
entity circuit is port( E : in STD_LOGIC_VECTOR(0 to 3); S : out STD_ LOGIC_VECTOR(1 downto 0) ); end circuit; architecture circuitarchi of circuit is begin S(0)<= not( E(0) xor E(1)) and not E(2); S(1)<= 1; end circuitarchi;
(Fig.-4) le graphe obtenu aprs excution du programme en VHDL en utilisant la fonction logique avec le bus E(3 :0) comme entre et le bus S(1 :0) comme sortie 9
Les graphes obtenus aprs lexcution des deux programmes sont identiques. Dans les deux graphes S vaut 11 dans les cas (E=0000), (E=0001), (E=1100) et (E=1101) et vaut 10 pour les autres cas. On trouve que ces rsultats sont les mmes que ceux qui sont obtenus dans la premire partie de la partie pratique, do la confirmation de lhypothse de la partie thorique.
Conclusion : Ce TP nous a permet dtudier le circuit donn en utilisant deux mthodes : Dans lune les entres et les sorties sont ralises avec un seul fil, par contre dans lautre les entres sont un bus quatre fils et les sorties sont un bus deux fils. On a dduit que la deuxime mthode est plus pratique et plus facile que ce soit dans le cot programmation du circuit ou dans la lecture des graphes.
Force Mentale et Maîtrise de la Discipline: Renforcez votre Confiance en vous pour Débloquer votre Courage et votre Résilience ! (Comprend un Manuel Pratique en 10 Étapes et 15 Puissants Exercices)
Aimez-Vous en 12 Étapes Pratiques: Un Manuel pour Améliorer l'Estime de Soi, Prendre Conscience de sa Valeur, se Débarrasser du Doute et Trouver un Bonheur Véritable
La Pensée Positive en 30 Jours: Manuel Pratique pour Penser Positivement, Former votre Critique Intérieur, Arrêter la Réflexion Excessive et Changer votre État d'Esprit: Devenir une Personne Consciente et Positive