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
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
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 :
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
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.