Cours 5 - Polytechnique Montréal
Transcription
Cours 5 - Polytechnique Montréal
Cours (0101)2 On pourrait appeler ce cours : «Variables inscrites» Cette semaine on apprendra : comment réduire la taille d'une table de vérité / table de Karnaugh en se servant des variables inscrites comment trouver l'équation simplifié à partir de ces tables de Karnaugh à variables inscrites comment utiliser des multiplexeurs pour implémenter des tables de vérité à variables inscrites ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005 Pourquoi on apprend ça ? Honnêtement, même si l'utilisation de variables inscrites peut réduire la taille des tables à simplifier, (selon moi) ça peut facilement ajouter tant de complexité que ça perd son avantage. Je n'ai jamais appris comment utiliser les variables inscrites durant mon bac à Waterloo, je ne l'ai pas enseigné dans le cours Systèmes Logiques I, et je ne les utilise pas où je travaille. Par contre, je trouve que l'idée d'utiliser effectivement des variables inscrites pour simplifier des fonctions avec des multiplexeurs peut être très utile. Je présente ceci dans les derniers quelques acétates, afin d'avoir couvert tout sur les variables inscrites, comme dictée par le curriculum. J'espère quand-même vous présenter une semaine de cours intéressante et agréable ! ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005 Un exemple motivant Imagine qu'on peut réduire la taille d'une table de vérité tout simplement en inscrivant une variable dans la sortie : A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S 1 0 1 1 0 1 0 0 A 0 0 1 1 B 0 1 0 1 S C 1 C 0 0 1 0 C C 1 1 0 A B S = ABC + ABC + AB AB C 1 C 0 S ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005 Qu'est-ce-qu'on vient de faire ? La première étape est facile. On choisit une variable pour inscrire à la sortie, et on écrit la sortie en fonction de cette variable dans des groupes où toutes les autres variables sont pareils : A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S 1 0 1 1 0 1 0 0 A 0 0 1 1 B 0 1 0 1 S C 1 C 0 ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005 Et si ce n'est pas la dernière ? Attention : si ce n'est pas la dernière variable qu'on veut inscrire, c'est un peu plus dur à percevoir les groupes : A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S 1 0 1 1 0 1 0 0 A 0 0 1 1 C 0 1 0 1 S 1 B 0 B ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005 Table de vérité à ??? Dès qu'on a une table de vérité à variables inscrites, on a deux options : l'inscrire dans une table de Karnaugh et simplifier dessiner directement le circuit en utilisant un multiplexeur A 0 0 1 1 C 0 1 0 1 S 1 B 0 B 0 1 0 1 0 1 B B A C AC 1 B 0 B S Mais on n'a pas vraiment touché aux MUX à date, alors on n'examine que le premier cas pour l'instant. ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005 Comment encercler On encercle comme d'habitude sauf que maintenant on peut encercler aussi des groupes de X et X en addition aux '1' : 0 1 B 0 0 C 1 0 C A S = AC 0 1 B 0 0 C 1 C 0 0 1 0 0 0 1 C C A B S = BC S = ABC + ABC 0 1 0 0 1 1 C 0 A A B S = ABC + AB ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005 Encore, comment encercler Si on utilise la théorème X + X = 1, on peut encercler encore plus : 0 1 B 0 C 1 1 0 C A 0 1 B 0 1 1 1 0 C B A 0 1 0 1 1 1 1 C 0 1 0 1 C+C 1 0 C S = BC + AC A B A B 0 1 0 C C+C 1 0 C A 0 1 0 1 1 1 1 C S = B + AC A B S=A+B+C ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005 Et tu, Conjonctive ? C'est la même idée pour la forme conjonctive, sauf qu'on utilise la théorème X · X = 0 : 0 1 B 0 C 1 1 0 C A 0 1 B 0 1 1 1 0 C B A 0 1 0 0 1 1 1 C 0 1 0 1 1 1 CC C S = (A + C)(B + C) A B A B 0 1 0 C 1 1 CC C A 0 1 0 0 1 1 1 C S = (A + B)(B + C) A B S = (A + B)(A + B + C) ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005 Essayez-le vous même Faites-le à la disjonctive et à la conjonctive : A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S 0 1 0 1 1 0 0 0 A 0 0 1 1 B S 0 1 0 1 A B 0 1 0 1 S= A B 0 1 0 1 S= ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005 Cas facultatifs S'il-y-a des cas facultatifs, on a l'option d'utiliser soit la variable inscrite ou simplement 0 ou 1 (selon le cas) : A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S 0 1 0 1 - A 0 0 1 1 B 0 1 0 1 S C ou 0 C ou 1 C ou 0 C ou 1 ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005 Cas facultatifs : encerclement A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C D S 0 0 0 0 1 1 1 0 0 1 1 0 0 0 1 0 1 1 1 0 1 1 1 0 0 0 1 0 1 1 1 0 1 1 0 0 0 0 1 1 0 0 1 1 0 C C AB 00 0 D 1 0 01 11 10 1 D ou 0 1 D 0 - AB 01 11 10 1 D ou 0 1 D 0 - 00 0 D 1 0 S = CD + ABD + ABD Ou même encore plus réduite si on utilise un OUX ! ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005 Deux variables inscrites A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 B 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 C 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 D 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 ... E 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 S 0 1 0 1 1 1 0 0 0 1 1 1 0 1 0 0 S=E S=D S=D+E S = DE ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005 Encerclement doublement inscrite AB C 00 01 11 10 0 D+E 0 1 D 1 E 0 D DE AB C 00 01 11 10 0 D+E 0 1 D 1 E 0 D DE S = BCD + ABE + ADE + ABD + ABC Préférez-vous ça ou les tables de Karnaugh à cinq variables ? ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005 Alternative : les multiplexeurs On a vu tantôt qu'on peut utiliser un MUX pour implémenter une table de vérité. Mais on n'a pas expliqué que fait le MUX. Alors voilà que fait un MUX : Entrées Sortie 0 X Y 1 X X Y Y L'entrée en haut décide laquelle des autres entrées va passer par la sortie. C'est tout simplement ça un multiplexeur ! Il-y-a des MUX 2x1 (comme ci-haut), et des MUX 4x1, 8x1, etc... ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005 MUX pour les variables inscrites Si on a une table de vérité avec des variables inscrites, c'est simple d'utiliser un MUX pour l'implémenter : pas de table de Karnaugh réquis ! A 0 0 1 1 B 0 1 0 1 AB S C 1 C 1 C 1 C 1 S Notez qu'on aurait pu inscrire la variable A pour encore simplifier : B C 0 S ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005 Multiplexez vous même Implémentez la table de vérité suivante avec un multiplexeur. Estce-qu'on peut le faire avec un MUX 2x1 ? A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S 1 1 0 1 0 0 0 1 MUX 4x1 MUX 2x1 S S 0 0 1 1 0 1 0 1 0 1 Circuit : ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005 Sommaire (par Monsieur T) Jeunes ingénieurs, on vient de voir deux autres techniques pour simplifier. La semaine prochaine on présente une autre : Quine-McCluskey. Il va falloir tous les apprendre, mais apprenez super-bien la méthode que vous trouvez la plus intuitive. Vous allez devoir simplifier souvent dans ce cours, dans d'autres cours et peut-être pendant vos carrières. Ça vaut la peine d'apprendre une méthode pour vie ! ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005 Lecture et devoirs Lecture recommandé : 4.14 Et, si vous n'avez rien d'autre à faire : 5.6, 4.8 Problèmes pertinents : 4.34bc, 4.35ad, 4.36b, 4.37bc I pity the fool who don't do his devoirs! ELE1300 Circuits Logiques - Jeff Dungen - École Polytechnique Montréal - Automne 2005