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) :
| E3 | E2 | E1 | E0 | A (MSB) | B (LSB) |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 0 | 0 |
| 0 | 0 | 1 | 0 | 0 | 1 |
| 0 | 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 0 | 0 | 1 | 1 |
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 :
| A | B | S0 | S1 | S2 | S3 |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 0 | 0 |
| 1 | 0 | 0 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 | 0 | 1 |
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.
| S1 | S0 | Y (sortie) |
|---|---|---|
| 0 | 0 | D0 |
| 0 | 1 | D1 |
| 1 | 0 | D2 |
| 1 | 1 | D3 |
Expression : Y = S̄1·S̄0·D0 + S̄1·S0·D1 + S1·S̄0·D2 + S1·S0·D3
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).
| A | B | S (Somme) | C (Retenue) |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
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).
- 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.