Title: Chapitre 10 Conception de circuits squentiels synchrones
1Chapitre 10 Conception de circuits séquentiels
synchrones
- Références Roth 5e éd., unités 14, 15 et 16
- 10.1 Procédure
- Voici la procédure pour concevoir un circuit
séquentiel synchrone - Bâtir un diagramme détat à partir des données du
problème - Bâtir le tableau détat à partir du diagramme
détat, en identifiant les états par des
symboles - Réduire le nombre détats nécessaires en
éliminant les états équivalents - Assigner un code binaire à chaque état, et
ajouter cette information au tableau détat - À partir du tableau détat complet, obtenir les
équations booléennes dentrée des bascules ainsi
que les équations booléennes des sorties du
système, en simplifiant si possible - Donner le diagramme et/ou construire le circuit
et, - Vérifier, vérifier, vérifier.
2Chapitre 10 Conception de circuits séquentiels
synchrones
10.2 Bâtir un diagramme et un tableau détat à
partir des données du problème Référence Roth
5e éd., unité 14 La première étape de conception
consiste à obtenir un tableau détat à partir des
données du problème. En règle générale, il est
beaucoup plus facile dobtenir tout dabord un
diagramme détat. Les principes suivants peuvent
grandement aider à obtenir le diagramme
détat. 1. À partir des données du problème,
simuler certaines combinaisons dentrée et de
sortie pour bien comprendre la nature du
problème. 2. Commencer par construire un
diagramme partiel menant à une sortie désirée du
système. 3. Ajouter au diagramme les autres
chemins menant aux sorties désirées du
système. 4. Vérifier le diagramme pour éviter
les états inutiles. 5. Compléter le diagramme
en ajoutant des transitions pour toutes les
entrées possibles à partir de chaque état. 6.
Identifier toute condition où le circuit doit
être réinitialisé à un état de départ, et annoter
le diagramme avec cette information. 7.
Vérifier le diagramme en appliquant les
combinaisons dentrées et de sorties identifiées
au début.
3Chapitre 10 Conception de circuits séquentiels
synchrones
10.3 Eliminer les états équivalents Référence
Roth 5e éd., sections 15.1 et 15.2 Deux états
sont équivalents si et seulement si, pour chaque
entrée, les sorties sont les mêmes et les
prochains états sont les mêmes. On peut utiliser
à profit les valeurs peu importe (don't
care). Une procédure simple pour éliminer les
états équivalents consiste à dresser un tableau
détat où les états sont représentés par des
symboles. En faisant des passes successives à
travers le tableau, on combine les états
équivalents selon la définition donnée plus
haut. Cette procédure ne permet pas toujours
dobtenir la solution la plus simple possible.
Une autre technique, utilisant une table
dimplication, garantie une solution optimale.
Voir la section 15.3 de Roth.
4Chapitre 10 Conception de circuits séquentiels
synchrones
- 10.4 Assigner un code binaire à chaque état
- Référence Roth 5e éd., sections 15.7, 15.8 et
15.9 - Il faut éventuellement assigner un code binaire à
chaque état pour en venir à un la réalisation du
circuit. Par exemple, si on utilise deux
bascules, il y a 4 combinaisons possibles 00,
01, 10, 11. On peut démontrer quil y a lors 3
arrangements distincts des états (voir Roth,
tableau 15-10). Le nombre darrangements
distincts croît très rapidement avec le nombre
détats. Voir Roth, tableau 15-11. Par exemple,
pour 5 états et trois bascules, il y a 140
arrangements possibles. - Le problème de design consiste donc à choisir le
meilleur arrangement, c'est-à-dire celui qui
résultera en un circuit le plus simple possible.
Lassignation dun code binaire à chaque état
relève beaucoup de lexpérience. On peut
optimiser le choix en exploitant les adjacences
entre états - Etats qui ont le même prochain état
- Etats qui sont les prochains états d'un même
état et - Etats qui ont la même sortie.
5Chapitre 10 Conception de circuits séquentiels
synchrones
Idéalement, une seule variable détat devrait
changer entre deux états adjacents. Cela
simplifierait grandement la logique nécessaire
pour implémenter chaque équation détat. Ce nest
pas possible en pratique. Il est en général
difficile de déterminer la meilleure façon
dassigner un code à chaque état. Dans la
méthode dassignation one hot , on alloue une
bascule par état. Une seule bascule peut donc
avoir une sortie égale à 1 à la fois. Lavantage
de cette assignation, cest que les équations
détat sont très simples. Un premier désavantage
est quil faut beaucoup de bascules quand on a
plusieurs états à représenter. Un second
désavantage est que beaucoup de combinaisons des
variables détat ne représentent pas un état
valable (du moment que plus dune variable détat
vaut 1 à la fois). Voir lexemple commençant à
la page 450 dans Roth, 5e édition.
610.5 Conception de machines de Moore et de
machines de Mealy Réviser la section 9.5 des
notes de cours. En général, une machine de Moore
contient plus détats et les variables détat
sont plus complexes. Cependant, la sortie dune
machine de Moore est plus fiable puisquelle est
constante pendant toute une période dhorloge,
indépendamment des entrées du système. 10.6
Conception avec ROM, PLA et PAL Référence
Roth, 5e éd., section 16.4 On se rappelle le
modèle dun circuit séquentiel de base vu à la
section 8.1.
Rien nempêche lutilisation dune mémoire ROM
pour réaliser le circuit combinatoire
directement. De façon similaire, les PALs
peuvent inclure des éléments à mémoire. On peut
donc réaliser un circuit séquentiel complet avec
une seule puce.
7Chapitre 10 Conception de circuits séquentiels
synchrones
10.7 Equations pour bascules D, JK et
T Référence Roth, 5e éd., sections 12.6 et
15.6 Réviser les notes de cours, Chapitre 8, et
spécialement les tableaux caractéristiques des
bascules. Dans tous les problèmes de conception
de circuit séquentiel, il faut déterminer les
équations des entrées des bascules. Dans chaque
cas, il faut déterminer quelle valeur appliquer
aux entrées en fonction de létat présent de la
bascule et de létat désiré de la bascule. Pour
une bascule D (Q D), cest très simple. Comme
la bascule D na que le mode saisie de donnée
, la valeur à appliquer à lentrée D est la même
que celle quon désire voir comme état. Pour une
bascule JK (Q JQ KQ), il y a deux entrées
et quatre modes possibles mémoire (00), reset
(01), set (10) et inverse (11). Par exemple, si
létat actuel de la bascule est 0 et quon désire
le faire passer à 1, il y a deux possibilités
soit set (10) ou inverse (11). Dans ce cas,
lentrée K est sans importance. Pour une bascule
T (Q T oux Q), il ny a quune seule entrée et
deux modes mémoire et inverse. Il faut
déterminer si on veut inverser ou non létat
présent de la bascule.
8Chapitre 10 Conception de circuits séquentiels
synchrones
Le tableau suivant résume la situation.
Voir aussi le tableau 12-9 de Roth, 5e éd., p.
347, pour un résumé des règles à suivre
concernant lécriture dune table de Karnaugh
pour un signal dentrée de bascule étant donnée
la table de Karnaugh pour le prochain état de
cette bascule.
9- 10.8 Exemple détection dune séquence, machine
de Mealy - Problème il faut concevoir un circuit
séquentiel à une entrée (plus une horloge) et une
sortie. La sortie du circuit doit être 1 quand
la séquence 1, 1, 0, 1 est présentée à
lentrée. On présume que lentrée est
synchronisée avec lhorloge. Concevoir une
machine de Mealy. - Diagramme détat
- 2. Tableau détat, version 1 (avec codes
symboliques pour les états)
10Chapitre 10 Conception de circuits séquentiels
synchrones
3. Réduction des états pas pour ce problème
simple 4. Tableau détat, version 2 (avec
codes binaires pour les états) Assignation des
codes binaires à chaque état
11Chapitre 10 Conception de circuits séquentiels
synchrones
3. Réduction des états pas pour ce problème
simple 4. Tableau détat, version 2 (avec
codes binaires pour les états) Assignation des
codes binaires à chaque état
0 0 0 0
1 0 0
0 0 1 0
0 1 1
0 1 0
0 0 0 0 0
1 1
A A B B C C D D
125. Équations détat
Q1
Q0
13Z
6. Diagramme du circuit
14Chapitre 10 Conception de circuits séquentiels
synchrones
- 10.9 Exemple détection dune séquence, machine
de Moore - Problème il faut concevoir un circuit
séquentiel à une entrée (plus une horloge) et une
sortie. La sortie du circuit doit être 1 quand
la séquence 1, 1, 0, 1 est présentée à
lentrée. On présume que lentrée est
synchronisée avec lhorloge. Concevoir une
machine de Moore. - Diagramme détat
- 2. et 4. Tableau détat, versions 1 et 2
combinées - (3. réduction des états pas pour ce problème
simple)
15Assignation des codes binaires à chaque état
Solution 1 (A, B, C, D, E) (000, 001,
011, 010, 110)
A B A C A E D C A C
A A B B D D C C E E
16Assignation des codes binaires à chaque état
Solution 1 (A, B, C, D, E) (000, 001,
011, 010, 110)
A B A C A E D C A C
0 0 0 0 0
0 1 0 0
0 0 0 0 1
1 0 0 0
0 0 1 1 0
0 0 1 0
0 0 1 1 0
A A B B D D C C illegal E E illegal
0 0 0 0 0
0 0 0 0
0 0 0 0 0
0 0
0 0 0 1 0
1 1 1
0 0 0 0 0
0 0 0
175. Équations détat
0 0 0 0 0 1 0
0 0 0 0 0 0 0
0 0
0 0 0 0 0 1 1
0 1 1 0 0 0 1
0 0
0 0 0 0 1 0 1
0 1 1 0 0 0 0
0 0
0 0 1 0 0 0 1
0 0 0 0 0 0 0
0 0
185. Équations détat
Q2Q1Q0X
Q1Q0XQ2Q0XQ2Q1Q0
0 0 0 0 0 1 0
0 0 0 0 0 0 0
0 0
0 0 0 0 0 1 1
0 1 1 0 0 0 1
0 0
Q2Q1Q0
Q2Q1XQ2Q0XQ2Q1Q0X
0 0 0 0 1 0 1
0 1 1 0 0 0 0
0 0
0 0 1 0 0 0 1
0 0 0 0 0 0 0
0 0
Complexité du circuit 8 termes 26 littéraux
19Assignation des codes binaires à chaque état
Solution 2 (A, B, C, D, E) (000, 001,
111, 010, 011)
A B A C A E A C D C
A A B B D D E E C C
20Assignation des codes binaires à chaque état
Solution 2 (A, B, C, D, E) (000, 001,
111, 010, 011)
0 0 0 0 0
0 1 0 0
0 0 0 1 1
1 0 0 0
0 0 0 1 1
0 0 0 0
1 1 1 1 1
A B A C A E A C D C
A A B B D D E E illegal C C
0 0 0 0 0
0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 1 0 0 1
1 1 0
215. Équations détat
0 0 0 0 0 0 0
0 1 1 1 0 0 0
0 0
0 0 0 0 0 1 0
0 1 1 1 0 0 0
1 0
0 0 0 0 1 1 0
0 1 1 1 0 0 0
0 0
0 0 0 0 0 0 0
0 0 1 0 0 0 1
0 0
225. Équations détat
Q2Q0XQ2Q1XQ2Q1Q0
Q2Q0XQ1Q0X
0 0 0 0 0 0 0
0 1 1 1 0 0 0
0 0
0 0 0 0 0 1 0
0 1 1 1 0 0 0
1 0
Q2Q1Q0
Q2XQ1Q0X
0 0 0 0 1 1 0
0 1 1 1 0 0 0
0 0
0 0 0 0 0 0 0
0 0 1 0 0 0 1
0 0
Complexité du circuit 8 termes 23 littéraux
23Chapitre 10 Conception de circuits séquentiels
synchrones
6. Diagramme du circuit
10.10 Exemple élimination détats équivalents
1 Soit le diagramme détat suivant pour un
circuit séquentiel avec une entrée F et une
sortie Z On suppose que les transitions
non indiquées ainsi que les - désignent des
valeurs sans importance.
24Chapitre 10 Conception de circuits séquentiels
synchrones
Tableau détat original
X S1
X X S2
S3 X
X S0 X
0 X S0
X 1
X
Tableau détat modifié, v. 1
S0 et S2 équivalents gt les combiner pour donner
S4
S4 S4
S1 0
X S1 S4
S3 X
X S3 S4
X
1 X
25Tableau détat modifié, v. 2
S1 et S3 équivalents gt les combiner pour donner
S5
S4 S4
S5 0
X S5 S4
S5 1
X
10.11 Exemple élimination détats équivalents
2 Considérer le tableau détat suivant, pour un
circuit séquentiel avec une entrée X et une
sortie Z. Éliminer les états équivalents.
261) ge gt g disparaît et g devient e
a a b
0 0 b
c d
0 0 c
a d 0
0 d e
f 0
1 e a f
0 1 f
e f
0 1
271) ge gt g disparaît et g devient e
a a b
0 0 b
c d
0 0 c
a d 0
0 d e
f 0
1 e a f
0 1 f
e f
0 1
2) df gt f disparaît et f devient d
a a b
0 0 b
c d
0 0 c
a d 0
0 d e
d 0
1 e a d
0 1
2810.12 Exemple assignation dun code binaire aux
états 1. Tableau détats (obtenu du diagramme
détats)
2. Établir la liste des adjacences i. Etats qui
ont le même prochain état ______________________
____________________ ii. Etats qui sont les
prochains états dun même état
_______________________________ iii. Etats qui
ont la même sortie _____________________________
__________________
2910.12 Exemple assignation dun code binaire aux
états 1. Tableau détats (obtenu du diagramme
détats)
2. Établir la liste des adjacences i. Etats qui
ont le même prochain état ______________________
____________________ ii. Etats qui sont les
prochains états dun même état
_______________________________ iii. Etats qui
ont la même sortie _____________________________
__________________
(b,d), (c,f), (b,e)
2x(a,c), (d,f), (b,d), (b,f), (c,e)
(a,c), (b,d), (e,f)
303. Assignation des codes binaires
313. Assignation des codes binaires
e c b f d a
a f c e d b
32Chapitre 10 Conception de circuits séquentiels
synchrones
4. Tableau détats (incluant les codes)
(b) (f) 1
0 (d) (f) 0
1 --- --- -
- (d) (b) 0
1 (c) (a) 0
0 (c) (e) 1
0 (a) (c) 0
0 --- --- -
-
e b d c f a
33Chapitre 10 Conception de circuits séquentiels
synchrones
4. Tableau détats (incluant les codes)
(b) 001 (f) 101 1 0 (d)
011 (f) 101 0 1 ---
--- - - (d) 011
(b) 001 0 1 (c) 100
(a) 110 0 0 (c) 100 (e)
000 1 0 (a) 110 (c) 100
0 0 --- ---
- -
e b d c f a
345. Tableaux de Karnaugh
0 0 1 0 1 0 0
0 1 - - 0 - 1
0 -
0 1 1 1 0 1 0
1 0 - - 0 - 1
1 -
1 0 0 0 0 1 0
1 0 - - 1 - 0
0 -
1 0 0 1 1 0 0
1 1 - - 1 - 0
0 -
355. Tableaux de Karnaugh
XQ1Q3XQ2XQ1Q2Q3
XQ1XQ1Q2XQ3
0 0 1 0 1 0 0
0 1 - - 0 - 1
0 -
0 1 1 1 0 1 0
1 0 - - 0 - 1
1 -
Q1
XQ1Q3XQ1Q3XQ1Q3
1 0 0 0 0 1 0
1 0 - - 1 - 0
0 -
1 0 0 1 1 0 0
1 1 - - 1 - 0
0 -
3610.13 Exemple utilisation dun PAL
3710.14 exemple équations pour différents types
de bascules Considérer les trois tableaux de
Karnaugh suivants, donnant les valeurs désirées
pour les variables détat A, B et C dun circuit
séquentiel à une entrée X. Donner les équations
dentrée de bascules D, JK et T pour chacun des
tableaux.
381) équations dentrée des bascules D
1 x x 0 1 1 0
0 1 1 0 0 1 1 0
0
1 x x 0 1 0 0
1 1 0 0 1 1 1 0
1
0 x x 1 0 1 1
1 0 1 1 0 0 1 1
0
DA
DB
DC
391) équations dentrée des bascules D
1 x x 0 1 1 0
0 1 1 0 0 1 1 0
0
1 x x 0 1 0 0
1 1 0 0 1 1 1 0
1
0 x x 1 0 1 1
1 0 1 1 0 0 1 1
0
DA X
DB XAACAB
DC AXB
402) équations dentrée des bascules T
A1 inversion
1 x x 0 1 0 1
0 1 0 1 0 1 0 1
0
1 x x 0 1 0 0
1 0 1 1 0 0 0 1
0
0 x x 1 1 0 0
0 1 0 0 1 0 1 1
0
B0 inchangées
C1 inversion
C0 inchangées
B1 inversion
A0 inchangées
412) équations dentrée des bascules T
1 x x 0 1 0 1
0 1 0 1 0 1 0 1
0
1 x x 0 1 0 0
1 0 1 1 0 0 0 1
0
0 x x 1 1 0 0
0 1 0 0 1 0 1 1
0
TB XAB ABC ACB XAB
TA XA XA
TC XACABCABC
423) équations dentrée des bascules JK
Q Q J K 0 0 0 X 0 1 1
X 1 0 X 1 1 1 X 0
JA
KA
X
X
KB
JB
XA AC
XA AC
433) équations dentrée des bascules JK
Q Q J K 0 0 0 X 0 1 1
X 1 0 X 1 1 1 X 0
JC
KC
A XB
XA AB
4410.15 Questions de révision Sur le problème de
décrire une machine à états avec un graphe 1.
Roth, 5e éd., exemple 1, pp. 402-403 2. Roth, 5e
éd., exemple 2, pp. 403-405 3. Roth, 5e éd.,
14.1, pp. 412- 4. Roth, 5e éd., 14.2, pp.
414- 5. Roth, 5e éd., 14.4, p. 419 6. Roth, 5e
éd., 14.6, p. 419 Sur lélimination détats
redondants, lassignation de codes binaires aux
états, et les équations pour bascules 7. Roth,
5e éd., exemple tableau 15-1, pp. 433-435 8.
Roth, 5e éd., 15.6 9. Roth, 5e éd., 15.7 10.
Roth, 5e éd., 15.9 Autres problèmes 11. Roth, 5e
éd., 16.15, p. 498 12. Roth, 5e éd., 16.16, p. 498
45(No Transcript)