Top Banner
ELE1300 Quine-McCluskey
38

Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

Sep 25, 2018

Download

Documents

doantuyen
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

ELE1300Quine-McCluskey

Page 2: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

2

Kesséssa?Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques

Une table de Karnaugh permet de simplifier une fonction de 2 à 6 variables maximum. Au-delà, Quine-McCluskey prend le relais (utile jusqu’à10 variables)

L’algorithme de Q-MC est surtout destiné à une utilisation logicielle. Pour ce cours, IL EST IMPORTANT DE SAVOIR L’EXÉCUTER

Page 3: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

3

Étapes de l’algorithme1. Exprimer la fonction sous forme canonique disjonctive

2. Exprimer les minterms sous forme binaire

3. Grouper les termes selon leurs poids

4. Unir les termes deux à deux

5. Répéter l’étape (4) autant de fois que nécessaire

6. Identifier les impliquants premiers

7. Identifier les impliquants premiers essentiels

8. Vérifier si la fonction est entièrement exprimée par sesimpliquants essentiels, auquel cas arrêter

9. Si on n’a pas fini à l’étape (8), choisir les impliquants premiers appropriés

Page 4: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

4

Exemple simple:

On va illustrer la technique sur un exemple à trois variables (que l’on pourrait aussi bien résoudre au moyen d’une table de Karnaugh)

F(A,B,C) = AB+AB+AC+BC

Page 5: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

5

Exécution de l’algorithme Q-MC1. Exprimer la fonction sous forme canonique disjonctive

F(A,B,C) = AB+AB+AC+BC= ABC+ABC+ABC+ABC+ABC+ABC

2. Exprimer la fonction sous forme binaire

F(A,B,C) = 001+010+011+100+101+111

3. Grouper les termes selon leur poids (somme des bit de 1)Poids 1 Poids 2 Poids 3

001010100

011101

111

Page 6: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

6

Exécution de l’algorithme Q-MC (…)

4. Unir les termes deux à deux

001010100011101

111

0x1x0101x10xx111x1

Page 7: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

7

Exécution de l’algorithme Q-MC (…)

5. Répéter l’étape (4) autant de fois que nécessaire

001010100011101

111

0x1x0101x10xx111x1

xx1xx1

xx1

Page 8: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

8

Exécution de l’algorithme Q-MC (…)

6. Identifier les impliquants premiers

Les impliquants premiers (pas de crochet):01x, 10x, xx1

Ce qui donne, respectivement:AB, AB, C

001010100011101

111

0x1x0101x10xx111x1

xx1

Page 9: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

9

Exécution de l’algorithme Q-MC (…)

7. Identifier les impliquants premiers essentiels

On cherche les colonnes où se retrouve un seul signe, Les lignescorrespondantes sont des impliquants premier.

Ici, tous les impliquants premiers sont essentiels

01x10xxx1

001 010 100 011 101 111

* ** *

* * * *

1 2 3 64 5

Page 10: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

10

Exécution de l’algorithme Q-MC (…)

8. Vérifier si la fonction est entièrement exprimée par les impliquants premiers essentiels. Auquel cas arrêter.

NOTE : Comme tous les impliquants de la fonction F sont iciessentiels, la condition est forcément remplie.

01x10xxx1

001 010 100 011 101 111

* ** *

* * * *

Page 11: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

11

Exécution de l’algorithme Q-MC (…)

Conclusion:

F(A,B,C) = AB+AB+C

Ce que nous aurions pu trouver avec une table de Karnaugh:

0 1

4 5

1

0100

03 2

7 6

1011

1

0

1

1

1

1

0

1

Page 12: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

12

Un exemple plus costaudÉtape 1 : Exprimer la fonction sous forme canonique disjonctive.

0 0 0 0 00 0 0 1 00 0 1 0 10 0 1 1 00 1 0 0 10 1 0 1 10 1 1 0 10 1 1 1 11 0 0 0 01 0 0 1 11 0 1 0 01 0 1 1 01 1 0 0 01 1 0 1 11 1 1 0 01 1 1 1 0

A B C D S

S ABC D ABC D ABCD

ABC D ABCD ABCD ABCD

= + +

+ + + +

Page 13: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

13

Un exemple plus costaud (…)Étape 2 : Exprimer les « mintermes » sous forme binaire.

0010 0100 0101 0110 0111 1001 1101S ABCD ABCD ABCD ABCD ABCD ABCD ABCD= + + + + + +

Étape 3 : Grouper les termes selon leurs poids (nombre de 1).

0010

0100

0101

0110

1001

0111

1101

poids 1

poids 2

poids 3

Page 14: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

14

Un exemple plus costaud (…)Étape 4 :

Comparer chaque terme d’un groupe avec chacun des termes du groupe suivant. Si deux termes diffèrent par un seul bit, un nouveau terme est produit avec un « × » à la position où il y a différence. Marquer les deux termes ayant engendréun nouveau terme.

0010

0100

0101

0110

1001

0111

1101

0×10 0010

0100

0101

0110

1001

0111

1101

0×10

010×

Page 15: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

15

Un exemple plus costaud (…)

0010

0100

0101

0110

1001

0111

1101

0×10

010×

01×0

0010

0100

0101

0110

1001

0111

1101

0×10

010×

01×0

01×1

Page 16: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

16

Un exemple plus costaud (…)

0010

0100

0101

0110

1001

0111

1101

0×10

010×

01×0

01×1

0010

0100

0101

0110

1001

0111

1101

0×10

010×

01×0

01×1

×101 ×101

011×

Page 17: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

17

Un exemple plus costaud (…)

0010

0100

0101

0110

1001

0111

1101

0×10

010×

01×0

01×1

×101

011×

1×01

Page 18: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

18

Un exemple plus costaud (…)Étape 5 : Répéter l’étape 4 avec les nouveaux termes jusqu’à ce qu’il n’y ait plus

d’association possible.

0010

0100

0101

0110

1001

0111

1101

0×10

010×

01×0

01×1

×101

011×

1×01

01×× 0010

0100

0101

0110

1001

0111

1101

0×10

010×

01×0

01×1

×101

011×

1×01

01××

Page 19: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

19

Un exemple plus costaud (…)Étape 6 : Identifiez les implicants premiers ; ce sont les termes n’ayant pas été

associés à d’autres.

0010

0100

0101

0110

1001

0111

1101

0×10

010×

01×0

01×1

×101

011×

1×01

01××* *

*

** Implicant premier

Page 20: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

20

Un exemple plus costaud (…)Étape 7 : Associer chaque implicant premier avec les termes de la fonction qu’ils

peuvent représenter et identifier les implicants premiers essentiels.

0×10

×101

1×01

01××

0010 0100 0101 0110 0111 1001 1101

*

*

*

*

***

*

*

*

* Implicant premier essentiel

Page 21: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

21

Un exemple plus costaud (…)Étape 8 : Vérifier si les implicants premiers essentiels sont suffisants pour représenter tous les termes de la fonction. Si c’est le cas, la simplification est terminée.

0×10

×101

1×01

01××

0010 0100 0101 0110 0111 1001 1101

*

*

*

*

***

*

*

*

AC D ACD AB+ +0×10 1×01 01××

S =

Page 22: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

22

Un exemple avec étape 9Autre exemple :

0 0 0 0 10 0 0 1 10 0 1 0 10 0 1 1 00 1 0 0 00 1 0 1 10 1 1 0 10 1 1 1 11 0 0 0 11 0 0 1 11 0 1 0 11 0 1 1 01 1 0 0 01 1 0 1 01 1 1 0 11 1 1 1 0

A B C D S

S ABC D ABCD ABC D ABCD

ABC D ABCD ABC D

ABCD ABC D ABC D

= + + +

+ + +

+ + +

Page 23: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

23

Un exemple avec étape 9 (…)0000

0001

000× ×00×*

* Implicant premier

0010

1000

0101

0110

1001

1010

0111

1110

00×0

×000

0×01

×001

0×10

×010

100×

10×0

01×1

011×

×110

*

×0×0

××10

1×10

*

**

*

Page 24: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

24

Un exemple avec étape 9 (…)

0×01

01×1

011×

×00×

0000 0001 0010 0101 0110 0111 1000 1001 1010 1110

×0×0

××10 *

* *

* *

* *

* * *

* * * *

* * *

*

Meilleur choix

S ABD BC C D= + +

Page 25: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

25

Une méthode systématiquePour réaliser l’étape (7, 8 et) 9 : Méthode de Petrick

0×01 01×1 011× ×00× ×0×0 ××10

Les implicants premiers :

0x 1x 2x 3x 4x 5x

( ) ( ) ( ) ( ) ( ) ( )( )( )( )( )3 4 0 3 4 5 0 1 2 5 1 2 3 4 3 4 5 5P x x x x x x x x x x x x x x x x x x= + + + + + + + +

( )( )( )( )0 1 1 2 3 5 0 1 3 5 0 2 3 5 1 3 5 1 2 3 5x x x x x x x x x x x x x x x x x x x x x= + + = + + +

S ABD BC C D= + +

1x 3x 5x01×1 ×00× ××10

Expression logique de la réalisation de la fonction :

Page 26: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

26

Un exemple parfait (…)

0 0 0 10 0 1 10 1 0 10 1 1 01 0 0 01 0 1 11 1 0 11 1 1 1

A B C S

Autre exemple :

S ABC ABC ABC

ABC ABC ABC

= + +

+ + +

Page 27: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

27

Un exemple parfait (…)

000

001

00×

010

101

110

111

0×0

×01

×10

1×1

11×

*

* Implicant premier

*****

Page 28: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

28

Un exemple parfait (…)

00×

0×0

×01

×10

000 111

1×1

11×

* *

* *

*

110101010001

*

**

* *

*

*

Page 29: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

29

Un exemple parfait (…)Méthode de Petrick.

00× 0×0 ×01 ×10 1×1 11×

Les implicants premiers :

0x 1x 2x 3x 4x 5x

( )( )( )( )( )( )0 1 0 2 1 3 2 4 3 5 4 5P x x x x x x x x x x x x= + + + + + +

Expression logique de la réalisation de la fonction :

0 1 3 4 0 2 3 4 0 3 4 1 2 3 4 0 1 4 5 0 2 3 5 0 3 4 5 1 2 5x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x= + + + + + + +

S AB BC AC= + + S AC BC AB= + +

Page 30: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

30

Moment de détente littéraireAlain Mabanckou, jeune auteur (~40 ans) d’origine congolaise a reçu aujourd’hui même

le prix Renaudotpour son roman

Mémoire de porc-épic publié aux éditions du

Seuil.Un grand bravo !

Page 31: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

31

Revenons à nos moutons

Mouais Monsieur, la méthode de Petrick c’est cool, mais peut-on faire plus vite?

La question ne se pose pas si la réponse était non ☺

Il existe une méthode assez rapide mais relativement difficile à comprendre. On va y aller par étapes, alors un peu de silence (M.-A. et C. svp…),

de la concentration.

Prêts? On y va…

Page 32: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

32

Réduction du tableauPour réaliser l’étape (7, 8 et) 9 : comme la Méthode de Petrick

« dominante » : Une colonne (ligne) est domine une autre lorsqu’elle l’inclut.

Une colonne peut être éliminée :

si elle est identique à une autre colonneou

si elle est domine une autre colonne.

Une ligne peut être éliminée :

si elle est identique à une autre ligne dont le coût* n’est pas plus élevéou

si elle est dominée par une autre ligne dont le coût* n’est pas plus élevé.

* coût : contribution à la complexité du circuit (nombre de portes, nombre d’entrées).

Page 33: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

33

Réduction du tableau (…)

0×01

01×1

011×

×00×

0000 0001 0010 0101 0110 0111 1000 1001 1010 1110

×0×0

××10 *

* *

* *

* *

* * *

* * * *

* * *

*

2

1

4

4

3

Page 34: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

34

Exemple avec des cas facultatifs :

0001 0010 0100 0111P ABCD ABC D ABC D ABCD= + + +

0 0 0 0 00 0 0 1 10 0 1 0 10 0 1 1 00 1 0 0 10 1 0 1 00 1 1 0 00 1 1 1 11 0 0 0 11 0 0 1 01 0 1 0

1 1 1 1

A B C D P

à (sans objet)

1000 1010 1011 1100ABC D ABC D ABCD ABC D+ + + +

1101 1110 1111ABCD ABC D ABCD+ + +

À noter :

Ici, les cas facultatifs sont considérés comme des 1

Cas facultatifs

Page 35: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

35

0001

0010

×010 1××0* *

* Implicant premier

0100

1000

1010

1100

0111

1011

1101

1110

1111

×100

10×0

1×00

101×

1×10

110×

11×0

×111

1×11

11×1

111×

**

*

1×1×

11××**

Cas facultatifs (…)

Page 36: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

36

0001

×010

×100

0001 0010 0100 0111 1000

*

*

×111

1××0

1×1×

11××

*

*

*

À noter :

Ici, les cas facultatifsne sont pas considérés

P ABCD BC D BC D BCD AD= + + + +

Cas facultatifs (…)

Page 37: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

37

Prochain cours???

On va découvrir ce que c’est qu’une machine à états finis.On va pouvoir faire des robots et tout plein de machins chouettesOn va réaliser à quel point le numérique c’est fort!!!Mais avant de plonger, on va un peu s’amuser

Page 38: Chapitre3-3 - groupes.polymtl.ca · 2 Kesséssa? Quine-McCluskey est une méthode (un algorithme) de simplification de fonctions logiques Une table de Karnaugh permet de simplifier

38

Prochain cours???