GELE2442 Chapitre 9 : Machines séquentielles algorithmiques

publicité
GELE2442 Chapitre 9 :
Machines séquentielles algorithmiques
Gabriel Cormier, Ph.D., ing.
Université de Moncton
Hiver 2015
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
1 / 27
Contenu
1
Introduction
2
Éléments ASM
3
Étapes de design
4
Circuits des boı̂tes ASM
5
Opérations sur les registres
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
2 / 27
Introduction
Machines séquentielles algorithmiques
Machines séquentielles algorithmiques (ASM): alternative aux
diagrammes d’état
Ressemble à un ordinogramme
Plus simple pour des machines d’état complexes
Ex: un circuit à 5 entrées aura 5 lignes qui sortent de chaque état
dans un diagramme d’état; pas le cas pour un ASM
Permet de simplifier le passage au circuit
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
3 / 27
Introduction
ASM
Constitué de 3 éléments:
Boı̂te d’état
Boı̂te de décision
Boı̂te de sortie conditionnelle
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
4 / 27
Éléments ASM
Boı̂te d’état
L’équivalent du cercle d’état dans un diagramme d’état: représente 1
état du système
L’état peut avoir un nom, et le code binaire qui le représente
Les sorties de type Moore peuvent être montrées dans la boı̂te
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
5 / 27
Éléments ASM
Boı̂te d’état
Nom de l’état
Code binaire
Sorties
Machine Moore
Figure 1 : Boı̂te d’état d’un ASM
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
6 / 27
Éléments ASM
Boı̂te de décision
Représente un choix
Doit avoir une expression qui peut être évaluée
Peut avoir plus d’une entrée
Doit avoir 2 sorties ou plus
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
7 / 27
Éléments ASM
Boı̂te de décision
0 (faux)
Expression
conditionnelle
1 (vrai)
Figure 2 : Boı̂te de décision d’un ASM
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
8 / 27
Éléments ASM
Boı̂te de sortie conditionnelle
Donne les sorties qui dépendent de l’état présent et les entrées
présentes
Contiennent les sorties Mealy
Doit être placé après une boı̂te de décision
Aura une seule entrée
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
9 / 27
Éléments ASM
Boı̂te de sortie conditionnelle
Sorties
Machine Mealy
Figure 3 : Boı̂te de sortie conditionnelle d’un ASM
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
10 / 27
Éléments ASM
ASM
Si l’ASM n’a pas de boı̂tes de sortie conditionnelle, l’ASM décrit une
machine Moore
Si l’ASM a au moins une boı̂te de sortie conditionnelle, l’ASM décrit
une machine Mealy
Dans un ASM, seules les sorties qui sont 1 sont montrées; on suppose
que les autres sont 0
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
11 / 27
Étapes de design
Étapes de design
Le processus est semblable à celui qui commence par un diagramme
d’état
On commence avec le tableau d’état
Le nombre d’états = le nombre de boı̂tes d’état ASM
On fait l’assignation des états
On utilise les boı̂tes conditionnelles, les boı̂tes d’état et les boı̂tes de
décision pour calculer les sorties
On utilise les boı̂tes de décision pour déterminer le prochain état
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
12 / 27
Étapes de design
Exemple
S0
00
A = 1
0
1
G=1
S1
Soit un ASM ayant 3
états, 3 entrées et 1
sortie
0
01
W =1
1
A=1
S2
0
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
10
Z =1
1
Hiver 2015
13 / 27
Étapes de design
Exemple
Les trois états sont S0, S1, S2
L’assignation est: S0 = 00, S1 = 01, S2 = 10
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
14 / 27
Étapes de design
Exemple
On peut construire la table d’état:
État Présent
Nom Q1 Q0
S0
00
00
S1
01
01
S2
10
10
–
11
Gabriel Cormier (UdeM)
G
0
1
X
X
X
X
X
Entrées
W Z
X X
X X
0 X
1 X
X 0
X 1
X X
Prochain État
Q1 Q0
00
01
10
10
01
00
X
GELE2442 Chapitre 9
Sortie
A
1
1
0
1
0
0
X
Hiver 2015
15 / 27
Étapes de design
Exemple
À partir de la table d’état, on fait le design comme d’habitude:
Choisir le type de bascule
Générer les équations
Etc.
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
16 / 27
Circuits des boı̂tes ASM
Design direct
On peut passer directement du ASM au circuit sous 2 conditions:
Utiliser des bascules D
Encodage est 1-de-n: seule 1 bascule a une sortie haute à la fois (n
états = n bascules)
Ceci permet:
Chaque type de boı̂te a un circuit correspondant
Les connexions entre les boı̂tes du ASM permettent de brancher les
sous-circuits
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
17 / 27
Circuits des boı̂tes ASM
Circuit pour une boı̂te d’état
La boı̂te d’état devient une bascule D. Les sorties sont créées avec des
portes logiques
Entrée
Nom de l’état
Entrée
Code binaire
D
Q
Sorties
Machine Moore
C
Q’
Sortie
Sortie
Figure 4 : Circuit pour une boı̂te d’état d’un ASM
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
18 / 27
Circuits des boı̂tes ASM
Circuit pour une boı̂te de décision
La boı̂te de décision devient 2 portes AND et un inverseur
Entrée X
Entrée
0 (faux)
1 (vrai)
X
Sortie0
Sortie1
Sortie0
Sortie1
Figure 5 : Circuit pour une boı̂te de décision d’un ASM
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
19 / 27
Circuits des boı̂tes ASM
Circuit pour une boı̂te conditionnelle
Il suffit d’ajouter une connexion et la brancher à d’autre portes logique
pour générer la sortie voulue.
Entrée
X
Entrée
X
1
Sortie1
Sortie1
Figure 6 : Circuit pour une boı̂te conditionnelle d’un ASM
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
20 / 27
Circuits des boı̂tes ASM
Circuit pour une jonction
Lorsque 2 ou plusieurs signaux se joignent ensemble, on utilise une porte
OR
Entrée0 Entrée1
Entrée0 Entrée1
Sortie
Sortie
Figure 7 : Circuit pour une jonction d’un ASM
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
21 / 27
Circuits des boı̂tes ASM
S0
00
D Q
A = 1
CQ’
0
G
1
G = 1
S1
01
D Q
0
CQ’
1
W
W = 1
A
A = 1
S2
10
D Q
CQ’
0
Z
1
Z = 1
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
22 / 27
Opérations sur les registres
Opérations sur les registres
Dans une boı̂te d’état, on peut aussi avoir des opérations sur un
registre
Ces opérations peuvent représenter un décalage, addition, etc.
On utilise quelques opérateurs communs
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
23 / 27
Opérations sur les registres
Opérations sur les registres
Transfert: ←
Permet de copier le contenu d’un registre à un autre
Ex: R2 ← R1: le contenu du registre R1 est copié dans le registre R2
Le contenu du registre source n’est pas modifié (R1 ne change pas
dans l’exemple précédent)
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
24 / 27
Opérations sur les registres
Opérations sur les registres
Addition: +
Faire la somme de deux registres
Ex: R1 ← R1 + R2: additionner le contenu de R2 à R1
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
25 / 27
Opérations sur les registres
Opérations sur les registres
Décalage: shr ou shl
shr: décaler à droite
shl: décaler à gauche
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
26 / 27
Opérations sur les registres
Opérations sur les registres
Opérations bit-par-bit:
∧: AND
∨: OR
⊕: XOR
Gabriel Cormier (UdeM)
GELE2442 Chapitre 9
Hiver 2015
27 / 27
Téléchargement