Conception de machines à états finis : Du concept à l'implémentation
Jusqu'ici, nous nous sommes concentrés sur la logique combinatoire, où les sorties dépendent uniquement des entrées actuelles. Dans de nombreuses applications réelles, les circuits doivent retenir une mémoire des entrées passées et ajuster leurs sorties en conséquence. De tels circuits sont connus sous le nom de circuits séquentiels.
Cet article parcourt le processus de bout en bout de la conception d'un circuit séquentiel, illustré avec un exemple pratique : un jeu de quiz numérique qui doit générer une impulsion HAUTE d'un seul cycle d'horloge chaque fois qu'un utilisateur appuie sur un bouton.
Étape 1 – Définir l'exigence
Commencez par articuler le comportement souhaité en langage clair :
"Nous avons besoin d'un circuit secondaire qui émet une impulsion HAUTE unique pour un cycle d'horloge quand le bouton est pressé, et ignore les pressions supplémentaires jusqu'à ce que le bouton soit relâché et pressé à nouveau."
Étape 2 – Dessiner le diagramme d'états
Le diagramme d'états visualise l'opération de la machine. Chaque cercle représente un état, tandis que les flèches indiquent les transitions déclenchées par l'entrée à chaque cycle d'horloge. Le diagramme ci-dessous est une machine d'états finis de type Moore, où la sortie dépend seulement de l'état actuel.

Descriptions des états :
- Veille (Stand-by) — état d'attente initial.
- Activer Impulsion (Activate Pulse) — génère la sortie HAUTE.
- Boucle d'attente (Wait Loop) — maintient la sortie BASSE jusqu'au relâchement du bouton.
Les flèches sont étiquetées avec la valeur d'entrée qui déclenche la transition. Par exemple, depuis l'état Veille une entrée '1' déplace la machine vers Activer Impulsion ; un '0' la maintient en Veille.
Étape 3 – Encoder les états en binaire
Assignez des codes binaires à chaque état, en commençant par 0 pour l'état initial. L'encodage ci-dessous utilise deux bits, suffisant pour les trois états.

Étape 4 – Construire la table d'états
La table d'états liste toutes les combinaisons d'état courant et d'entrée, avec l'état suivant et la sortie. Les colonnes correspondent aux bits d'état courant, bits d'entrée, bits d'état suivant, et bits de sortie. Pour cet exemple, la table est montrée ci-dessous.

Points clés :
- Chaque ligne couvre chaque combinaison binaire possible d'état et d'entrée.
- Les lignes correspondant à des états inexistants sont marquées avec sans-importance (X).
- La colonne de sortie reflète la sortie Moore, indépendante de l'entrée.
Étape 5a – Préparer pour l'implémentation bascule D
Pour implémenter la machine, on utilise typiquement des bascules. Pour une bascule D, l'entrée requise pour atteindre l'état suivant est simplement la valeur de l'état suivant lui-même. Étendez la table d'états avec une colonne pour chaque entrée D.

Étape 5b – Préparer pour l'implémentation bascule JK
Si une bascule JK est choisie, deux colonnes (J et K) sont ajoutées par bascule. Leurs valeurs sont dérivées de la table d'excitation JK :

Exemple de mapping : pour transitionner de 0 à 1, mettez J=1 et K=X (sans-importance).

Étape 6 – Dériver les fonctions booléennes via cartes de Karnaugh
Utilisez les cartes de Karnaugh pour simplifier les expressions pour chaque entrée de bascule et pour la sortie. Les cartes ci-dessous illustrent le processus pour les implémentations D et JK.
Entrées bascule D :

Entrées bascule JK :


Fonction de sortie :


Étape 7 – Construire le circuit physique
Avec les équations booléennes en main, assemblez le circuit en utilisant des bascules et des portes logiques. N'oubliez pas de connecter l'horloge à toutes les bascules. Le design complet avec bascules D est montré ci-dessous.

La version avec bascules JK ressemble à ceci :

Une fois assemblé, le circuit générera une impulsion HAUTE propre d'un cycle d'horloge pour chaque pression de bouton, peu importe la durée de maintien du bouton.
Points clés à retenir
- La logique séquentielle retient la mémoire des entrées passées, permettant un comportement dynamique.
- Les machines à états finis fournissent un cadre rigoureux pour modéliser un tel comportement.
- Les bascules implémentent la MEF en matériel, traduisant les transitions d'états en sorties physiques.
- Un flux de conception systématique — exigences, diagramme, encodage, table, synthèse logique, et assemblage — assure des circuits fiables.
Technologie industrielle
- Hystérésis dans les Thyristors : Comment la Rétroaction Positive Permet le Verrouillage
- L'évolution des machines CNC : Des origines 18e siècle à la précision pilotée par IA
- Machines CNC : Booster la production, réduire les coûts, garantir la précision
- Découvrez 15 types essentiels de fraiseuses pour l'usinage de précision
- Moderniser les machines legacy pour réussir l'Industrie 4.0
- Machines d'impression offset : aperçu et avantages
- Machines d'impression flexo avancées : Solutions polyvalentes et haute qualité
- Guide complet des machines de rectification de précision
- Machines à Fraiser Polyvalentes : Fraisage, Perçage et Bien Plus