Cours 9 Cours 9
Introduction aux syst
Introduction aux syst è è mes mes s s é é quentiels complexes. quentiels complexes.
Conception de machines
Conception de machines à à
é é tats. tats.
ELP 304 – Cours 9 Département Electronique
Structure générale d'un système numérique
Partie opérative Partie
contrôle
commandes signaux d'état
Environnement
consignes compte-rendu données
• Partie opérative : traite les données
• Partie contrôle : pilote le traitement
ELP 304 – Cours 9 Département Electronique
3
Les quatre types d'unités fonctionnelles dans un système numérique
Unité de traitement => Traiter
Unité de mémorisation => Stocker
Unité de contrôle => Piloter
Unité d'interface => Communiquer
ELP 304 – Cours 9 Département Electronique
4
Assemblage des unités fonctionnelles :
exemple d'un filtre numérique programmable
* 1 +
a a32
a
UM UT
UI UI UI
UC
L , ,
,
, i−1 i−2 i−3
i x x x
x
,L , i−1
i y y
ordres
données entrantes
données sortantes
2 3
1 2
1 + − + −
= i i i
i a x a x a x
y
Partie contrôle Partie opérative
ELP 304 – Cours 9 Département Electronique
Conception d'une unité de contrôle
• Opérateurs séquentiels spécialisés dans le contrôle
=> machine à états finis (automate)
=> séquenceur
=> microcontrôleur
ELP 304 – Cours 9 Département Electronique
Les machines à états : machine de Mealy
Machine de Mealy synchrone
SORTIES ENTREES
SYNCHR.
HORLOGE
état présent état
futur
F
G
fonction de sortie
fonction
"état suivant"
registre d'état
ELP 304 – Cours 9 Département Electronique
Comportement d'une machine de Mealy : graphe d'états
E1 = 0 E2 = 0
E1 = 1
E1 = 0
E1 = 1
A B
C D
E2 = 1 E2 = 0
E1 = 0 E2 = 1
E1 = 0 E2 = 1 E1 = 0
E1 = 1 S = 0
S = 1 <=> E1=1 S = 1
E2 = 0
S = 0 E1 = 0
E2 = 0
E1 = 1
E1 = 0
E1 = 1
A B
C D
S = 0
S = 0
S = 0
S = 1
E2 = 1 E2 = 0
E1 = 0 E2 = 1
E1 = 0 E2 = 1 E1 = 0
E2 = 0
S = 0
S = 0
S = 0
S = 0 S = 1
S = 1
E1 = 1
ELP 304 – Cours 9 Département Electronique
8
Les machines à états : machine de Moore
Machine de Moore synchrone
registre d'état
SORTIES
ENTREES SYNCHR.
HORLOGE
état présent état
futur
F
G
fonction de sortie
fonction
"état suivant"
ELP 304 – Cours 9 Département Electronique
9
Graphe d'états d'une machine de Moore
E1 = 0 E2 = 0
E1 = 1
E1 = 0
E1 = 1
A B
C D
E2 = 1 E2 = 0
E1 = 0 E2 = 1
E1 = 0 E2 = 1 E1 = 0
E2 = 0
S = 0 S = 0
S = 0 S = 1
E1 = 1
ELP 304 – Cours 9 Département Electronique
10
Mise en œuvre des automates
Les fonctions F et G peuvent être réalisées :
• A l'aide d'opérateurs logiques élémentaires
• A l'aide d'une PROM :
PROM
adresse données
Sorties Entrées
Entrées synchronisées
Etat présent
Etat futur CK
registre d'état
ELP 304 – Cours 9 Département Electronique
11
Limitations des automates d'états finis
• Un automate d'états finis ne peut être mis en œuvre que si la spécification de l'unité de contrôle est relativement simple
Les graphes d'états ne sont pas adaptés à la description de comportements complexes (> qqes dizaines d'états) La complexité de réalisation des fonctions F et G croît
comme 2n+p, si n est le nombre d'entrées et p le nombre de variables nécessaires au codage des états.
• Différentes stratégies possibles pour gérer la complexité Décomposer l'unité de contrôle en plusieurs automates
communicants
Utiliser un séquenceur
Utiliser un µ-contrôleur du marché (si ∃ assez rapide)
ELP 304 – Cours 9 Département Electronique
Principe de la conception "à la main"
d'un automate à états finis
• La méthode dite de Huffmann
1. Etablir la spécification comportementale de l'automate sous la forme d'un graphe d'états.
Optimiser le graphe si nécessaire (réduction du nombre d'états).
2. Coder les états du graphe.
3. Etablir la table de transition de l'automate.
sortie s état
futur état
présent entrée
s
4. Choisir le support matériel de réalisation.
5. Synthétiser les fonctions F et G en les optimisant par rapport au support choisi.
6. Etablir le schéma logique.
7. Réaliser et tester l'automate.
ELP 304 – Cours 9 Département Electronique
Principe de la conception d'un automate à états finis
à l'aide d'un environnement de CAO
1. Etablir la spécification comportementale de l'automate sous la forme d'un graphe d'états.
Optimiser le graphe.
2. Transcrire le graphe d'états optimisé dans un langage accepté par l'environnement de CAO (VHDL).
3. Vérifier la spécification par une simulation fonctionnelle de l'automate.
4. Choisir le support matériel de réalisation. Fixer les paramètres d'optimisation (surface, vitesse,…). Faire la synthèse logique de l'automate. Le synthétiseur fournit automatiquement la "netlist" (description au niveau portes élémentaires) du circuit ou le contenu de la PROM.
5. Simuler le fonctionnement de l'automate après synthèse (simulation fonctionnelle + temporelle).
6. Réaliser et tester l'automate.
ELP 304 – Cours 9 Département Electronique
14
Exemple de conception "à la main"
d'un automate (I)
1. Graphe d'états de l'automate
A
D B
C
E1.E2=0
E1.E2=1
E1=0
E1=0
E1.E2=1 E1.E2=1
E1.E2=1
E1=0
E1.E2=1
E1=1 VF=DP=1 E1.E2=1
VF=0 DP=1
VF= 1 E1.E2=1 DP=1
VF= 1 E1.E2=1 DP=1 E1=1
Entrées : E1, E2 Sorties : VF, DP
ELP 304 – Cours 9 Département Electronique
15
Exemple de conception "à la main" d'un automate (II)
Etat Q2 Q1
A 0 0
B 0 1
C 1 1
D 1 0
2. Codage des états
NB: le codage de l'état d'initialisation doit être cohérent avec les commandes d'initialisation des bascules
Q1, Q2 : variables internes ou variables d'état.
ELP 304 – Cours 9 Département Electronique
16
Exemple de conception "à la main" d'un automate (III)
3. Table de transition
Etat présent Entrées Etat futur Sorties Q2 Q1 E1 E2 Q2+ Q1+ VF DP
0 0 0 X 0 0 0 0
0 0 1 1 0 1 1 1
0 0 1 0 0 0 0 0
0 1 1 X 0 1 0 1
0 1 0 X 1 1 0 1
1 1 0 X 1 1 0 1
1 1 1 1 0 1 1 1
1 1 1 0 1 0 0 1
1 0 0 X 0 0 0 0
1 0 1 1 0 1 1 1
1 0 1 0 1 0 0 1
A
D B
C
E1.E2=0
E1.E2=1
E1=0
E1=0 E1.E2=1 E1.E2=1
E1.E2=1
E1=0
E1.E2=1
E1=1 VF=DP=1 E1.E2=1
VF=0 DP=1
VF= 1 E1.E2=1 DP=1
VF= 1 E1.E2=1 DP=1 E1=1
ELP 304 – Cours 9 Département Electronique
17
Exemple de conception "à la main" d'un automate (IV)
E1
E2 Q2
Q1
0 0 1 0
1 1 1 1
0 0 1 0
1 1 1 0 Q1
E1
E2 Q2
0 0 0 0
1 1 0 0
1 1 0 1
0 0 0 1
1+
Q Q2+
E1
E2 Q2
Q1
0 0 1 0
0 0 0 0
0 0 1 0
0 0 1 0
E1
E2 Q2
Q1
0 0 1 0
1 1 1 1
1 1 1 1
0 0 1 1
VF DP
4. Synthèse des fonctions F et G
2 2 1 1
1 2
1 1 1
2 2
1 1
Q E E Q
E Q
Q E Q
Q E
E Q
+
=
+ +
=
+ +
2 1 2
1 1
2 2 1 1
2 1
Q E E
E Q
DP
Q E E Q
E E VF
+ +
=
+
=
ELP 304 – Cours 9 Département Electronique
18
Exemple de conception "à la main"
d'un automate (V)
5. Schéma logique
6. Réalisation et test de l'automate
NR
D Q
CK NQ
E2 E2
E1 E1
basc 1
INIT*
NR
D Q
CK NQ
basc 2
HO
DP
VF