Sciences de l'Ingénieur · Bac Sciences et Technologies Électriques

Fonctions Logiques Combinatoires Avancées

Au-delà des portes de base : simplification par tableau de Karnaugh, multiplexeurs, démultiplexeurs, décodeurs et additionneurs binaires — les briques des systèmes numériques industriels.

Objectifs d'apprentissage

  • Simplifier une fonction logique à l'aide d'un tableau de Karnaugh (jusqu'à 4 variables)
  • Justifier l'usage du code Gray sur les axes du tableau de Karnaugh (une seule variable change entre cases adjacentes)
  • Regrouper les cases à 1 par puissances de 2 (1, 2, 4, 8...), y compris à cheval sur les bords opposés du tableau
  • Exploiter les cases indifférentes (don't care) pour simplifier au maximum une expression logique
  • Décrire le fonctionnement d'un multiplexeur (sélection d'une entrée parmi 2^n via n bits d'adresse)
  • Décrire le fonctionnement d'un démultiplexeur et d'un décodeur
  • Établir la table de vérité et les équations d'un demi-additionneur et d'un additionneur complet
  • Réaliser une fonction logique donnée à l'aide de portes universelles NAND ou NOR uniquement

Formules et résultats clés

Tableau de Karnaugh

Un tableau de Karnaugh organise tous les cas possibles d'une fonction logique de sorte que deux cases adjacentes (horizontalement ou verticalement) ne diffèrent que par une seule variable — grâce à un ordre en code Gray(00, 01, 11, 10) sur les axes, jamais l'ordre binaire naturel. On regroupe ensuite les cases à 1 par blocs de taille une puissance de 2 (1, 2, 4, 8...), y compris à cheval sur les bords opposés du tableau : chaque regroupement élimine la ou les variables qui changent à l'intérieur du bloc.

Multiplexeur et démultiplexeur

Un multiplexeur (MUX) à 2ⁿ entrées de données sélectionne, via n bits d'adresse, laquelle de ces entrées est transmise vers son unique sortie. Un démultiplexeur(DEMUX) fait l'inverse : il aiguille son unique entrée vers l'une des 2ⁿ sorties, choisie elle aussi par n bits d'adresse.

Nombre d’entreˊes (MUX) ou de sorties (DEMUX)=2n\text{Nombre d'entrées (MUX) ou de sorties (DEMUX)} = 2^{n}

Décodeur et codeur de priorité

Un décodeur active une seule de ses 2ⁿ sorties en fonction du mot binaire présent sur ses n entrées d'adresse (par exemple pour piloter un afficheur 7 segments). Un codeur de prioritéfait l'inverse : face à plusieurs entrées actives simultanément, il ne code que l'entrée la plus prioritaire.

Demi-additionneur

S=ABC=ABS = A \oplus B \qquad C = A \cdot B

Le demi-additionneur (half-adder) additionne seulement deux bits A et B : S est la somme (bit de poids faible) et C la retenue sortante. Il ne prend en compte aucune retenue entrante.

Additionneur complet

S=ABCinCout=AB+ACin+BCinS = A \oplus B \oplus C_{in} \qquad C_{out} = AB + A\,C_{in} + B\,C_{in}

L'additionneur complet (full-adder) ajoute une retenue entrante CinC_{in} aux entrées A et B, ce qui permet de chaîner plusieurs étages (un par bit) pour construire un additionneur binaire sur n bits, la retenue sortante de chaque étage devenant la retenue entrante de l'étage suivant.

Erreurs fréquentes

1

Oublier que le tableau de Karnaugh nécessite un ordre en code Gray sur ses axes (00, 01, 11, 10) — une seule variable change entre deux colonnes ou lignes adjacentes, jamais l'ordre binaire naturel (00, 01, 10, 11).

2

Confondre demi-additionneur (2 entrées, pas de retenue entrante) et additionneur complet (3 entrées : A, B et la retenue entrante Cin).

3

Confondre multiplexeur (n bits d'adresse sélectionnent 1 entrée parmi 2^n vers 1 seule sortie) et démultiplexeur (1 entrée aiguillée vers 1 sortie parmi 2^n).

4

Oublier les cases indifférentes (don't care, notées X) lors d'un groupement Karnaugh : elles peuvent être comptées comme 0 ou comme 1 selon ce qui permet le plus grand regroupement possible.

5

Croire qu'un groupement Karnaugh doit être carré ou ne pas toucher les bords : toute forme rectangulaire de taille une puissance de 2 est valable, y compris les groupements qui enjambent les bords opposés du tableau (le tableau est torique).

Exemple corrigé — Simplification par tableau de Karnaugh

Énoncé

Une fonction logique de trois variables A, B, C vaut 1 pour les combinaisons suivantes : (A,B,C){(0,1,0);(0,1,1);(1,1,0);(1,1,1)}(A,B,C) \in \{(0,1,0);(0,1,1);(1,1,0);(1,1,1)\}, et 0 pour toutes les autres. Simplifier cette fonction.

Correction

Les quatre combinaisons à 1 partagent toutes B = 1, et prennent toutes les valeurs possibles de A et C : (0,1,0), (0,1,1), (1,1,0), (1,1,1) forment donc un groupement complet de 4 cases dans le tableau de Karnaugh (un carré entier), dans lequel seule la variable B reste constante à 1.

La fonction se simplifie donc simplement en F=BF = B : ni A ni C n'ont d'influence sur le résultat, ils s'éliminent tous les deux dans ce regroupement de 4 cases.

3 exercices pour t'entraîner

Exercice 1

Facile

Simplifier la fonction logique F(A,B)=ABˉ+ABF(A,B) = A\bar{B} + AB.

Voir la correction

F=ABˉ+AB=A(Bˉ+B)=A×1=AF = A\bar{B} + AB = A(\bar{B}+B) = A \times 1 = A. Les deux termes ne diffèrent que par B : ils forment un groupement de 2 cases dans un tableau de Karnaugh, ce qui élimine la variable B.

Exercice 2

Moyen

Un multiplexeur doit sélectionner une donnée parmi 16 entrées possibles. Combien de bits d'adresse sont nécessaires ?

Voir la correction

Il faut nn bits d'adresse tels que 2n=162^n = 16, donc n=4n = 4 bits d'adresse (puisque 24=162^4 = 16).

Exercice 3

Difficile

Établir l'équation de la retenue sortante CoutC_{out} d'un additionneur complet en fonction de AA, BB et de la retenue entrante CinC_{in}, sachant que Cout=1C_{out} = 1 dès qu'au moins deux des trois entrées valent 1.

Voir la correction

Il suffit qu'au moins deux entrées parmi AA, BB, CinC_{in} soient à 1 : Cout=AB+ACin+BCinC_{out} = AB + A\,C_{in} + B\,C_{in}. On vérifie que si les trois entrées valent 1 (A=B=Cin=1A=B=C_{in}=1), les trois termes valent 1 et Cout=1C_{out}=1, ce qui est cohérent puisque 1+1+1=111+1+1=11 en binaire, soit une somme de 1 avec une retenue de 1.

3 exercices, c'est un début.

Orka en génère autant que tu veux sur ce chapitre, à ton niveau, avec correction détaillée étape par étape.

Continue gratuitement sur Orka

Va plus loin sur ce chapitre

Questions fréquentes

Pourquoi le tableau de Karnaugh utilise-t-il un code Gray et pas l'ordre binaire naturel ?

Le code Gray garantit qu'une seule variable change d'état entre deux colonnes (ou deux lignes) adjacentes du tableau. C'est cette propriété qui rend les cases voisines réellement comparables terme à terme : deux cases adjacentes ne diffèrent que par une seule variable, ce qui permet de les regrouper et d'éliminer cette variable dans l'expression simplifiée. Avec un ordre binaire naturel, plusieurs variables changeraient parfois entre deux cases voisines, ce qui casserait cette propriété et rendrait les regroupements invalides.

Quelle est la différence entre un multiplexeur et un démultiplexeur ?

Un multiplexeur (MUX) sélectionne, parmi 2^n entrées de données, celle qui est aiguillée vers une unique sortie — la sélection se fait grâce à n bits d'adresse. Un démultiplexeur (DEMUX) réalise l'opération inverse : il aiguille une unique entrée de données vers une seule sortie parmi 2^n possibles, toujours choisie par n bits d'adresse. Le MUX concentre plusieurs signaux vers un seul, le DEMUX répartit un seul signal vers plusieurs destinations possibles.

Quelle est la différence entre un demi-additionneur et un additionneur complet ?

Un demi-additionneur (half-adder) additionne seulement deux bits A et B, sans tenir compte d'une retenue entrante : il produit une somme S = A⊕B et une retenue sortante C = A·B. Un additionneur complet (full-adder) additionne trois bits — A, B et une retenue entrante Cin — ce qui permet de chaîner plusieurs étages pour additionner des nombres binaires sur plusieurs bits, chaque étage transmettant sa retenue sortante à l'étage suivant.