Circuits séquentiels: horloge, états, synchronisation


Ce cours approfondi explore les circuits séquentiels, qui sont des circuits dont la sortie dépend non seulement des entrées actuelles, mais aussi de l’histoire de leurs entrées, c’est-à-dire de leur état précédent. Les concepts clés à comprendre sont l’horloge, les états, et la synchronisation. Ces éléments sont cruciaux pour la conception de systèmes numériques complexes tels que les mémoires, les compteurs et les machines d’état.

Introduction aux Circuits Séquentiels


Définition: Un circuit séquentiel est un type de circuit numérique dont la sortie à un instant donné dépend à la fois des entrées à cet instant et de l’état interne du circuit (mémoire) à l’instant précédent. Contrairement aux circuits combinatoires, les circuits séquentiels ont une mémoire.

Les circuits séquentiels sont caractérisés par:

  • La présence de boucles de rétroaction: La sortie est renvoyée à l’entrée, créant une mémoire.
  • L’utilisation d’éléments de mémoire tels que les bascules (flip-flops) et les latches.
  • La nécessité d’une synchronisation, souvent fournie par un signal d’horloge.

Le Rôle de l’Horloge


Définition: L’horloge est un signal périodique qui contrôle la synchronisation des opérations dans un circuit séquentiel. Elle définit le rythme auquel les états du circuit changent.

L’horloge peut être caractérisée par sa fréquence \( f \) (en Hertz) et sa période \( T \) (en secondes), qui sont liées par la relation :

\[ T = \frac{1}{f} \]

Il existe deux types principaux de circuits séquentiels en fonction de leur synchronisation:

  • Circuits synchrones: Les changements d’état se produisent seulement aux instants définis par le signal d’horloge (front montant ou descendant).
  • Circuits asynchrones: Les changements d’état peuvent se produire à n’importe quel moment, en réponse aux changements des entrées. Ces circuits sont plus difficiles à concevoir et à analyser.

États et Transitions d’États


Définition: L’état d’un circuit séquentiel est la valeur des sorties des éléments de mémoire (bascules) à un instant donné. Une transition d’état est un changement de cet état.

Le nombre d’états possibles est déterminé par le nombre de bascules. Si un circuit a \( n \) bascules, il aura \( 2^n \) états possibles.

La transition d’un état à un autre est déterminée par:

  • Les entrées actuelles du circuit.
  • Le signal d’horloge (dans les circuits synchrones).

La description du comportement d’un circuit séquentiel peut être faite à travers un diagramme d’états, qui représente les états possibles et les transitions entre eux.

Types de Circuits Séquentiels


Il existe plusieurs types de circuits séquentiels, chacun ayant des applications spécifiques:

  • Bascules (Flip-Flops): Éléments de mémoire fondamentaux qui stockent un bit d’information. Exemples: bascules SR, JK, D, T.
  • Registres: Ensembles de bascules utilisés pour stocker des mots de plusieurs bits.
  • Compteurs: Circuits qui incrémentent (ou décrémentent) une valeur à chaque impulsion d’horloge.
  • Machines d’état (Finite State Machines – FSM): Circuits séquentiels complexes qui passent d’un état à un autre en fonction des entrées et de l’horloge.

Exemples et Applications


Exemple 1: Conception d’un compteur modulo-4 synchrone utilisant des bascules JK. Le compteur doit passer par les états 00, 01, 10, et 11, puis revenir à 00.

Solution: Nous avons besoin de deux bascules JK (A et B). On peut construire une table de transition d’états. Pour chaque transition, on détermine les entrées J et K nécessaires pour chaque bascule. Par exemple, pour passer de l’état 00 à l’état 01, la bascule A doit rester à 0 (donc JA=0, KA=X, où X est « don’t care »), et la bascule B doit passer de 0 à 1 (donc JB=1, KB=0). En complétant la table de transition, on peut obtenir les équations logiques pour JA, KA, JB et KB en fonction des états actuels A et B. Ces équations peuvent ensuite être implémentées avec des portes logiques. Le signal d’horloge est appliqué simultanément aux deux bascules, assurant la synchronisation. Le compteur modulo-4, ainsi conçu, effectuera une séquence prédictible et répétitive, essentiel dans de nombreuses applications de contrôle et de timing. Une analyse minutieuse de la table de vérité est cruciale pour un fonctionnement correct.

Exemple 2: Conception d’une machine d’état simple pour contrôler un distributeur automatique de boissons. La machine doit accepter des pièces de 1€ et de 2€. Quand le total atteint 3€, elle distribue la boisson et retourne à l’état initial (0€).

Solution: On définit les états: 0€, 1€, 2€. Les entrées sont « 1€ inséré » et « 2€ insérés ». La sortie est « Distribuer la boisson ». On construit le diagramme d’états. Par exemple, si on est à l’état 1€ et on insère une pièce de 2€, on passe à l’état 3€ (qui est un état transitoire). La sortie « Distribuer la boisson » est activée dans l’état 3€, et la machine retourne immédiatement à l’état 0€. Ce système est un exemple de synchronisation événementielle, où les transitions d’état sont déclenchées par les entrées (insertion de pièces). L’implémentation physique nécessiterait des capteurs de pièces, une logique de contrôle (implémentée avec des circuits séquentiels), et un mécanisme pour distribuer la boisson. La robustesse de la machine dépendra de la précision des capteurs et de la fiabilité du mécanisme de distribution.