Module 1 — Circuits combinatoires : ton premier calculateur

Assembler des portes logiques pour faire de l'arithmétique.

1.1 — L'idée : combiner les portes

Au Module 0, chaque porte faisait une micro-décision. La magie commence quand on branche la sortie d'une porte sur l'entrée d'une autre : on obtient des circuits qui calculent. Un circuit combinatoire est un circuit sans mémoire : la sortie dépend uniquement des entrées du moment.

Objectif du module : construire un circuit qui additionne deux nombres. C'est exactement ce que fait l'ALU de ton processeur — et l'addition est l'opération n°1 d'un réseau de neurones (avec la multiplication).

1.2 — Le demi-additionneur (half-adder)

Additionnons deux bits A et B. Quatre cas possibles :

Regarde bien la colonne « somme » : 0, 1, 1, 0… c'est la table du XOR ! Et la retenue : 0, 0, 0, 1… c'est la table du ET ! Donc :

Demi-additionneur = une porte XOR (pour la somme S) + une porte ET (pour la retenue C). Deux portes suffisent pour additionner deux bits. 🤯

Simulateur : demi-additionneur

Actionne A et B. Observe : XOR donne la somme, ET donne la retenue.

XOR
somme
ET
retenue
S = 0
C = 0
A + B = 0

1.3 — L'additionneur complet (full-adder)

Problème : quand on pose une addition à plusieurs colonnes, chaque colonne doit aussi ajouter la retenue venant de la colonne précédente — comme à l'école en décimal. Il faut donc additionner 3 bits : A, B, et la retenue entrante Cin.

La recette : deux demi-additionneurs + une porte OU. Le premier additionne A et B, le second ajoute Cin au résultat, et le OU combine les deux retenues possibles.

1.4 — Chaîner : l'additionneur 4 bits

Maintenant on met 4 additionneurs complets côte à côte, la retenue de chacun branchée sur le suivant — comme une retenue qui « ruisselle » de colonne en colonne (ripple-carry adder). Et voilà : un circuit qui additionne deux nombres de 4 bits, fait uniquement de portes ET, OU, XOR.

Simulateur : additionneur 4 bits complet

Clique sur les bits de A et B. Les retenues apparaissent en orange au-dessus, le résultat s'allume en bas. Défis : fais 7 + 1, puis 9 + 6, puis 15 + 15 (que remarques-tu ?).

retenues →
A= 0
+ B= 0
= S= 0
💡 Le 5ᵉ bit qui s'allume à gauche quand le résultat dépasse 15, c'est le débordement (overflow) — la retenue finale. Les vrais processeurs ont un drapeau spécial pour le détecter. Ton processeur 64 bits fait exactement ça, avec 64 colonnes au lieu de 4.

1.5 — Vérifie tes connaissances

Quiz du module

1. Un demi-additionneur est composé de :

2. En binaire, 0111 + 0001 = ?

3. À quoi sert la retenue (carry) dans un additionneur ?

4. Pour additionner deux nombres de 8 bits, il faut chaîner :

Réponds juste aux 4 questions du quiz pour débloquer.

← Module 0 Module 2 : le Verilog →