Nous allons appliquer la démarche à un exemple qui nous permettra de mieux expliquer chacune des étapes. Considérons le circuit de la figure suivante.
Circuit séquentiel synchrone à analyser
$$ Z_1^n $$ | $$ Z_0^n$$ | $$ I$$ | $$ Z_1^{n+1}$$ | $$ Z_0^{n+1}$$ | $$ S$$ | $$ U$$ | |
---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 | |
0 | 0 | 1 | 0 | 1 | 0 | 0 | |
0 | 1 | 0 | 1 | 0 | 1 | 0 | |
0 | 1 | 1 | 1 | 1 | 1 | 0 | |
1 | 0 | 0 | 0 | 0 | 0 | 0 | |
1 | 0 | 1 | 1 | 0 | 0 | 0 | |
1 | 1 | 0 | 1 | 0 | 0 | 1 | |
1 | 1 | 1 | 1 | 1 | 0 | 1 |
Le diagramme d’état représente de façon schématique le comportement du circuit séquentiel. Les cercles correspondent aux différents états dans lesquels le système peut se trouver. On peut utiliser des étiquettes à l’intérieur des cercles pour nommer les états. On peut aussi y indiquer les numéros d’état (soit en vecteurs de bits, soit avec des nombres binaires comme ici sur la figure). Les sorties produites par le système sont aussi indiquées dans les cercles. Les transitions entre les états sont indiquées par des flèches. Une flèche qui revient vers le même cercle signifie que l’état ne change pas.
Les conditions appliquées aux entrées pour déclencher les transitions sont indiquées sur les flèches. Dans la figure, on voit aussi l’état initial, identifié par une flèche partant d’un gros point noir.
Le diagramme d’état se construit aisément à partir du tableau d’excitation.
Diagramme d’état
Le système est initialement à l’état a. Tant que l’entrée \(I\) est 0, il demeure dans cet état. Lorsque \(I=1\), on passe à l’état b. Si \(I\) reste à 1, on passe à l’état d et on boucle sur l’état d. Si \(I\) revient à 0, de l’état b ou d, on passe à l’état c. De l’état c, si \(I = 1\), on reste dans l’état c. Sinon (\(I = 0\)), on retourne à l’état a.
La figure ci-bas montre une trace des formes d’onde observées en fonctionnement pour le système. Dans cet exemple, le système boucle d’abord sur l’état a (valeur 0 sur la trace) puis, passe à l’état b (valeur 1) et ensuite à l’état d (valeur 3), boucle sur l’état d et passe ensuite à l’état c (valeur 2) pour finalement revenir à l’état a.
Exemple de fonctionnement