Logique séquentielle et stabilité
Cours complet · traitement du signal et logique (MPI), chapitre 4 · CPGE MPI (2e année)
Travailler ce chapitre sur Adloun
Les circuits étudiés au chapitre précédent — portes ET, OU, NON, NAND, NOR — sont combinatoires : leur sortie ne dépend, à chaque instant, que de la combinaison présente des entrées. Un tel circuit n'a pas de passé ; il recalcule tout à chaque instant et oublie aussitôt. Or l'informatique repose sur une capacité qui échappe à cette logique : se souvenir. Un registre, une mémoire, un compteur doivent conserver une information après que la cause qui l'a produite a disparu. C'est l'objet de la logique séquentielle, où la sortie dépend non seulement des entrées présentes, mais aussi de l'état du circuit, c'est-à-dire de son histoire.
Le mécanisme qui rend cette mémoire possible est la rétroaction : on reboucle une sortie sur une entrée. Cette boucle fait naître la notion de stabilité — un état peut se maintenir de lui-même (état stable) ou basculer spontanément (état instable) — et, selon la façon dont on la dose, elle engendre les trois briques fondamentales de l'électronique numérique : le bistable (deux états stables : la mémoire d'un bit), le monostable (une impulsion calibrée) et l'astable (aucun état stable : un oscillateur, une horloge). Ce chapitre les construit à partir des seules portes logiques, en s'appuyant systématiquement sur la lecture et le tracé de chronogrammes.
4.1 Du combinatoire au séquentiel
4.1.1 Notion d'état et de mémoire
Un circuit logique est combinatoire si, à chaque instant, ses sorties sont entièrement déterminées par les valeurs présentes de ses entrées. Il est séquentiel si ses sorties dépendent aussi de son état interne, mémoire des entrées passées. Un circuit séquentiel possède donc une ou plusieurs variables d'état qui évoluent au cours du temps.
Le contraste se lit sur un exemple. Une porte ET à deux entrées est combinatoire : si l'on connaît et à l'instant , on connaît sans rien savoir du passé. Un interrupteur d'escalier commandé par un bouton-poussoir est, lui, séquentiel : appuyer sur le bouton inverse l'état de la lampe ; la sortie (allumé / éteint) ne dépend pas seulement de l'appui présent, mais du nombre d'appuis antérieurs. La lampe se souvient.
Toute mémoire numérique — de la bascule d'un registre aux milliards de cellules d'une puce — se ramène à un principe unique : maintenir une variable binaire dans l'un de deux états stables tant qu'aucun ordre ne vient l'en déloger. Comprendre un bistable, c'est comprendre le principe de toute la mémoire.
4.1.2 Rétroaction et stabilité
Il y a rétroaction (ou contre-réaction / bouclage) lorsqu'une sortie d'un circuit logique est renvoyée, directement ou à travers d'autres portes, sur l'une de ses entrées. La sortie devient alors, en partie, sa propre cause.
Considérons l'exemple minimal : la sortie d'une porte NON (inverseur) rebouclée sur son entrée. Notons l'état commun entrée-sortie. La porte impose : cette équation n'admet aucune solution logique stable. Le circuit ne peut se figer ni à ni à : il oscille. C'est le premier exemple d'instabilité par rétroaction.
Rebouclons au contraire la sortie d'un tampon (deux inverseurs en série, fonction identité) sur son entrée. L'équation devient , satisfaite aussi bien par que par : le circuit possède deux états stables. Il mémorise.
Un état d'un circuit bouclé est stable s'il se reproduit lui-même : injecté à l'entrée, il ressort identique à la sortie et se maintient indéfiniment sans intervention extérieure. Il est instable si la logique le fait évoluer vers un autre état. Selon le nombre d'états stables, on distingue :
- bistable : deux états stables mémoire d'un bit ;
- monostable : un seul état stable retour automatique après une impulsion ;
- astable : aucun état stable oscillation permanente (horloge).
En logique idéale, l'oscillateur n'oscille pas : il n'a pas de solution. Ce sont les temps de propagation non nuls des portes réelles — quelques nanosecondes — qui donnent son rythme à l'oscillation. Le temps, absent du modèle booléen, resurgit comme grandeur physique dès qu'on ferme une boucle. La logique séquentielle est intrinsèquement une logique temporelle.
4.2 La bascule RS
4.2.1 Construction à partir de deux portes NOR
La bascule RS (Reset-Set) est le bistable élémentaire. On la réalise en croisant deux portes NOR : la sortie de chacune alimente une entrée de l'autre. Les deux entrées libres sont (Set, mise à ) et (Reset, mise à ) ; les deux sorties, et , sont normalement complémentaires.
Rappelons la table de la porte NOR : vaut si et seulement si . Analysons les quatre combinaisons de .
- (maintien) : chaque NOR reçoit l'une des sorties. Si , la NOR du bas reçoit et , donc ; la NOR du haut reçoit et , donc . L'état se reproduit : la bascule mémorise. L'état se maintient de même.
- (écriture d'un 1) : la NOR du haut reçoit , donc quel que soit l'état antérieur. On force .
- (écriture d'un 0) : symétriquement, force , donc .
- (interdit) : les deux NOR reçoivent un , donc . Les deux sorties valent : elles ne sont plus complémentaires, ce qui viole la convention. Pire, si l'on ramène ensuite et à simultanément, l'état final est imprévisible (course critique). Cette combinaison est proscrite.
En notant l'état après application de et l'état antérieur :
| mémoire (maintien) | |||
| mise à (Set) | |||
| mise à (Reset) | |||
| --- | état interdit |
4.2.2 Variante à portes NAND
On réalise le même bistable avec deux portes NAND croisées ; les entrées actives sont alors actives à l'état bas. On parle de bascule : l'écriture se commande par un , le maintien correspond à , et la combinaison interdite est . Le tableau se déduit du précédent en complémentant les entrées.
| mémoire | |||
| mise à | |||
| mise à | |||
| --- | interdit |
Méthode : Analyser un circuit bouclé
Pour déterminer les états d'un circuit à rétroaction :
- on coupe mentalement la boucle et on nomme la variable d'état ;
- on exprime la sortie de la boucle en fonction de et des entrées à l'aide des tables de vérité des portes ;
- on impose la condition de bouclage (sortie ) : les solutions sont les états stables ;
- on vérifie, pour chaque combinaison d'entrées, quel état est atteint et s'il se maintient.
4.2.3 Chronogramme de la bascule RS
Un chronogramme représente l'évolution temporelle des signaux logiques : chaque signal est un créneau qui ne prend que les niveaux (bas) et (haut), le temps s'écoulant vers la droite. C'est l'outil de lecture privilégié de la logique séquentielle. Voici la réponse d'une bascule RS (version NOR) à une séquence d'impulsions et .
On lit : une impulsion sur fait passer à , qui reste à après la fin de l'impulsion (mémoire) ; une impulsion sur ramène à , qui y reste ; entre deux ordres, conserve sa valeur. La bascule a bien mémorisé le dernier ordre reçu.
Un contact mécanique ne s'établit pas proprement : à la fermeture, il « rebondit » quelques millisecondes, produisant une salve de et de parasites qu'un compteur numérique interpréterait comme plusieurs appuis. En câblant un inverseur mécanique (deux contacts , ) sur une bascule RS à NAND, le premier contact valide fait basculer la mémoire ; les rebonds suivants, sur la même entrée, ne changent plus l'état déjà mémorisé.
Démonstration
La bascule est en position mémoire tant qu'aucune entrée n'est activée. Au tout premier rebond qui ferme le contact « Set », passe à : est forcé à . Les rebonds ultérieurs de ce même contact ramènent brièvement à — mais alors , c'est-à-dire la mémoire, et reste à . Aucun rebond de la ligne Set ne peut remettre à : seule une action sur le pourrait. La sortie est donc parfaitement propre : une transition unique au lieu d'une salve.
4.3 Bascule bistable et mémoire
4.3.1 Le bistable comme cellule de mémoire
Un bistable est un circuit séquentiel possédant exactement deux états stables. Placé dans l'un d'eux, il y demeure indéfiniment sans apport d'énergie logique ; une impulsion de commande le fait basculer dans l'autre, où il se maintient à nouveau. Un bistable mémorise donc un bit.
La bascule RS est le bistable le plus simple. Ses deux états stables sont et ; la position mémoire les préserve tous deux, tandis que et permettent d'écrire l'un ou l'autre. Une mémoire de bits est simplement un banc de bistables adressés indépendamment : c'est le principe de la mémoire statique (SRAM), où chaque cellule est un bistable à quelques transistors qui conserve sa valeur tant que l'alimentation est maintenue.
Dans un bistable, les deux états et sont stables car la rétroaction est régénérative : la sortie renforce, à travers la boucle, l'état qui l'a produite. Toute petite déviation d'un état stable est ramenée à cet état par l'amplification de la boucle ; l'état intermédiaire , lui, est un équilibre instable que le circuit fuit à la moindre perturbation.
L'analogie mécanique est éclairante : un bistable est une bille dans un double puits (deux creux séparés par une bosse). Les deux creux sont les états stables et ; le sommet de la bosse est l'état instable . Une chiquenaude (l'impulsion ou ) fait passer la bille d'un creux à l'autre, où elle se stabilise. L'astable, lui, correspondrait à un paysage sans creux : la bille roule sans fin.
4.4 Le circuit astable : générer une horloge
4.4.1 Principe : aucun état stable
Un circuit astable ne possède aucun état stable : il bascule spontanément et périodiquement entre ses deux états. Sa sortie est un signal carré permanent, sans entrée de commande. Un astable est donc un oscillateur, source du signal d'horloge qui cadence tout système numérique synchrone.
Le prototype logique de l'astable est l'anneau d'un nombre impair d'inverseurs bouclés (ring oscillator). Avec un seul inverseur, on retrouve l'équation sans solution , qui ne peut être satisfaite à aucun instant : le circuit ne se fige jamais et oscille. Sa période est fixée par les temps de propagation.
Un anneau de inverseurs ( impair), chacun de temps de propagation , oscille avec une période
car une transition doit parcourir deux fois l'anneau (aller en puis retour en ) pour reproduire l'état initial. La fréquence d'horloge est .
Démonstration
Injectons un front à l'entrée du premier inverseur. Après un délai , sa sortie bascule ; après , ce front — inversé fois, donc inversé puisque est impair — revient à l'entrée du premier inverseur avec la valeur opposée à celle de départ. L'entrée bascule donc au bout de , puis rebascule plus tard : la période complète vaut .
En pratique, on n'utilise pas les seuls temps de propagation (trop brefs, quelques , donnant des centaines de peu réglables) : on ralentit délibérément l'oscillation par une constante de temps . C'est le rôle du montage astable à portes ou du célèbre circuit intégré temporisateur, dont la période est fixée par une résistance et un condensateur, .
Un astable délivre une horloge de rapport cyclique à la fréquence . Sa période vaut ; les niveaux haut et bas durent chacun . Pour un montage tel que , obtenir cette période demande , par exemple et .
4.5 Le circuit monostable : une impulsion calibrée
4.5.1 Principe : un seul état stable
Un circuit monostable possède un unique état stable, où il repose au repos. Une impulsion de déclenchement le fait basculer dans un état quasi stable qu'il maintient pendant une durée fixée par le circuit (typiquement ), puis il revient de lui-même à l'état stable. Il délivre ainsi une impulsion de durée calibrée, indépendante de la durée du déclenchement.
Le monostable transforme un déclenchement quelconque — un bref pic, un front — en une impulsion propre de largeur maîtrisée. On l'emploie pour temporiser (activer une sortie pendant exactement ), pour mettre en forme un signal, ou pour produire un retard.
On observe la propriété caractéristique : la première et la seconde impulsion de déclenchement ont des durées différentes, mais les deux impulsions de sortie ont la même largeur . Le monostable a calibré la durée.
| Montage | États stables | Sortie | Rôle typique |
|---|---|---|---|
| Bistable | 2 | mémoire d'un bit | mémoire, registre |
| Monostable | 1 | 1 impulsion de durée | temporisation, mise en forme |
| Astable | 0 | créneau permanent | horloge, oscillateur |
Astable et monostable fixent leur(s) durée(s) par une constante de temps ; le bistable, lui, n'a pas de temps propre : il attend indéfiniment un ordre.
4.6 Applications
4.6.1 Convertisseur fréquence-tension
Le monostable fournit une conversion élégante d'une fréquence en une tension. On l'attaque par le signal dont on veut mesurer la fréquence : à chaque front, il émet une impulsion calibrée de largeur et d'amplitude fixes. La sortie est donc un train d'impulsions identiques, dont seule la densité varie avec .
Si le monostable émet, à la cadence , des impulsions de hauteur et de largeur (avec ), la valeur moyenne de sa sortie est
proportionnelle à la fréquence . Un filtre passe-bas qui extrait cette valeur moyenne délivre donc une tension image de la fréquence : c'est le convertisseur fréquence-tension.
Démonstration
Sur une période , la sortie vaut pendant puis pendant . Sa valeur moyenne est
car . Tant que les impulsions ne se chevauchent pas (), croît linéairement avec . Un filtre de constante de temps grande devant lisse le train d'impulsions et restitue avec une ondulation résiduelle faible.
Un capteur délivre une impulsion par tour d'un arbre en rotation ; sa fréquence est proportionnelle à la vitesse de rotation. Un monostable (, ) suivi d'un passe-bas fournit . À (soit tours/s), . La tension lue est directement proportionnelle à la vitesse : on a construit un compte-tours analogique.
4.6.2 Oscillateur et base de temps
L'astable est la source de tout séquencement. En divisant par sa fréquence à l'aide de bascules montées en compteur, on obtient une cascade d'horloges de périodes Un astable de (quartz d'horlogerie) divisé fois donne exactement une impulsion par seconde : c'est le cœur d'une montre à quartz. De même, l'horloge d'un microprocesseur est un astable stabilisé par quartz, distribuée à tous les registres pour synchroniser leurs basculements.
4.6.3 Mémoire
Enfin, la première application reste la plus fondamentale : le bistable est la mémoire. Chaque cellule d'une SRAM, chaque bit d'un registre, chaque étage d'un compteur repose sur un bistable qui conserve son état entre deux fronts d'horloge. Toute l'informatique — le stockage d'un programme, la persistance d'une donnée, l'état d'une machine — se ramène, in fine, à la capacité d'un bistable à se souvenir d'un bit tant qu'on ne lui ordonne pas d'en changer.
Capacité numérique : simuler une bascule RS et son chronogramme
On peut vérifier numériquement le comportement d'une bascule RS en propageant l'état bit à bit sur une séquence d'entrées, puis en traçant le chronogramme obtenu.
import numpy as np
import matplotlib.pyplot as plt
def nor(a, b):
return 1 - (a | b)
# sequence temporelle des entrees S et R
S = [0,1,1,0,0,0,0,0,1,0,0]
R = [0,0,0,0,1,1,0,0,0,0,0]
Q, Qb = 0, 1 # etat initial
histQ = []
for s, r in zip(S, R):
# deux iterations pour stabiliser la boucle croisee
for _ in range(2):
Q = nor(r, Qb)
Qb = nor(s, Q)
histQ.append(Q)
t = np.arange(len(S))
plt.step(t, S, where='post', label='S')
plt.step(t, np.array(R)+2, where='post', label='R (+2)')
plt.step(t, np.array(histQ)+4, where='post', label='Q (+4)')
plt.xlabel('temps (pas)'); plt.yticks([]); plt.legend()
plt.title("Chronogramme d'une bascule RS"); plt.show()
La sortie Q passe à à la première impulsion de S, s'y maintient jusqu'à l'impulsion de R, puis y reste à : la mémoire est bien reproduite.
<i class="fa-solid fa-dumbbell mr-2" style="color:#2E7559"></i>4.7 Exercices résolus
Pour chacun des dispositifs, dire s'il est combinatoire ou séquentiel : (a) un additionneur bits ; (b) un compteur d'impulsions ; (c) un décodeur segments ; (d) un feu tricolore automatique.
Démonstration
(a) combinatoire : la somme ne dépend que des deux nombres présents. (b) séquentiel : le compte dépend du nombre d'impulsions passées, donc d'un état mémorisé. (c) combinatoire : l'affichage est une fonction pure du chiffre à l'entrée. (d) séquentiel : la couleur affichée dépend de l'étape en cours du cycle, mémorisée entre deux transitions.
Une bascule RS à NOR est dans l'état , . On applique successivement , puis , puis . Donner après chaque étape.
Démonstration
Étape : maintien, reste à . Étape : impose , donc , . Étape : maintien, reste à . Séquence de : .
Montrer qu'en appliquant à une bascule NOR puis en ramenant et à simultanément, l'état final est indéterminé.
Démonstration
Sous , les deux NOR reçoivent un : . En ramenant , chaque NOR reçoit , donc calcule : les deux sorties tendent vers simultanément. Elles se rebouclent alors mutuellement vers … La convergence dépend des temps de propagation exacts, inégaux en pratique : l'état final ou est imprévisible. C'est une course critique ; d'où l'interdiction.
Un anneau de inverseurs identiques oscille. Chaque inverseur a un temps de propagation . Calculer la période et la fréquence de l'oscillation.
Démonstration
D'après avec et : . La fréquence vaut .
Une bascule RS (NOR), initialement à , reçoit : à sur , à sur , à sur (unités arbitraires), et ailleurs. Décrire .
Démonstration
démarre à , passe à à (Set), s'y maintient jusqu'à , retombe à (Reset), s'y maintient jusqu'à , remonte à (Set) et y reste. Le créneau vaut donc sur et sur , ailleurs — les fronts coïncident avec le début de chaque impulsion de commande, pas avec sa fin.
Un convertisseur f-V utilise un monostable de largeur et d'amplitude , suivi d'un passe-bas. Quelle est la tension moyenne à ? À partir de quelle fréquence la linéarité est-elle perdue ?
Démonstration
. La linéarité suppose des impulsions disjointes, soit , c'est-à-dire . Au-delà, les impulsions se chevauchent, la sortie sature vers et la conversion cesse d'être proportionnelle.
Un astable délivre . On le fait suivre de bascules divisant chacune la fréquence par . Combien en faut-il pour obtenir une impulsion par seconde ?
Démonstration
Diviser par à reprises donne . On veut , soit . Il faut donc bascules. C'est exactement l'architecture d'une montre à quartz.
4.8 Exercices d'entraînement
- Classer en combinatoire / séquentiel : multiplexeur, registre à décalage, comparateur, machine à états d'un ascenseur, additionneur complet.
- Écrire la table de vérité complète de la porte NOR à deux entrées, puis vérifier que (un NOR peut jouer le rôle d'un inverseur).
- Réaliser une bascule RS avec deux portes NAND croisées. Établir sa table de vérité en précisant l'état de maintien, les mises à / et la combinaison interdite.
- Une bascule RS (NOR) part de . On applique la séquence : . Donner après chaque étape et repérer l'étape problématique.
- Expliquer pourquoi un unique inverseur bouclé sur lui-même ne possède aucun état stable. Que devient le raisonnement avec deux inverseurs en série bouclés ?
- Un anneau de inverseurs de chacun oscille. Calculer et .
- On veut une horloge à par anneau d'inverseurs de . Combien d'inverseurs (impair) faut-il, en principe ? Commenter la faisabilité.
- Décrire le chronogramme de sortie d'une bascule RS (NOR) initialement à , pour actif sur et actif sur .
- Un monostable de largeur est déclenché par des impulsions espacées de . Que se passe-t-il ? Le monostable est-il redéclenchable ou non ? Discuter les deux cas.
- Convertisseur f-V : , . Décrire pour de à et indiquer la zone linéaire.
- Un tachymètre utilise impulsions par tour. Le monostable a , . Exprimer en fonction de la vitesse de rotation (en tours/s), puis calculer à .
- Montre à quartz : le quartz oscille à . Justifier ce choix « en puissance de » et donner le nombre de divisions par pour la trotteuse ().
- Un astable a un rapport cyclique différent de (temps haut , temps bas ). Exprimer la période, la fréquence et le rapport cyclique . Application : , .
- Discuter le rôle des temps de propagation dans un bistable : pourquoi ne changent-ils pas ses états stables mais fixent-ils la vitesse de basculement ?
- Un circuit combinatoire n'a pas de mémoire (sortie fonction des entrées présentes) ; un circuit séquentiel dépend de son état, mémoire du passé.
- La rétroaction (rebouclage d'une sortie sur une entrée) crée la notion de stabilité : selon le nombre d'états stables, on obtient un bistable (2), un monostable (1) ou un astable (0).
- La bascule RS (deux NOR ou deux NAND croisés) est le bistable élémentaire : maintient (mémoire), écrit un , écrit un , est interdit. Elle mémorise un bit.
- L'astable n'a aucun état stable : il oscille et fournit le signal d'horloge (, période fixée par ou par les temps de propagation).
- Le monostable délivre une impulsion de durée calibrée , indépendante du déclenchement : mise en forme, temporisation.
- Convertisseur fréquence-tension : un train d'impulsions calibrées à la cadence a une valeur moyenne (tant que ), image de la fréquence après filtrage passe-bas.
- Un chronogramme se lit et se trace comme des créneaux vs temps ; les fronts d'une bascule coïncident avec le début des impulsions de commande.