3. A. Hamdoun 3/63
Chapitre 1: Circuits séquentiels synchrones
1.1 Généralités
1° Structure des machines d’état
Un réseau ou circuit séquentiel (RS) est constitué
d’un réseau combinatoire (RC) et d’une mémoire.
Les RS sont caractérisées par des boucles.
On les appelle aussi machines d’état.
4. A. Hamdoun 4/63
Chapitre 1: Circuits séquentiels synchrones
Structure généralisée des RS
RC
RC
Mémoire
(retard)
Mémoire
(retard)
Qt+1
Qt+1
Qt
Qt
Xt Yt
t
6. A. Hamdoun 6/63
Chapitre 1: Circuits séquentiels synchrones
2° Différents types d'automates
* Automate de Mealy
Xt
Yt
Qt
Qt+1
Mémoire
d
l
7. A. Hamdoun 7/63
Chapitre 1: Circuits séquentiels synchrones
L'automate de Mealy est caractérisé par les équations
suivantes:
Yt = l(Xt,Qt) ; Qt+1 = d(Xt,Qt)
L'entrée agit directement sur la sortie.
Avantage
Rapidité
Inconvénient
Problèmes de synchronisation
8. A. Hamdoun 8/63
Chapitre 1: Circuits séquentiels synchrones
* Automate de Moore
Xt
Yt
Qt
Qt+1
Mémoire
d
l
9. A. Hamdoun 9/63
Chapitre 1: Circuits séquentiels synchrones
L'automate de Moore est caractérisé par les
équations suivantes:
Yt = l(Qt) ; Qt+1 = d(Xt,Qt)
L'entrée n'agit pas directement sur la sortie.
Avantage
Pas de problème de synchronisation
Inconvénient
Pas aussi rapide que l'automate de Mealy.
10. A. Hamdoun 10/63
Chapitre 1: Circuits séquentiels synchrones
* Automate de Medwedew
Xt
Yt
Qt
Qt+1
Mémoire
d
11. A. Hamdoun 11/63
Chapitre 1: Circuits séquentiels synchrones
L'automate de Medwedew est caractérisé par les
équations suivantes:
Yt = Qt ; Qt+1 = d(Xt,Qt)
La sortie est identique à l"état actuel.
C'est un cas particulier de l'automate de Moore.
12. A. Hamdoun 12/63
Chapitre 1: Circuits séquentiels synchrones
3° Circuits séquentiels synchrones et asynchrones
Le changement d’état d'un RS peut se faire à
n'importe quel instant (réseaux séquentiels
asynchrones RSA) ou à des instants bien définis
(réseaux séquentiels synchrones RSS).
Dans le cas des RSS, c’est l’horloge (c) qui
synchronise le changement d’état.
L’horloge est un signal carré.
14. A. Hamdoun 14/63
Chapitre 1: Circuits séquentiels synchrones
4° Types de synchronisation
– Synchronisation sur niveau
Le changement d'état est provoqué par un niveau
de c (0 ou 1).
– Synchronisation sur front
Le changement d'état est provoqué par un front
de c (front montant ou descendant).
Dans ce chapitre, on se limitera aux réseaux
séquentiels synchrones à synchronisation sur front.
15. A. Hamdoun 15/63
Chapitre 1: Circuits séquentiels synchrones
1.2 Rappels sur les bascules
Elles sont utilisées comme mémoires dans les
réseaux séquentiels synchrones.
16. A. Hamdoun 16/63
Chapitre 1: Circuits séquentiels synchrones
– Bascule RS
R S qt+1
0 0
0 1
1 0
1 1 Interdit
R S
c
q q
Mémoris.
qt
1
0
Set
Reset
17. A. Hamdoun 17/63
Chapitre 1: Circuits séquentiels synchrones
– Bascule JK
J K qt+1
0 0
0 1
1 0
1 1
J K
c
q q
Mémorisation
Reset
Set
Basculement
qt
0
1
/qt
18. A. Hamdoun 18/63
Chapitre 1: Circuits séquentiels synchrones
– Bascule T
T qt+1
0
1
T
c
q q
Mémorisation
Basculement
qt
/qt
19. A. Hamdoun 19/63
Chapitre 1: Circuits séquentiels synchrones
– Bascule D
D qt+1
0
1
D
c
q q
Reset
Set
0
1
21. A. Hamdoun 21/63
Chapitre 1: Circuits séquentiels synchrones
1.3 Description des machines d’état
1°/ Graphe
Les sommets du graphe représentent les états du
RSS.
Les arcs représentent les transitions d'états.
22. A. Hamdoun 22/63
Chapitre 1: Circuits séquentiels synchrones
Q1
Q11 Q12
... ...
...
e1/s11
e2/s12
em/s1m
(Mealy)
Q1
Q11 Q12
... ...
...
e1/s11
e2/s12
em/s1m
Q1
Q1
Q11
Q Q12
Q12
... ...
...
e1/s11
e2/s12
em/s1m
11
e : Valeurs des
variables d'entrée
s : Valeurs des
variables de sortie
Q : Etats
(Mealy)
24. A. Hamdoun 24/63
Chapitre 1: Circuits séquentiels synchrones
2°/ Tables
- Table de transition
e1 e2 ... em
Q1
Q2
...
ei : Combinaisons des variables d'entrée
Q21 Q22 ... Q2m
Q11 Q12 ... Q1m
... ... ... ...
Etats
actuels
Etats
futurs
Etant à l’état Q1,
si l’entrée reçoit
la valeur e2, au
prochain front
actif de l’horloge,
la machine passera
à l’état Q12.
25. A. Hamdoun 25/63
Chapitre 1: Circuits séquentiels synchrones
- Table de sortie
e1 e2 ... em
Q1 s11 s12 ... s1m
Q2 s21 s22 ... s2m
... ... ... ... ...
(Mealy)
Etats
actuels
Valeurs
de la sortie
Etant à l’état Q1,
si l’entrée reçoit
la valeur e2,
la machine affiche
tout de suite la
valeur s12.
26. A. Hamdoun 26/63
Chapitre 1: Circuits séquentiels synchrones
Q1 s1
Q2 s2
... ...
Remarque
Généralement on regroupe la table de transition et la
table de sortie en une seule table appelée table de
transition et de sortie.
(Moore)
Etat Sortie
27. 27/63
Chapitre 1: Circuits séquentiels synchrones
3°/ Exemples
a- Compteur/décompteur modulo 4 avec reset
Modulo 4 signifie que le compteur compte 4 pas.
0 – 1 – 2 – 3 – 0 – 1 – …
Le compteur compte en binaire naturel.
Le signal R (reset) force le circuit à revenir à 0.
Il faut prévoir un signal d’entrée (M) qui permet
de choisir entre le comptage (M=0) et le
décomptage (M=1).
On choisit arbitrairement le type Moore.
28. 28/63
Chapitre 1: Circuits séquentiels synchrones
Schéma bloc
Le circuit possède deux entrées (M et R).
Puisqu’il compte jusqu’à 3, et 3 s’écrit 11 en binaire
naturel, il faut donc deux sorties binaires (y0 et y1).
Vecteur d’entrée : X = R M
Vecteur de sortie : Y = y1 y0
y0
y1
M
R (Moore)
H
31. A. Hamdoun 31/63
Chapitre 1: Circuits séquentiels synchrones
b- Détecteur de 3 bits successifs égaux à 1
Le circuit reçoit à l’entrée unique x des bits
synchronisés sur l’horloge (chaque bit dure une
période d’horloge). La sortie y passe à 1,
chaque fois que trois bits successifs égaux à 1
arrivent à l'entrée x. La sortie y reste à 1 pendant
une période de l’horloge H.
Le RSS est de type Mealy.
33. 33/63
Chapitre 1: Circuits séquentiels synchrones
Schéma bloc
Le circuit possède une seule entrée (x).
Il a une seule sortie (y).
Vecteur d’entrée : X = x
Vecteur de sortie : Y = y
y
x (Mealy)
H
36. 36/63
Chapitre 1: Circuits séquentiels synchrones
On constate que les états 1 et 4 sont identiques (même états
futurs et mêmes sorties).
Dans ce cas, on peut éliminer un de ces états (par exemple
4) que l’on remplacera par l’état qui lui est équivalent (1).
0
1
1
4
2
1
0
1
3 0
0
0
2 0
0
1
1
2
3
4
0 1 0 1
Q
x
Transition (d) Sortie (l)
1
38. A. Hamdoun 38/63
Chapitre 1: Circuits séquentiels synchrones
1.4 Méthode de synthèse
Le point de départ de la synthèse est la table de
transition et de sortie réduite.
40. A. Hamdoun 40/63
Chapitre 1: Circuits séquentiels synchrones
1°/ Réalisation de la partie mémoire
On utilise des bascules RS, T, D ou JK comme
mémoire pour les états.
Les bascules ne peuvent mémoriser que des bits.
Les états doivent donc être codés en binaire.
Chaque bit du code est mémorisé dans une
bascule.
Dans la partie mémoire, il y a donc autant de
bascules que de bits figurant dans le code binaire.
Combien de bascules sont nécessaires ?
41. 41/63
Chapitre 1: Circuits séquentiels synchrones
Avec n bits, on peut coder 2n états. C’est-à-dire, avec
n bascules on peut mémoriser 2n états.
n bascules états
bascules N états
Si on a N états, il faut bascules pour les
mémoriser, car log2(x) est l’opération inverse de 2x.
log2(N) n’étant pas toujours un nombre entier, on
prend le plus petit entier supérieur ou égal à log2(N)
représenté par : log2(N)
Résumé Nombre minimal de bascules = log2(N)
2n
?
log2(N)
42. 42/63
Chapitre 1: Circuits séquentiels synchrones
Remarque
Comment calculer rapidement log2(N) ?
On cherche la plus petite puissance de 2 qui est
supérieure ou égale à N.
Les puissances de 2 sont : 1, 2, 4, 8, 16, 32, 64, …
Le nombre qui figure dans l’exposant de cette
puissance de 2 est log2(N).
Exemple : N = 27 états
Dans ce cas, on prend 32, qui s’écrit : 2 .
L’exposant est 5. Donc : log2(27) = 5 bascules
5
?
43. 43/63
Chapitre 1: Circuits séquentiels synchrones
Exemple : Extrait d’une table réduite
ab 00 01 …
1 2 3 …
2 1 2 …
3 … … …
Q Il y a 3 états.
Il faut 2 bits
q2 et q1.
• Pour le choix du code, on peut choisir n’importe
quel code binaire (mais il ne faut pas donner le
même code à 2 états différents).
• q2 et q1 s’appellent variables d’état.
Physiquement, elles sont les sorties des bascules.
1
2
3
0 0
0 1
1 0
Q q2 q1
44. A. Hamdoun 44/63
Chapitre 1: Circuits séquentiels synchrones
Après avoir codé les états, on dresse la table dite
table codée qui est obtenue en remplaçant
simplement chaque état par son code dans la
table de transition et de sortie réduite.
45. 45/63
Chapitre 1: Circuits séquentiels synchrones
ab 00 01 …
1 2 3 …
2 1 2 …
3 … … …
Q
0 0 0 1 1 0 …
0 1 0 0 0 1 …
1 0 … … …
q2q1
q2
+ q1
+ q2 et q1 : Valeurs actuelles
des sorties des bascules
q2
+ et q1
+ : Valeurs futures
des sorties des bascules
Avec le code choisi
pour la table réduite ci-
contre, on obtient la
table codée ci-dessous :
ab 00 01 …
46. A. Hamdoun 46/63
Chapitre 1: Circuits séquentiels synchrones
Avec la partie mémoire réalisée à l’aide de
bascules, le circuit séquentiel devient comme le
montre la figure.
48. A. Hamdoun 48/63
Chapitre 1: Circuits séquentiels synchrones
J1
K1
J2
K2
q1
q2
clock
X
Y
l
d
Y
l
d
Q
49. 49/63
Chapitre 1: Circuits séquentiels synchrones
2°/ Réalisation de d (circuit d’excitation)
Le circuit d doit correctement commander
(exciter) les bascules pour que celles-ci
réalisent exactement les changements d’état
donnés par la table codée.
Les signaux avec lesquels le circuit d
commande les bascules s’appellent signaux
d’excitation qui ne sont rien d’autres que les
entrées des bascules (J et K pour la bascule JK,
D pour la bascule D et T pour la bascule T).
50. 50/63
Chapitre 1: Circuits séquentiels synchrones
On suppose que la machine se
trouve à l’état 1 (q2q1 = 0 0) et
que l’entrée ab prend la valeur
0 1.
0 0 0 1 1 1 …
0 1 0 0 0 1 …
1 1 … … …
q2q1
q2
+ q1
+
ab 00 01 …
Exemple
Les valeurs futures de q2q1 sont
1 1.
On considère par exemple q1. Elle doit passer de 0 à 1.
C’est avec le ou les signaux d’entrée de la bascule q1 que d fera
passer q1 de 0 à 1.
51. 51/63
Chapitre 1: Circuits séquentiels synchrones
J1
K1
J2
K2
q1
q2
clock
X
Y
l
d
Y
l
d
Q
0
1
q1
+ = ?
= ?
J1 et K1 s’appellent
signaux d’excitation
de q1.
Comment trouver les
valeurs de ce ou ces
signaux d’excitation ?
52. A. Hamdoun 52/63
Chapitre 1: Circuits séquentiels synchrones
Les valeurs des signaux d’excitation dépendent du
type de bascule (voir table).
Table d'excitation des bascules
q , q+ 0 , 0 0 , 1 1 , 0 1 , 1
J , K
D
T
0 , X 1 , X X , 1 X , 0
0 1 0 1
0 1 1 0
Rappel
JK Action
00 M
01 R
10 S
11 B
D Action
0 R
1 S
T Action
0 M
1 B
53. A. Hamdoun 53/63
Chapitre 1: Circuits séquentiels synchrones
On dresse ensuite la table d’excitation du circuit
contenant les valeurs d’excitation de toutes les
bascules.
Le circuit d’excitation d est un circuit
combinatoire. Pour trouver ses équations, il
suffit de tracer et de remplir les tableaux de
Karnaugh à partir de la table d’excitation du
circuit trouvée plus haut.
54. 54/63
Chapitre 1: Circuits séquentiels synchrones
3°/ Réalisation de l (circuit de sortie)
On revient à la table codée et on traite
maintenant la partie sortie.
Cette partie contient les valeurs des signaux de
sortie en fonction des variables d’état et,
dans le cas de Mealy en fonction des variables
d’entrée aussi.
Le circuit de sortie l est un circuit
combinatoire. Pour trouver ses équations, il
suffit de tracer et de remplir les tables de
Karnaugh à partir de la table codée.
55. A. Hamdoun 55/63
Chapitre 1: Circuits séquentiels synchrones
4°/ Etapes de la synthèse
o Choisir le type d'automate
o Chercher le graphe
o Dresser la table de transition et de sortie
o Réduire le nombre des états (Table réduite)
o Choisir le type des bascules
o Coder les états
o Dresser la table codée
o Dresser la table d'excitation du circuit
o Trouver les fonctions d'excitation (Circuit d)
o Trouver les fonctions de sortie (Circuit l)
o Tracer le circuit complet
56. A. Hamdoun 56/63
Chapitre 1: Circuits séquentiels synchrones
5°/ Exemple
On veut synthétiser le détecteur de la suite de
trois bits égaux à 1 vu précédemment (§1.3).
- Type d'automate: Mealy
- Graphe: (Voir §1.3)
57. A. Hamdoun 57/63
Chapitre 1: Circuits séquentiels synchrones
- Table de transition et de sortie (Voir §1.3)
Q
X 0 1 0 1
1 1 2 0 0
2 1 3 0 0
3 1 4 0 1
4 1 2 0 0
58. A. Hamdoun 58/63
Chapitre 1: Circuits séquentiels synchrones
- Table réduite
Q
X 0 1 0 1
1 1 2 0 0
2 1 3 0 0
3 1 1 0 1
Table de transition et de sortie
Les états 1 et 4 sont équivalents.
On peut donc éliminer l’état 4.
Il sera remplacé par 1.
59. 59/63
Chapitre 1: Circuits séquentiels synchrones
- Type de Bascule: Bascule JK (Choix arbitraire)
- Codage des états
On a trois états, donc il faut bits (bascules).
On prend arbitrairement le code suivant:
Q q2 q1
1 0 0
2 0 1
3 1 0
2
61. 61/63
Chapitre 1: Circuits séquentiels synchrones
- Table d'excitation du circuit
On compare qi avec qi
+ pour trouver Ji et Ki en se
basant sur la table d’excitation de la bascule JK.
On part de la partie transition (d) de la table codée.
62. 62/63
Chapitre 1: Circuits séquentiels synchrones
(Cette table contient les entrées des bascules)
On compare qi avec qi
+ pour trouver Ji et Ki
en se basant sur la table d’excitation de JK.
Tab. d’excit. de JK
q q+ J K
0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0
Partie d de la table codée
Q x=0 x=1
q2 q1 q2
+ q1
+ q2
+ q1
+
0 0 0 0 0 1
0 1 0 0 1 0
1 0 0 0 0 0
0 X
0 X
0 X
0 X
0 X
0 X
X 1
X 1
X 1 X 1
1 X
1 X
J2 K2 J1 K1 J2 K2 J1 K1
Q
x 0 1
q2 q1
0 0
0 1
1 0
63. A. Hamdoun 63/63
Chapitre 1: Circuits séquentiels synchrones
- Détermination du circuit d
Ce circuit contient les fonctions d’excitation qui
sont les entrées des bascules.
Il y a 4 fonctions d’excitation : J2, K2, J1, K1
Elles dépendent de q2, q1 (état) et x (entrée).
J2, K2, J1, K1 = f(q2,q1,x)
64. A. Hamdoun 64/63
Chapitre 1: Circuits séquentiels synchrones
Fonction J2 = f(q2,q1,x)
q1 x
q2
0
0 0 0 1 1 1 1 0
1
J2
0 0 1 0
X X X X
J2 = q1 x
65. A. Hamdoun 65/63
Chapitre 1: Circuits séquentiels synchrones
Fonction K2
q1 x
q2
0
0 0 0 1 1 1 1 0
1
K2
X X X X
1 1 X X
K2 = 1 = VCC
66. A. Hamdoun 66/63
Chapitre 1: Circuits séquentiels synchrones
Fonction J1
q1 x
q2
0
0 0 0 1 1 1 1 0
1
J1
0 1 X X
0 0 X X
J1 = /q2 x
67. A. Hamdoun 67/63
Chapitre 1: Circuits séquentiels synchrones
Fonction K1
q1 x
q2
0
0 0 0 1 1 1 1 0
1
K1
X X 1 1
X X X X
K1 = 1 = VCC
68. A. Hamdoun 68/63
Chapitre 1: Circuits séquentiels synchrones
- Détermination du circuit l
On traite la partie sortie l de la table codée.
Il y a une fonction
de sortie (y).
Elle dépend de q2, q1
(état) et de x (entrée),
car c’est une machine
de Mealy.
y = f(q2,q1,x)
69. A. Hamdoun
Chapitre 1: Circuits séquentiels synchrones
Fonction y
q1 x
q2
0
0 0 0 1 1 1 1 0
1
y
0 0 0 0
0 1 X X
y = q2 x
69/63
70. A. Hamdoun
Chapitre 1: Circuits séquentiels synchrones
Résumé
• Partie mémoire
Deux bascules JK : q1 et q2
• Circuit d
J1 = /q2 x
K1 = 1
J2 = q1 x
K2 = 1
• Circuit l
y = q2 x
70/63
71. Chapitre 1: Circuits séquentiels synchrones
J
K
q
q
J
K
q
q
q1
q1
q2
q2
J1
K1
J2
K2
x
H
y
VCC
- Circuit conçu
d :
J1 = /q2 x
K1 = 1
J2 = q1 x
K2 = 1
l :
y = q2 x
71/63
72. Chapitre 1: Circuits séquentiels synchrones
Mémoire Circuit l
J
K
q
q
J
K
q
q
q1
q1
q2
q2
J1
K1
J2
K2
x
H
y
VCC
Circuit d
72/63