Leçon 5 / 8
Leçon 05 · ~30 min · Partie 2 — Circuits

Circuits combinatoires

Définition : pas de mémoire

Un circuit combinatoire est un circuit dont la sortie dépend uniquement des entrées présentes à l'instant t. Pas de mémoire, pas d'historique : les mêmes entrées donnent toujours les mêmes sorties. C'est l'opposé des circuits séquentiels (leçon 07) qui "se souviennent" de leur état passé.

On peut toujours décrire un circuit combinatoire par une table de vérité et une expression booléenne.

L'encodeur : plusieurs entrées → code binaire

Un encodeur convertit N lignes d'entrée (une seule active à la fois) en un code binaire de log₂(N) bits. L'encodeur 4 vers 2 transforme 4 entrées (E0, E1, E2, E3) en 2 bits de sortie (A, B) :

E3E2E1E0A (MSB)B (LSB)
000100
001001
010010
100011

Expressions : A = E2 + E3, B = E1 + E3. Juste deux portes OR !

Le décodeur : code binaire → une sortie active

Un décodeur fait l'inverse de l'encodeur. Un décodeur 2 vers 4 prend 2 bits (A, B) et active l'une des 4 sorties :

ABS0S1S2S3
001000
010100
100010
110001

Expressions : S0 = Ā·B̄, S1 = Ā·B, S2 = A·B̄, S3 = A·B. On reconnaît les minterms (chaque case de la table = un AND).

Le multiplexeur (MUX) : sélectionner une entrée

Un multiplexeur est l'équivalent d'un interrupteur rotatif numérique : il choisit parmi N entrées et connecte la sélectionnée à la sortie. Le MUX 4 vers 1 a 4 entrées de données (D0 à D3), 2 bits de sélection (S1, S0) et une sortie Y.

S1S0Y (sortie)
00D0
01D1
10D2
11D3

Expression : Y = S̄1·S̄0·D0 + S̄1·S0·D1 + S1·S̄0·D2 + S1·S0·D3

💡
Un MUX 2ⁿ vers 1 a besoin de n bits de sélection. Les MUX sont omniprésents dans les bus de données des processeurs, où ils aiguillent les données vers le bon registre ou la bonne unité de traitement.

Le démultiplexeur (DEMUX)

Le DEMUX fait l'inverse du MUX : il prend une entrée et l'achemine vers l'une des N sorties selon les bits de sélection. Le décodeur 2→4 avec enable est fonctionnellement identique à un DEMUX 1→4.

Le semi-additionneur (Half Adder)

Le semi-additionneur additionne deux bits A et B et produit deux sorties : la Somme S et la Retenue C (Carry).

ABS (Somme)C (Retenue)
0000
0110
1010
1101
S = A ⊕ B    C = A · B
A B XOR S AND C

Semi-additionneur : une porte XOR pour la somme, une porte AND pour la retenue

Limite : le semi-additionneur ne peut pas recevoir de retenue d'entrée. Pour chaîner des additions multi-bits, on a besoin d'un additionneur complet (leçon 06).

// À retenir
  • Circuit combinatoire : sortie = f(entrées actuelles). Pas de mémoire.
  • Encodeur : N entrées one-hot → log₂(N) bits de sortie.
  • Décodeur : n bits → active l'une des 2ⁿ sorties.
  • MUX : sélectionne une entrée parmi N et la renvoie en sortie.
  • DEMUX : aiguille une entrée vers l'une des N sorties.
  • Semi-additionneur : S = XOR, C = AND. Pas de retenue entrante.