← Retour au sommaire

Chapitre 22 – Algèbres de Boole

BTS | Mathématiques | Groupements B2, B3

Objectifs du chapitre
Situation professionnelle — Logique combinatoire dans un automatisme industriel

Un technicien en automatismes programme un automate programmable industriel (API) pour commander un convoyeur de tri de pièces. La sortie « moteur en marche » doit être activée lorsque : le capteur de présence pièce est actif ET la sécurité porte n'est pas déclenchée, OU lorsqu'un mode test forcé est sélectionné par l'opérateur. Formaliser ce cahier des charges en équation logique, simplifier l'expression et la câbler sur un circuit numérique sont des compétences directement issues de l'algèbre de Boole. Ce chapitre fournit toutes les bases nécessaires à ces tâches.

1. Définition d'une algèbre de Boole

Définition — Algèbre de Boole

Une algèbre de Boole est un ensemble \(B = \{0,\,1\}\) muni de trois opérations :

Ces opérations satisfont un ensemble d'axiomes garantissant la cohérence du calcul logique. En électronique numérique, \(0\) correspond à un niveau bas (environ 0 V) et \(1\) à un niveau haut (environ 3,3 V ou 5 V selon la technologie).

Exemple — Tables des opérations de base
OU (\(+\))
ab\(a + b\)
000
011
101
111
ET (\(\cdot\))
ab\(a \cdot b\)
000
010
100
111
NON (\(\bar{a}\))
a\(\bar{a}\)
01
10

La priorité des opérations est : NON > ET > OU (comme en arithmétique classique : négation > produit > somme).

2. Axiomes et théorèmes fondamentaux

Propriétés — Axiomes de l'algèbre de Boole

Pour tout \(a, b, c \in \{0,1\}\) :

NomET (\(\cdot\))OU (\(+\))
Éléments neutres\(a \cdot 1 = a\)\(a + 0 = a\)
Éléments absorbants\(a \cdot 0 = 0\)\(a + 1 = 1\)
Idempotence\(a \cdot a = a\)\(a + a = a\)
Complémentarité\(a \cdot \bar{a} = 0\)\(a + \bar{a} = 1\)
Involution\(\overline{\bar{a}} = a\)
Commutativité\(a \cdot b = b \cdot a\)\(a + b = b + a\)
Associativité\((a \cdot b) \cdot c = a \cdot (b \cdot c)\)\((a+b)+c = a+(b+c)\)
Distributivité\(a \cdot (b+c) = a b + a c\)\(a + bc = (a+b)(a+c)\)
Absorption\(a(a+b) = a\)\(a + ab = a\)
Théorèmes de De Morgan

Les théorèmes de De Morgan permettent de distribuer une négation sur une opération logique :

$$\overline{a \cdot b} = \bar{a} + \bar{b} \qquad \text{(NON d'un ET = OU des NON)}$$ $$\overline{a + b} = \bar{a} \cdot \bar{b} \qquad \text{(NON d'un OU = ET des NON)}$$

Généralisation à \(n\) variables :

$$\overline{a_1 \cdot a_2 \cdots a_n} = \bar{a}_1 + \bar{a}_2 + \cdots + \bar{a}_n$$ $$\overline{a_1 + a_2 + \cdots + a_n} = \bar{a}_1 \cdot \bar{a}_2 \cdots \bar{a}_n$$
Exemple — Application de De Morgan

Simplifier \(S = \overline{(A + B) \cdot C}\).

$$S = \overline{(A+B) \cdot C} = \overline{A+B} + \bar{C} = \bar{A}\bar{B} + \bar{C}$$

Puis vérifier les cas limites : si \(A=0,\,B=0,\,C=1\) alors \(S=1\cdot 1+0=1\) ✓

Attention — Erreurs fréquentes

3. Fonctions booléennes

Définition — Fonction booléenne

Une fonction booléenne de \(n\) variables est une application \(f : \{0,1\}^n \to \{0,1\}\).

Pour \(n\) variables, la table de vérité comporte \(2^n\) lignes.

Elle peut être représentée par :

Méthode — Formes canoniques (SOM et POM)

Somme de mintermes — FND (Forme Normale Disjonctive)

Le minterme \(m_i\) est le produit de toutes les variables, chacune complémentée ou non selon le rang binaire \(i\). On écrit la fonction comme somme des mintermes où \(f=1\).

Numérotation : le rang \(i\) est la valeur décimale de la combinaison des variables. Ex. \((A,B,C)=(1,0,1)\) donne \(i=5\), minterme \(m_5 = A\bar{B}C\).

Produit de maxtermes — FNC (Forme Normale Conjonctive)

Le maxterme \(M_i\) est la somme de toutes les variables. On écrit la fonction comme produit des maxtermes où \(f=0\).

Ex. \((A,B,C)=(0,1,0)\) donne \(i=2\), maxterme \(M_2 = A+\bar{B}+C\).

Exemple — Table de vérité et formes canoniques (3 variables)

Soit \(f(A,B,C)\) définie par la table :

ABCf
00001
10010
20101
30110
41001
51011
61100
71111

FND : \(f = m_0 + m_2 + m_4 + m_5 + m_7 = \bar{A}\bar{B}\bar{C} + \bar{A}B\bar{C} + A\bar{B}\bar{C} + A\bar{B}C + ABC\)

FNC : \(f = M_1 \cdot M_3 \cdot M_6\)

4. Simplification des fonctions booléennes

4.1 Simplification algébrique

Méthode — Simplification algébrique
  1. Développer si nécessaire (distributivité).
  2. Regrouper les termes partageant un sous-produit commun.
  3. Appliquer absorption, idempotence, complémentarité.
  4. Vérifier avec quelques lignes de la table de vérité.
Exemple 1 — Factorisation et absorption

Simplifier \(f = AB + A\bar{B} + \bar{A}B\).

$$f = A(B + \bar{B}) + \bar{A}B = A \cdot 1 + \bar{A}B = A + \bar{A}B$$ $$= (A + \bar{A})(A + B) = 1 \cdot (A + B) = A + B$$
Exemple 2 — Utilisation de De Morgan

Simplifier \(g = \overline{A\bar{B}} \cdot \overline{\bar{A}B}\).

$$g = (\bar{A} + B)(A + \bar{B})$$ $$= \bar{A}A + \bar{A}\bar{B} + BA + B\bar{B} = 0 + \bar{A}\bar{B} + AB + 0 = \bar{A}\bar{B} + AB$$

C'est la fonction XNOR : \(g = \overline{A \oplus B}\).

4.2 Tableaux de Karnaugh (K-map)

Définition — Tableau de Karnaugh

Le tableau de Karnaugh est une grille représentant la table de vérité, où les cases voisines ne diffèrent que d'un seul bit (code Gray). Il est cyclique : les bords opposés sont adjacents.

Les groupes (implicants) de \(2^k\) cases à 1 adjacentes correspondent à des termes simplifiés. Plus le groupe est grand, moins il contient de variables.

Méthode — Tableau de Karnaugh à 2 variables
\(\bar{B}\ (B{=}0)\)\(B\ (B{=}1)\)
\(\bar{A}\ (A{=}0)\)01
\(A\ (A{=}1)\)11

Groupe de 2 : \(\{(0,1),(1,1)\} \Rightarrow B\) | Groupe de 2 : \(\{(1,0),(1,1)\} \Rightarrow A\)

Résultat : \(f = A + B\)

Méthode — Tableau de Karnaugh à 3 variables

On dispose A en ligne, B et C en colonnes en code Gray : 00, 01, 11, 10.

A \ BC00011110
\(A=0\)1001
\(A=1\)1111

Groupe de 4 (ligne bas + coins gauches/droits) : \(A\) | Groupe de 4 (colonne 00 + 10) : \(\bar{C}\)

Résultat : \(f = A + \bar{C}\)

Méthode — Tableau de Karnaugh à 4 variables

Variables AB en lignes, CD en colonnes, chacun en code Gray.

AB \ CD00011110
001101
010100
110100
101101

Groupe de 4 (colonne 01 entière) : \(\bar{C}D\) | Groupe de 4 (coins) : \(\bar{B}\bar{D}\)

Résultat : \(f = \bar{C}D + \bar{B}\bar{D}\)

Attention — Règles du K-map à respecter

5. Portes logiques

Définition — Porte logique

Une porte logique est un composant électronique réalisant une fonction booléenne élémentaire sur un ou plusieurs bits. Elle est caractérisée par son symbole normalisé (norme CEI 60617 ou norme américaine MIL) et sa table de vérité.

AND (ET)

\(S = A \cdot B\)

ABS
000
010
100
111

OR (OU)

\(S = A + B\)

ABS
000
011
101
111

NOT (NON)

\(S = \bar{A}\)

AS
01
10

NAND (NON-ET)

\(S = \overline{A \cdot B}\)

ABS
001
011
101
110

NOR (NON-OU)

\(S = \overline{A + B}\)

ABS
001
010
100
110

XOR (OU exclusif)

\(S = A \oplus B = A\bar{B} + \bar{A}B\)

ABS
000
011
101
110
À retenir — Universalité des portes NAND et NOR

Les portes NAND et NOR sont dites universelles : toute fonction logique peut être réalisée en n'utilisant que l'un ou l'autre type.

FonctionAvec NANDAvec NOR
NOT \(A\)\(\overline{A \cdot A}\)\(\overline{A + A}\)
AND \(AB\)\(\overline{\overline{A \cdot B}}\)\(\overline{\overline{A+A}+\overline{B+B}}\)
OR \(A+B\)\(\overline{\bar{A} \cdot \bar{B}}\)\(\overline{\overline{A+B}}\)

6. Circuits combinatoires

Définition — Circuit combinatoire

Un circuit combinatoire est un circuit logique dont les sorties dépendent uniquement des valeurs présentes des entrées, sans mémoire d'états passés. Il est entièrement caractérisé par sa table de vérité.

6.1 Demi-additionneur (Half-Adder)

Exemple — Demi-additionneur

Additionne deux bits \(A\) et \(B\). Sorties : somme \(S\) et retenue sortante \(C_{out}\).

$$S = A \oplus B \qquad C_{out} = A \cdot B$$
ABS\(C_{out}\)
0000
0110
1010
1101

Réalisation : 1 porte XOR + 1 porte AND.

6.2 Additionneur complet (Full-Adder)

Exemple — Additionneur complet

Additionne trois bits : données \(A\), \(B\) et retenue entrante \(C_{in}\).

$$S = A \oplus B \oplus C_{in}$$ $$C_{out} = AB + (A \oplus B) \cdot C_{in}$$

On peut cascader des additionneurs complets pour additionner des mots de \(n\) bits (additionneur ripple-carry).

6.3 Comparateur 1 bit

Exemple — Comparateur 1 bit

Compare deux bits \(A\) et \(B\). Trois sorties :

$$S_{=}\ :\ A=B \quad\Rightarrow\quad S_{=} = \overline{A \oplus B} = AB + \bar{A}\bar{B}$$ $$S_{>}\ :\ A>B \quad\Rightarrow\quad S_{>} = A\bar{B}$$ $$S_{<}\ :\ A<B \quad\Rightarrow\quad S_{<} = \bar{A}B$$

6.4 Multiplexeur (MUX)

Définition — Multiplexeur

Un multiplexeur \(2^n\)-vers-1 (MUX) aiguille une des \(2^n\) entrées de données vers la sortie unique, selon le code présent sur les \(n\) entrées de sélection.

MUX 2-vers-1 : \(S = \overline{SEL} \cdot I_0 + SEL \cdot I_1\)

MUX 4-vers-1 : \(S = \bar{S}_1\bar{S}_0 I_0 + \bar{S}_1 S_0 I_1 + S_1\bar{S}_0 I_2 + S_1 S_0 I_3\)

Applications : aiguillage de bus, conversion parallèle-série, réalisation de fonctions logiques quelconques.

6.5 Décodeur

Définition — Décodeur

Un décodeur \(n\)-vers-\(2^n\) active exactement une sortie parmi \(2^n\) selon le code binaire de \(n\) bits en entrée.

Décodeur 2-vers-4 (toutes sorties actives à 1) :

$$Y_0 = \bar{A}\bar{B},\quad Y_1 = \bar{A}B,\quad Y_2 = A\bar{B},\quad Y_3 = AB$$

Applications : sélection de mémoire, afficheur 7 segments, démultiplexage.

7. Circuits séquentiels — Bascules

Définition — Circuit séquentiel

Un circuit séquentiel possède une mémoire : ses sorties dépendent des entrées actuelles et de l'état passé. La bascule (flip-flop) est l'élément de mémorisation 1 bit fondamental.

On distingue :

7.1 Bascule RS

Bascule RS (Set-Reset)

Entrées : \(S\) (Set = forcer \(Q=1\)), \(R\) (Reset = forcer \(Q=0\)). Sorties : \(Q\) et \(\bar{Q}\).

SR\(Q_{n+1}\)Commentaire
00\(Q_n\)Mémorisation (pas de changement)
010Reset : mise à 0
101Set : mise à 1
11InterditContradiction : Q = Q_bar = 1
État \(S=R=1\) interdit : les deux sorties seraient à 1 simultanément, ce qui contredit \(Q \neq \bar{Q}\). À proscrire absolument dans la conception.

7.2 Bascule JK

Bascule JK

Amélioration de la RS : l'état \(J=K=1\) est redéfini comme basculation (toggle) au lieu d'être interdit.

JK\(Q_{n+1}\)Commentaire
00\(Q_n\)Mémorisation
010Reset
101Set
11\(\bar{Q}_n\)Basculement (toggle)

Équation caractéristique : \(Q_{n+1} = J\bar{Q}_n + \bar{K}Q_n\)

7.3 Bascule D

Bascule D (Data / Delay)

Une seule entrée de donnée \(D\). Sur le front actif de l'horloge (généralement montant ↑), la sortie copie l'entrée.

$$Q_{n+1} = D$$
DCLK\(Q_{n+1}\)
00
11
Xbas ou haut (pas de front)\(Q_n\) (mémorisation)

Applications : registres à décalage, mémoires vives SRAM, verrous.

7.4 Bascule T

Bascule T (Toggle)

Si \(T=1\), la sortie bascule à chaque front d'horloge actif. Si \(T=0\), mémorisation.

$$Q_{n+1} = T \oplus Q_n$$
T\(Q_n\)\(Q_{n+1}\)
000
011
101
110

Applications : compteurs binaires, diviseurs de fréquence (une bascule T avec \(T=1\) divise la fréquence par 2).

À retenir — Récapitulatif des bascules
BasculeEntréesÉquationParticularité
RSS, RSet ou Reset de QS=R=1 interdit
JKJ, K\(Q_{n+1}=J\bar{Q}+\bar{K}Q\)J=K=1 → toggle
DD\(Q_{n+1}=D\)Transparente/synchrone
TT\(Q_{n+1}=T\oplus Q\)Diviseur de fréquence
Synthèse du chapitre 22