Vous êtes sur la page 1sur 11

GELE 3322

Chapitre 7 – Circuits séquentiels

Structure des machines d'état ("State Machine")


1. Machine Mealy, figure 7-35 p.550.

Logique du Logique de Sorties


Entrées prochain Excitation sortie.
Mémoire
état. État présent
F G

Horloge
(CLK)

Prochain état = F(état présent, entrées)


Sortie = G(état présent, entrées)

2. Machine Moore, figure 7-36, p.551.

Logique du Logique de
Entrées prochain Excitation État présent sortie.
Mémoire
état.
F G

Horloge
(CLK)

Prochain état = F(état présent, entrées)


Sortie = G(état présent)

Dans les deux types de machine (Mealy et Moore), F et G sont des circuits
combinatoires.
GELE 3322
Chapitre 7 – Circuits séquentiels

Analyse d'un circuit séquentiel, Machine Mealy. (pp. 553-558)

Logique du prochain état (F) Mémoire Logique de sortie (G)

MAX

EN
D0 Q0
D Q
CP QN

D1 Q1
D Q
CP QN

CLK

Généralités à propos des machines d'état:

→ Le prochain état d'une machine est définit dans le livre comme Q*. On peut aussi
utiliser Q(t + 1).
→ La transition d'un état à un autre se fait à chaque coup d'horloge. Pour déterminer la
valeur futur d'une bascule, il faut connaître d'abord l'état présent.

Analyse du circuit:
→ Les signaux D0 et D1 dans la figure précédente fournissent l'excitation aux bascules
D à chaque coup d'horloge.
→ On peut définir, selon le diagramme, des équations d'excitation. Ces équations sont
des équations qui décrivent les signaux d'excitation en fonction de l'état présent et des
entrées. On obtient donc les équations suivantes, en analysant le circuit:

D0 = Q0·EN' + Q0'·EN
D1 = Q1·EN' + Q1'·Q0·EN + Q1·Q0'·EN
GELE 3322
Chapitre 7 – Circuits séquentiels

Dans le cas d'une bascule D, la fonction qui relie la sortie de la bascule à son entrée est
Q(t +1) = D

Donc les équations qui décrivent le prochain état sont:

Q0(t + 1) = Q0·EN' + Q0'·EN


Q1(t + 1) = Q1·EN' + Q1'·Q0·EN + Q1·Q0'·EN

On appelle ces équations les équations de transition. Pour le cas de la bascule D, les
équations de transition sont faciles à déterminer, puisque la relation entre l'entrée de la
bascule et sa sortie est simple. Pour des bascules J-K, par contre, le processus est un peu
plus complexe.

→ Pour chaque combinaison d'état présent et d'entrée, les équations de transition nous
donnent le prochain état. Chaque état est décrit à l'aide de 2 bits, les valeurs présentes
de Q0 et Q1: (Q0 Q1) = 00, 01, 10, ou 11. Pour chaque état, il y a seulement 2 entrées
possibles, soit EN = 0 ou EN = 1, donc on a au total 8 combinaisons état/entrée.

La prochaine étape est de dessiner la table de transition. Ce tableau donne toutes les
combinaisons état/entrée. On a donc, pour chaque état présent, le prochain état pour
chaque entrée. Pour le circuit étudié, la table de transition est:

EN
Q1 Q0 0 1 On peut déterminer la fonction de cette machine à
00 00 01 l'aide de la table de transition. Cette machine est un
01 01 10 compteur à 2 bits. Si EN = 0, le compteur demeure au
10 10 11 même état. Lorsque EN = 1, le compte monte de 1 à
11 11 00 chaque coup d'horloge.
Q1* Q0*

On peut aussi assigner des noms d'état à chaque état. Le plus facile est de dire que 00 =
A, 01 = B, 10 = C et 11 = D. Évidemment, on peut nommer les états de plusieurs
différentes façons. Il serait mieux de nommer les états par un nom descriptif qui en
indique la fonction. Mais dans ce cas, puisqu'on ne sais pas vraiment la fonction du
circuit, on assigne aux états une lettre, tout simplement. Si on remplace les combinaisons
de Q1 et Q0 dans la table de transition par les noms d'état, on obtient le tableau d'état
suivant:

EN
S 0 1
A A B Où :
B B C S = État présent
C C D S* = État prochain
D D A
S*
GELE 3322
Chapitre 7 – Circuits séquentiels

Après la table d'état, il ne reste que la sortie logique de la machine à analyser. Dans cet
exemple, il n'y a qu'une seule sortie, donc on aura une seule équation de sortie:

MAX = Q1·Q0·EN

On combine le comportement prédit par cette équation avec le tableau d'état pour
produire le tableau état/sortie:

EN
S 0 1
A A, 0 B, 0
B B, 0 C, 0
C C, 0 D, 0
D D, 0 A, 1
S*, MAX

Ce tableau donne toute l'information nécessaire pour comprendre le comportement du


circuit. Pour chaque état, le tableau nous donne le prochain état et la sortie en fonction de
l'entrée.

Si la sortie aurait été de type Moore, le tableau état/sortie est plus simple:

EN
S 0 1 MAXS MAXS est la sortie de type Moore, selon
A A B 0 l'équation MAXS = Q1·Q0.
B B C 0
C C D 0
D D A 1
S*

On peut aussi représenter l'information de la table état/sortie de façon graphique, à l'aide


d'un diagramme d'état:

0/0 0/0
1/0
Ici, 0/0 veut dire que l'entrée = 0, et la
A B sortie = 0. Le premier chiffre désigne la
valeur de l'entrée, et le 2e veut dire la
valeur de la sortie. On peut aussi écrire le
1/0
1/1 diagramme d'état sous la forme de la
figure 7-39 p. 556. Cette forme (celle de
la figure ci-contre) n'est utilisée que si on
D C a qu'une entrée et une sortie.
1/0
0/0 0/0

On peut aussi représenter l'information sous forme de chronogramme. (figure 7-42 p.558)
GELE 3322
Chapitre 7 – Circuits séquentiels

Étapes d'analyse d'une machine d'état:


Donc, en résumé, les étapes pour analyser une machine d'état synchrone sont:

1. Déterminer les équations d'excitation pour les entrées aux bascules

2. Substituer les équations d'excitation dans les équations caractéristiques des bascules
pour obtenir les équations de transition.

3. Utiliser les équations de transition pour construire une table de transition.

4. Déterminer les équations de sortie.

5. Ajouter les valeurs de la sortie à la table de transition pour obtenir la table de


transition/état.

6. Nommer les états et substituer ces noms pour les combinaisons état/variable dans la
table de transition/état pour obtenir la table état/sortie.

7. Dessiner le diagramme d'état.


GELE 3322
Chapitre 7 – Circuits séquentiels

Exemple 2:
Circuit p. 559, figure 7-43. (Machine Moore)

Q0
D Q
CP QN

X
Q1
D Q
CP QN

Z2

Q2 Z1
D Q
CP QN
Y

CLK

On va utiliser les étapes précédentes pour analyser le circuit de la figure ci-haut.

1. Équations d'excitation:

On a qu'à regarder le circuit pour déterminer les équations d'excitation. Ce sont:

D0 = Q1'·X + Q0·X' + Q2
D1 = Q2'·Q0·X + Q1·X' + Q2·Q1
D2 = Q2·Q0' + Q0'·X'·Y

2. Équations de transition:

En substituant les équations précédentes dans les équations caractéristiques des bascules
D, on obtient les équations de transition:

Q0* = Q1'·X + Q0·X' + Q2


Q1* = Q2'·Q0·X + Q1·X' + Q2·Q1
Q2* = Q2·Q0' + Q0'·X'·Y
GELE 3322
Chapitre 7 – Circuits séquentiels

3. Table de transition:

Avec les équations précédentes, on peut créer la table de transition:

XY
Q2 Q1 Q0 00 01 10 11 Z1 Z2
000 000 100 001 001 10
001 001 001 011 011 10
010 010 110 000 000 10
011 011 011 010 010 00
100 101 101 101 101 11
101 001 001 001 001 10
110 111 111 111 111 11
111 011 011 011 011 11
Q2* Q1* Q0*

4. Équations de sortie:

On peut facilement déterminer les équations de sortie en regardant le circuit:

Z1 = Q2 + Q1' + Q0'
Z2 = Q2·Q1 + Q2·Q0'

5. Table de transition/état:

Avec les équations de sortie, on ajoute la valeur des sorties au tableau de transition. Les
sorties sont représentées dans la dernière colonne du tableau précédent.

6. Table d'état/sortie:

On assigne aux états une assignation standard, soit A = 000, B = 001, etc. On obtient
donc la table d'état/sortie suivante:
XY
S 00 01 10 11 Z1 Z2
A A E B B 10
B B B D D 10
C C G A A 10
D D D C C 00
E F F F F 11
F B B B B 10
G H H H H 11
H D D D D 11
S*
GELE 3322
Chapitre 7 – Circuits séquentiels

7. Diagramme d'état:

On peut maintenant faire le diagramme d'état. Par contre, cette fois, puisqu'il y a deux
entrées, il faut ajouter une équation de transition au lieu d'un simple 0 ou 1. Cette
équation indique la transition effectuée lorsque l'expression est vraie, c'est-à-dire qu'elle
donne la valeur 1.

X'·Y' X'
X
A B
10 10
X'·Y
E 1 F 1
11 10

X X

G 1 H
X'·Y 11 11 1

C D
X
10 00
X'·Y' X'

Exemple : A demeure à l'état A lorsque X'·Y' = 1, c'est-à-dire lorsque X = 0 et Y = 0.

Le chiffre dans la bulle en dessous du nom de l'état est la sortie du circuit.


GELE 3322
Chapitre 7 – Circuits séquentiels

Analyse des machines d'état avec des bascules J-K.

→ Les étapes d'analyse sont les même, sauf qu'il y a deux équations pour chaque
bascule: une pour J et une pour K.

S Q0
J Q
CP
K QN
R

X
S Q1
J Q
CP Z
Y K QN
R

CLK

Exemple p.561, figure 7-45. (Machine Mealy)

1. Équations d'excitation:

J0 = X·Y'
K0 = X·Y' + Y·Q1
J1 = X·Q0 + Y
K1 = Y·Q0' + X·Y'·Q0

2. Équations de transition:

L'équation caractéristique d'une bascule J-K est:

Q* = J·Q' + K'·Q

Donc les équations de transition seront, après substitution, les suivantes:

Q0* = X·Y'·Q0' + X'·Y'·Q0 + X'·Q1'·Q0 + Y·Q1'·Q0


Q1* = X·Q1'·Q0 + Y·Q1' + X'·Y'·Q1 + Y'·Q1·Q0' + X'·Q1·Q0 + Y·Q1·Q0
GELE 3322
Chapitre 7 – Circuits séquentiels

3. Table de transition:

XY
Q1 Q0 00 01 10 11
00 00, 0 01, 1 10, 0 01, 1
01 01, 0 11, 0 01, 0 11, 0
10 10, 0 00, 0 11, 0 00, 0
11 11, 0 01, 0 00, 1 01, 1
Q1*Q0*, Z

4. Équations de sortie:

L'équation de sortie est:

Z = X·Q1·Q0 + Y·Q1'·Q0'

5. Table de transition/état:

Les valeurs de la sortie pour chaque état sont dans le tableau précédent, à coté de chaque
état prochain.

6. Table d'état/sortie:

Encore une fois, on utilise l'assignation simple pour nommer les états.
On les nomme A = 00, B = 01, C =10 et D = 11. On obtient donc la table d'état/sortie
suivante:

XY
S 00 01 10 11
A A, 0 C, 1 B, 0 C, 1
B B, 0 D, 0 C, 0 D, 0
C C, 0 A, 0 D, 0 A, 0
D D, 0 C, 0 A, 1 C, 1
S*, Z
GELE 3322
Chapitre 7 – Circuits séquentiels

7. Diagramme d'état:

On peut donc dessiner le diagramme d'état. Dans ce diagramme, Z = 0 sauf où indiqué.

X'·Y' X'·Y'
X·Y'
A B

Y Y
Y (Z = 1)
X·Y' X·Y'
(Z = 1)

C X·Y' D

X'·Y' X'·Y X'·Y'

X·Y
(Z = 1)

Vous aimerez peut-être aussi