GELE2442 Chapitre 3 : Principes de la logique combinatoire
Transcription
GELE2442 Chapitre 3 : Principes de la logique combinatoire
GELE2442 Chapitre 3 : Principes de la logique combinatoire Gabriel Cormier, Ph.D., ing. Université de Moncton Hiver 2015 Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 1 / 33 Contenu 1 Algèbre booléenne 2 Portes logiques 3 Création des circuits logiques 4 Implémentation NAND 5 Chronogrammes Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 2 / 33 Logique combinatoire Deux types de logique: combinatoire et séquentielle Combinatoire: logique où la sortie dépend seulement des entrées Séquentielle: logique où la sortie dépend des entrées actuelle et de la sortie précédente La logique combinatoire est la base du design de circuits logiques. Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 3 / 33 Algèbre booléenne Algèbre booléenne Algèbre utilisée pour les systèmes binaires Seules deux valeurs: 0 (FAUX) et 1 (VRAI) La mathématique est différente (un domaine complet) On verra des postulats et théorèmes de base Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 4 / 33 Algèbre booléenne Postulats importants Tableau 1 : Postulats importants de l’algèbre booléenne (A1) (A2) (A3) (A4) (A5) X = 0 si X 6= 1 Si X = 0 ⇒ X 0 = 1 0·0=0 1·1=1 0·1=1·0=0 Gabriel Cormier (UdeM) (A1’) (A2’) (A3’) (A4’) (A5’) GELE2442 Chapitre 3 X = 1 si X 6= 0 Si X = 1 ⇒ X 0 = 0 1+1=1 0+0=0 1+0=0+1=1 Hiver 2015 5 / 33 Algèbre booléenne Théorèmes importants Tableau 2 : Théorèmes importants de l’algèbre booléenne Numéro T5 T6 T8 T9 T10 Nom Complément Idempotence Distributivité Absorption Combinaison Gabriel Cormier (UdeM) Théorème X + X 0 = 1, ou X · X 0 = 0 X + X = X, ou X · X = X X + (Y · Z) = (X + Y ) · (X + Z) X + (X · Y ) = X X ·Y +X ·Y0 =X GELE2442 Chapitre 3 Hiver 2015 6 / 33 Algèbre booléenne Dualité Dualité: si dans une expression on interchange l’opérateur et l’élément d’identité, l’égalité demeure (0 ↔ 1, · ↔ +) X +0=X X + X0 = 1 Gabriel Cormier (UdeM) Dualité X ·1=X X · X0 = 0 GELE2442 Chapitre 3 Hiver 2015 7 / 33 Algèbre booléenne Théorème de Demorgan Permet d’interchanger l’opérateur + et ·, et l’opérateur de complément: (X + Y + Z)0 = X 0 · Y 0 · Z 0 (X · Y · Z)0 = X 0 + Y 0 + Z 0 Figure 1 : Exemples du théorème de Demorgan Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 8 / 33 Algèbre booléenne Fonction booléenne Fonction booléenne Expression formée de variables binaires, comme F = X · Y + Z 0 Le symbole · représente ET (AND) Le symbole + représente OU (OR) Souvent représentée par une table de vérité: tableau qui représente toutes les combinaisons possibles d’entrées et de sortie(s) Pour n variables d’entrée, il y a 2n possibilités Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 9 / 33 Algèbre booléenne Fonction booléenne Exemple de table de vérité X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 F 1 0 1 0 1 0 1 1 Figure 2 : Exemple de table de vérité pour F = X · Y + Z 0 Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 10 / 33 Algèbre booléenne Fonction booléenne Complément d’une fonction Le complément d’une fonction F s’écrit F 0 . On l’obtient en changeant les 0 pour des 1 (et vice-versa) dans la table de vérité. On peut aussi l’obtenir en utilisant le théorème de Demorgan. Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 11 / 33 Algèbre booléenne Fonction booléenne Exemple Calculer le complément de la fonction F = X 0 Y Z 0 + X 0 Y 0 Z F 0 = (X 0 Y Z 0 +X 0 Y 0 Z)0 = (X 0 Y Z 0 )0 ·(X 0 Y 0 Z) = (X+Y 0 +Z)·(X+Y +Z 0 ) Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 12 / 33 Algèbre booléenne Mintermes et maxtermes Mintermes et maxtermes Une fonction booléenne peut être exprimée de l’une de deux façons: une somme de produits un produit de sommes Terme multiplié: minterme Somme de termes: maxterme Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 13 / 33 Algèbre booléenne Mintermes et maxtermes Mintermes et maxtermes X 0 0 0 0 1 1 1 1 0 1 2 3 4 5 6 7 Y 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 Minterme X0 · Y 0 · Z0 X0 · Y 0 · Z X0 · Y · Z0 X0 · Y · Z X · Y 0 · Z0 X ·Y0·Z X · Y · Z0 X ·Y ·Z Maxterme X +Y +Z X + Y + Z0 X +Y0+Z X + Y 0 + Z0 X0 + Y + Z X0 + Y + Z0 X0 + Y 0 + Z X0 + Y 0 + Z0 Figure 3 : Mintermes et maxtermes à 3 bits Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 14 / 33 Algèbre booléenne Mintermes et maxtermes Mintermes et maxtermes Générer les mintermes: utiliser le complément de la variable aux endroits où on a un 0 dans la table de vérité Générer les maxtermes: utiliser le complément lorsqu’il y a un 1 dans la table de vérité On exprime ensuite comme somme de mintermes ou produit de maxtermes Mintermes: on utilise les termes où la fonction est 1 Maxtermes: on utilise les termes où la fonction est 0 On simplifie ensuite avec l’algèbre booléenne Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 15 / 33 Algèbre booléenne Mintermes et maxtermes Exemple Exprimer la fonction ayant la table de vérité de la figure suivante à l’aide de mintermes et maxtermes. X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 F 1 0 0 1 1 0 1 1 Figure 4 : Table de vérité pour une fonction Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 16 / 33 Algèbre booléenne Mintermes et maxtermes Exemple (suite...) Les mintermes sont exprimés avec des m minuscules; les termes où la fonction est 1 sont: 0, 3, 4, 6 et 7. X F = m0 , m3 , m4 , m6 , m7 = X0 · Y 0 · Z0 + X0 · Y · Z + X · Y 0 · Z0 + X · Y · Z0 + X · Y · Z Les maxtermes sont exprimés avec des M majuscules; les termes où la fonction est 0 sont: 1, 2 et 5. Y F = M1 , M2 , M5 = (X + Y + Z 0 ) · (X + Y 0 + Z) · (X 0 + Y + Z 0 ) Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 17 / 33 Portes logiques Portes logiques Selon les équations booléennes, on a trois fonctions de base: ET (AND), représenté par le symbole · OU (OR), représenté par + NON (NOT; complément), représenté par 0 ou Chaque fonction est associée à une porte logique Le cercle à la sortie de la porte NON indique que la porte logique a un comportement d’inversion La porte NON s’appelle aussi un inverseur Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 18 / 33 Portes logiques Portes logiques X Y X·Y X 0 0 1 1 Y 0 1 0 1 X·Y 0 0 0 1 X Y X 0 0 1 1 ET X+Y Y 0 1 0 1 X0 X X+Y 0 1 1 1 OU X 0 1 X0 1 0 NON Figure 5 : Trois fonctions logiques de base Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 19 / 33 Portes logiques Portes logiques Trois autres portes communes: NAND: NOT-AND NOR: NOT-OR XOR: eXclusively-OR Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 20 / 33 Portes logiques Portes logiques X Y X ·Y X 0 0 1 1 Y 0 1 0 1 X ·Y 1 1 1 0 X Y X 0 0 1 1 X +Y Y 0 1 0 1 X +Y 1 0 0 0 X Y X 0 0 1 1 NOR NAND X⊕Y Y 0 1 0 1 X⊕Y 0 1 1 0 XOR Figure 6 : Trois fonctions logiques communes Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 21 / 33 Création des circuits logiques Création des circuits logiques Comment créer des circuits à partir des fonctions? Chaque minterme est créé à partir des portes logiques de base Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 22 / 33 Création des circuits logiques Exemple F1 = X + Y 0 Z X F1 Y Y 0Z Z Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 23 / 33 Création des circuits logiques Exemple On a trois juges qui contrôlent le départ d’une course. La course a lieu si au moins deux des trois juges sont prêts. Créer le circuit logique qui représente le départ d’une course. Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 24 / 33 Implémentation NAND Implémentation NAND Les circuits logiques sont souvent réalisés avec des portes NAND et NOR plutôt que des portes AND et OR Les portes NAND et NOR nécessitent moins de transistors pour l’implémentation On utilise souvent des portes NAND et NOR pour faire le design, plutôt que AND et OR Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 25 / 33 Implémentation NAND Création des portes NAND Création des portes NAND Deux options: Ajouter une bulle d’inversion à la sortie d’une porte AND Ajouter des bulles d’inversion à l’entrée d’une porte OR (vérifier avec DeMorgan) Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 26 / 33 Implémentation NAND Création des portes NAND Création des portes NAND X Y Z (X + Y + Z)0 X Y Z X0 · Y 0 · Z0 = (X + Y + Z)0 Figure 7 : Portes AND et OR transformées en porte NAND Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 27 / 33 Implémentation NAND Transformation AND-OR à NAND Transformation AND-OR à NAND Il faut que le circuit (ou la fonction logique) soit de la forme d’une somme de produits Seulement possible avec des mintermes On ajoute des bulles d’inversion à la sortie des portes AND et à l’entrée des porte OR Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 28 / 33 Implémentation NAND Transformation AND-OR à NAND Exemple F = AB + CD Le circuit correspondant à cette fonction est montré à la figure suivante, sous la forme d’un circuit AND-OR. A B F C D Figure 8 : Fonction F = AB + CD implantée en logique AND-OR Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 29 / 33 Implémentation NAND Transformation AND-OR à NAND Exemple: transformation à NAND A B A B F C D F C D Figure 9 : Portes AND-OR transformées en portes NAND Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 30 / 33 Chronogrammes Chronogramme Représentation graphique des ondes synchronisées franchissant une ou des portes logiques Permet de représenter l’évolution d’un signal (une sortie) dans le temps Permet d’identifier les relations cause-à-effet Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 31 / 33 Chronogrammes Exemple: porte ET A B F td Figure 10 : Chronogramme pour une porte ET Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 32 / 33 Chronogrammes Chronogramme La flèche rouge montre la relation entre l’entrée et l’activation de la sortie La porte a aussi un délai: les portes logiques réelles auront toujours un délai; ce délai peut avoir une grande importance lorsque qu’on a plusieurs portes en cascade Gabriel Cormier (UdeM) GELE2442 Chapitre 3 Hiver 2015 33 / 33