
{circuit.blocs.length ? 'Les blocs de la palette contiennent celui où vous êtes : un bloc ne peut pas se contenir lui-même.' : 'Aucun bloc pour l’instant. Choisissez des portes (Maj + glisser sur le fond les encadre), puis « Regrouper en bloc » : le bloc apparaîtra ici, prêt à être posé autant de fois que vous voulez.'}
{posesOuverte > 1 ? 'Vous voyez les valeurs de ce bloc-là. Ce que vous changez ici change les ' + posesOuverte + ' blocs « ' + filAriane[filAriane.length - 1].nom + ' ».' : 'Vous voyez les valeurs du bloc en marche. Ce que vous changez ici change le bloc lui-même.'}
{detailsComposant.texte}
{ligne}
{texteEnLAir}
| {lettresEntrees[i]} | S |
|---|---|
| {v} | {ligne.s} |
{infoBloc.contenu + ' ' + infoBloc.poses}
| {nomColonne(c)} | {nomColonne(c)} |
|---|---|
| {v} | {texteSortieTable(infoBloc.table.sorties[i], v)} |
{infoBloc.sansTable}
{texteFil.texte}
Déplacez-les ensemble, ou regroupez-les en un bloc réutilisable : les fils qui entrent dans le morceau deviennent ses entrées, ceux qui en sortent ses sorties. Les interrupteurs, les lampes et les afficheurs restent dehors.
Cliquez sur un composant pour le régler et voir ce qu’il fait. Pour relier deux composants, tirez un fil d’une broche à une autre ; au doigt, touchez une broche puis l’autre. Maj + glisser sur le fond choisit plusieurs composants, que « Regrouper en bloc » réunit en un seul ; glisser le fond déplace la vue.
Toutes les combinaisons des entrées, et ce que montrent les sorties. Cliquez sur une ligne : les entrées prennent ses valeurs.
{texteDoublons}
| {nomColonne(c)} | {nomColonne(c)} |
|---|---|
| {v} | {texteSortieTable(tableCircuit.sorties[i], v)} |
{raisonSansTable}
Un 0 dans une expression vient d’une entrée en l’air, comptée comme 0.
Une barre au-dessus veut dire NON, « · » veut dire ET, « + » veut dire OU et « ⊕ » OU exclusif.
Chaque colonne est un instant : une entrée qu’on change, un coup d’horloge, ou un pas en mode pas à pas. On y lit l’ordre des événements, et les impulsions brèves que laisse passer une porte en retard.
Ajoutez des interrupteurs, une horloge, des lampes ou des afficheurs : ils s’affichent ici.
{defiActif.consigne}
{portesDuDefi}
{defiActif.indice}
{resultatDefi.message}
Un défi pose les interrupteurs et les lampes : à vous de câbler les portes entre les deux. « Vérifier » essaie toutes les combinaisons des entrées, et dit laquelle ne va pas.
| Circuit | Composants | Expressions des sorties | Note | Garder |
| {y} |

Simulateur de circuits logiques : construire, simuler, comprendre
Ce simulateur ne garantit pas le résultat. Il est fourni à titre indicatif et pédagogique : contrôlez les résultats importants avant de vous en servir, notamment pour un montage réel.
Ce simulateur de circuits logiques se manipule comme une table de montage : on y pose des interrupteurs, des portes logiques, des lampes, des bascules ou des octets, on les relie par des fils, et le circuit fonctionne aussitôt. Il est pensé pour apprendre : chaque composant explique ce qu’il fait, la table de vérité et l’expression de chaque sortie se calculent toutes seules, et des défis corrigés permettent de s’exercer.
Pour bien démarrer, sans rien connaître :
- La page s’ouvre sur une porte ET : cliquez sur les interrupteurs A et B, et regardez la lampe. Les fils à 1 sont en orange.
- Glissez une autre porte depuis la palette, puis tirez un fil d’une broche (les petits cercles au bout des pattes) jusqu’à une autre. Au doigt : touchez une broche, puis l’autre.
- Cliquez sur un composant : ses réglages et son explication s’affichent sous le schéma, avec sa table quand c’est une porte.
- Allumez ⚡ Tension et courant pour voir les tensions des fils, puis essayez un défi.

Les composants
La palette les range en six familles. Chaque composant se règle une fois choisi : son nom, son nombre d’entrées, son nombre de bits…
| Famille | Composants | À quoi ils servent |
|---|---|---|
| Entrées | interrupteur, bouton poussoir, constante 0 ou 1, horloge, nombre de plusieurs bits | donner les valeurs de départ, à la main ou au rythme de l’horloge |
| Portes | ET, OU, NON, OU exclusif, NON-ET, NON-OU, NON-OU exclusif, tampon | calculer : de 2 à 8 entrées, sur un bit ou bit à bit sur un octet |
| Octets | séparateur, créateur d’octet, afficheur de nombre, additionneur | passer des bits aux nombres, et calculer sur des nombres |
| Sorties | lampe, afficheur 7 segments, afficheur hexadécimal, note | voir le résultat ; la note sert à annoter le schéma |
| Mémoire | bascules D, JK et T, compteur | garder une valeur, compter les coups d’horloge |
| Blocs | les morceaux de circuit que vous avez regroupés | réutiliser un circuit sous un seul symbole, autant de fois qu’on veut |
Les portes se dessinent avec les symboles américains (ANSI, aux formes arrondies), ou européens (IEC 60617, des rectangles marqués &, ≥1, =1 ou 1). Le bouton Symboles passe de l’un à l’autre.
Relier les composants : broches, fils et bus
- Une broche est le bout d’une patte : à gauche les entrées, à droite les sorties. Une broche encore libre est marquée d’un petit cercle.
- Un fil va d’une sortie à une entrée. Une sortie peut alimenter autant d’entrées qu’on veut ; un point noir marque l’endroit où le fil se sépare. Deux fils qui se croisent sans point ne se touchent pas.
- Une entrée ne reçoit qu’un fil. En tirer un second remplace le premier. Deux sorties ne se relient jamais : chacune impose sa tension, et elles se contrediraient. Dans un vrai montage, ce serait un court-circuit.
- Une entrée en l’air, reliée à rien, est entourée de rose. Le simulateur la compte comme 0, mais dans un vrai circuit elle ne vaut ni 0 ni 1 : elle capte les parasites et le circuit se comporte au hasard. Reliez-la, au besoin à une constante.
- Un bus est un fil épais qui porte plusieurs bits d’un coup, et sa valeur s’affiche à sa sortie. Un fil ne relie que deux broches de même largeur : 8 bits avec 8 bits, 1 bit avec 1 bit.
Le tracé des fils est automatique, à angle droit. Pour déplacer un coude, choisissez le fil et tirez sa poignée carrée.
Les octets : séparer et regrouper les bits
Un octet, ce sont 8 bits qui forment un nombre de 0 à 255. Chaque bit a un poids : le bit 0 vaut 1, le bit 1 vaut 2, le bit 2 vaut 4… jusqu’au bit 7 qui vaut 128. Le nombre 42 s’écrit 0010 1010 : 32 + 8 + 2.
- Le créateur d’octet réunit des fils d’un bit en un seul bus. L’exemple « Créer un octet, bit par bit » relie 8 interrupteurs à un afficheur.
- Le séparateur fait l’inverse : il sort chaque bit d’un bus sur son propre fil. Le bit de poids fort est en haut.
- L’afficheur de nombre lit un bus en binaire, en décimal et en hexadécimal. Réglé « avec signe », il le lit en complément à deux : sur 8 bits, 255 devient −1, comme dans un processeur.
- Une porte peut travailler sur un octet : réglée sur 8 bits, une porte ET combine ses entrées bit par bit. C’est le principe d’un masque, comme les masques de sous-réseau en informatique.
- L’additionneur additionne deux nombres et une retenue. Sa retenue de sortie s’allume quand le résultat ne tient plus dans le nombre de bits : 200 + 100 ne tient pas dans un octet.
Pour passer d’une base à l’autre sans circuit, voyez le convertisseur décimal, binaire et hexadécimal.
Tension et courant : ce qui se passe dans les fils
Dans un circuit électronique, un 1 et un 0 sont des tensions. Le bouton ⚡ Tension et courant les montre :
- Un fil à 1 est à la tension de l’alimentation, souvent 5 V ou 3,3 V : on dit qu’il est au niveau haut. Un fil à 0 est à 0 V, relié à la masse.
- Une entrée n’a pas besoin d’une tension exacte : un circuit de la famille 74HC lit un 0 en dessous de 30 % de la tension d’alimentation, et un 1 au-dessus de 70 %. Entre les deux, sa réponse n’est pas garantie.
- Le courant ne circule vraiment que vers ce qui consomme. Une entrée de porte CMOS n’en prend presque pas : c’est la tension qui porte l’information. Les tirets animés ne s’affichent donc que sur les fils qui alimentent une lampe.
- Une lampe est, dans la réalité, une LED avec une résistance qui limite son courant. Une LED rouge fait chuter environ 2 V : sous 5 V avec 330 Ω, il passe (5 − 2) / 330 ≈ 9 mA. Le simulateur l’indique à côté de chaque lampe allumée.
Pour calculer une résistance ou un courant, voyez les outils tension, courant, résistance et puissance et code couleur des résistances.
La mémoire : bascules, horloge et compteurs
Une porte ne retient rien : sa sortie ne dépend que de ses entrées du moment. Une bascule garde une valeur, et la change au front montant de son horloge, l’instant où celle-ci passe de 0 à 1.
- La bascule D recopie D au front montant, et le garde jusqu’au suivant. Réglée sur 8 bits, c’est un registre : la mémoire d’un octet.
- La bascule JKse met à 1 avec J, à 0 avec K, et s’inverse quand J et K valent 1 ensemble.
- La bascule T s’inverse à chaque front quand T vaut 1. Elle divise la fréquence par deux : en chaîne, elles comptent en binaire (exemple « Compter en binaire avec des bascules T »).
- Le compteur fait la même chose d’un seul bloc, et se remet à zéro par son entrée RAZ.
Deux portes NON-OU qui se tiennent l’une l’autre forment déjà une mémoire : c’est la bascule RS de l’exemple du même nom. L’horloge se lance avec ▶, ou avance d’un demi-coup avec Basculer H. Le chronogrammetrace l’histoire de chaque entrée et de chaque sortie, colonne par colonne : c’est le meilleur moyen de suivre un circuit à mémoire.
Le pas à pas : le temps de traversée d’une porte
Une vraie porte ne répond pas tout de suite : il lui faut quelques nanosecondes. En mode Pas à pas, chaque clic sur Pas suivant avance d’un temps de porte, et les composants qui attendent leur tour sont encadrés. On voit alors le signal traverser le circuit, porte après porte.
On y découvre aussi les aléas : reliez A à une porte ET, directement et à travers une porte NON. En théorie, A·Ā vaut toujours 0. Mais quand A passe à 1, la porte NON met un pas à réagir, et la porte ET voit un instant deux 1 : une brève impulsion parasite apparaît dans le chronogramme. C’est pour cela que les circuits à mémoire attendent le front d’horloge pour lire leurs entrées.
L’exemple « Trois NON en boucle » ne trouve jamais de repos : chaque porte inverse la suivante, sans fin. Le simulateur le signale ; en pas à pas, on le voit osciller.
Table de vérité et expression du circuit
Le volet Table de vérité essaie toutes les combinaisons des entrées et note ce qu’affiche chaque sortie, jusqu’à 6 bits d’entrée (64 lignes). Un clic sur une ligne règle les interrupteurs comme elle. Pour chaque lampe, l’outil lit aussi l’expression du circuit, porte après porte, avec la notation de l’algèbre de Boole.
Le lien Simplifier dans l’algèbre de Boole ouvre ces expressions dans la calculatrice d’algèbre de Boole : elle les simplifie règle par règle, dessine leur tableau de Karnaugh et compte les portes économisées. Un circuit à mémoire n’a pas de table de vérité : ses sorties dépendent aussi du passé.
Les blocs : regrouper un morceau de circuit pour le réutiliser
Un circuit qui grandit se lit mieux par morceaux. Un bloc réunit un morceau de circuit sous un seul symbole, comme une puce : ses entrées à gauche, ses sorties à droite, et son nom dans le bandeau du haut.
- Créer un bloc: choisissez les portes à regrouper (Maj + glisser sur le fond les encadre), puis Regrouper en bloc. Les fils qui entraient dans le morceau deviennent les entrées du bloc, ceux qui en sortaient ses sorties. Les interrupteurs, les lampes et les afficheurs restent dehors, et donnent leur nom aux broches.
- Le réutiliser : le bloc rejoint la palette, onglet Blocs. Posez-en autant que vous voulez, même dans un autre bloc : l’exemple « Additionner deux nombres de 2 bits » pose deux additionneurs complets, faits chacun de deux demi-additionneurs. La palette vous suit d’un exemple ou d’un défi à l’autre.
- Regarder dedans : un double clic sur un bloc, ou Voir l’intérieur, l’ouvre en marche, avec les valeurs de ce bloc-là. À l’intérieur, les interrupteurs sont les entrées du bloc et les lampes ses sorties. Ce que vous y changez change tous les blocs du même nom, et Échap remonte d’un niveau.
- Le défaire: Dégrouper remet son contenu dans le schéma, câblé comme avant.
Un bloc ne change rien au calcul : la table de vérité et l’expression de chaque lampe se lisent à travers lui, et en pas à pas le signal traverse ses portes comme si elles étaient dehors. Choisi, un bloc montre aussi sa propre table de vérité. Ainsi se conçoivent les vrais circuits, par briques assemblées : huit additionneurs complets à la suite, chacun passant sa retenue au suivant, additionnent deux octets.
Les défis
Chaque défi pose des interrupteurs et des lampes, et donne une consigne : à vous de câbler les portes entre les deux. Le bouton Vérifier essaie toutes les combinaisons des entrées, et dit précisément laquelle ne donne pas le bon résultat. Certains imposent une seule sorte de porte : on peut construire n’importe quel circuit avec des portes NON-ET seulement, et le défi « Le OU exclusif en quatre NON-ET » le montre. Un indice est là si vous bloquez, et les défis réussis restent cochés d’une visite à l’autre.
Questions fréquentes
- Le simulateur se comporte-t-il comme un vrai circuit ?
- Pour la logique, oui : les portes, les bascules et les octets donnent les mêmes 0 et 1. Mais il ne simule ni les tensions intermédiaires, ni les vrais délais (chaque porte compte pour un pas), ni le nombre d’entrées qu’une sortie peut alimenter, ni la consommation. Avant de câbler, vérifiez la fiche technique des composants.
- Pourquoi ma bascule ne change-t-elle pas quand je modifie D ?
- Parce qu’elle n’écoute D qu’au front montant de son horloge. Changez D, puis faites passer l’horloge de 0 à 1, avec Basculer H (deux fois si elle est déjà à 1) ou en la lançant.
- Comment additionner deux nombres de 8 bits ?
- Chargez l’exemple « Additionner deux octets » : deux nombres de 8 bits entrent dans un additionneur, et un afficheur lit le résultat. Pour voir ce qu’il y a dedans, chargez « L’additionneur complet » : c’est le circuit d’un seul bit, que l’additionneur répète huit fois en passant la retenue d’un bit au suivant.
- Pourquoi l’outil refuse-t-il de relier deux sorties ?
- Une sortie impose sa tension. Si l’une est à 5 V et l’autre à 0 V, elles se battent : dans un vrai montage, un fort courant passe de l’une à l’autre et peut détruire le circuit. Pour réunir deux signaux, il faut une porte, par exemple un OU.
- Comment réutiliser un morceau de circuit ?
- Regroupez-le en bloc : choisissez ses portes, puis Regrouper en bloc. Le bloc rejoint la palette, onglet Blocs, et se pose autant de fois qu’on veut, y compris dans un autre bloc. Un double clic l’ouvre pour voir son intérieur en marche.
- Mon circuit est-il gardé si je ferme la page ?
- Oui, dans ce navigateur : le dernier circuit revient à la visite suivante. Pour le garder ailleurs, ou le passer à quelqu’un, utilisez Enregistrer le fichier ou Lien de partage.
Enregistrer, partager, reprendre
Le circuit en cours est gardé dans votre navigateur, rien n’est envoyé au site. Enregistrer le fichier le télécharge en fichier .json, que Ouvrir un fichier recharge, sur n’importe quel appareil. Lien de partage met tout le circuit dans une adresse : celui qui l’ouvre retrouve le même schéma. Enregistrer l’image produit une image PNG du schéma, sur fond clair, avec l’expression de chaque lampe : de quoi l’ajouter à un compte rendu de TP. Le bouton Sauvegarde ajoute une ligne à l’historique, sous le schéma, avec la composition du circuit et les expressions de ses sorties. Le fichier garde aussi tous les blocs de la palette ; le lien, ceux dont le circuit se sert.
Raccourcis clavier
Après un clic dans le schéma, et hors des champs de saisie :
Suppr ⇝ Supprimer ce qui est choisi
Ctrl + Z ⇝ Annuler ; Ctrl + Y ⇝ Rétablir
Ctrl + C, X, V ⇝ Copier, couper, coller ; Ctrl + D ⇝ Dupliquer
Ctrl + A ⇝ Tout choisir ; les flèches déplacent ce qui est choisi (avec Maj, cinq fois plus loin)
Ctrl + G ⇝ Regrouper ce qui est choisi en un bloc ; double clic sur un bloc ⇝ L’ouvrir
Ctrl + molette ⇝ Zoomer ; Échap ⇝ Annuler un fil en cours, sortir d’un bloc ouvert, ou quitter le plein écran