Cours 9 - Pages personnelles à TELECOM Bretagne

Transcription

Cours 9 - Pages personnelles à TELECOM Bretagne
Cours 9
Introduction aux systèmes
séquentiels complexes.
Conception de machines à
états.
Structure générale d'un système
numérique
commandes
Partie
contrôle
consignes
signaux d'état
Partie
opérative
compte-rendu
données
Environnement
• Partie opérative : traite les données
• Partie contrôle : pilote le traitement
Département Electronique
ELP 304 – Cours 9
Les quatre types d'unités fonctionnelles
dans un système numérique
3
Unité de traitement
=> Traiter
Unité de mémorisation
=> Stocker
Unité de contrôle
=> Piloter
Unité d'interface
=> Communiquer
Département Electronique
ELP 304 – Cours 9
Assemblage des unités fonctionnelles :
exemple d'un filtre numérique programmable
données entrantes
xi , xi −1, xi −2 , xi −3 ,L
yi = a1xi +a2 xi −1+a3 xi−2
UI
ordres
UI
UC
a1
a2
a3
+
*
UT
UM
UI
Partie contrôle
yi , yi−1,L
données sortantes
4
Département Electronique
ELP 304 – Cours 9
Partie opérative
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
Département Electronique
ELP 304 – Cours 9
Les machines à états :
machine de Mealy
ENTREES
SYNCHR.
SORTIES
F
fonction
de sortie
G
état
futur
fonction
"état suivant"
registre
d'état
HORLOGE
état présent
Machine de Mealy synchrone
Département Electronique
ELP 304 – Cours 9
Comportement d'une machine de Mealy :
graphe d'états
E1 = 0
E2 = 0
S=0
E1 = 1
S=0
S=0
E2 = 0
S=1
A
B
E1 = 0
E2 = 1
S=0
E1 = 0
E2 = 0
S=0
D
B
E1 = 0
E2 = 1
E1 = 0
S=0
E1 = 0
E2 = 0
E1 = 0
E2 = 0
D
C
C
E1 = 1
E1 = 1 S = 1
S=1
E2 = 1 S = 1
S=0
E1 = 1
E1 = 1 S = 0
A
E1 = 1
E1 = 0
E2 = 0
E1 = 0 S = 0
E2 = 1
Département Electronique
E2 = 1
ELP 304 – Cours 9
S = 1 <=> E1=1
E1 = 0
E2 = 1
Les machines à états :
machine de Moore
F
SORTIES
fonction
de sortie
G
ENTREES
SYNCHR.
état
futur
fonction
"état suivant"
registre
d'état
HORLOGE
état présent
Machine de Moore synchrone
8
Département Electronique
ELP 304 – Cours 9
Graphe d'états d'une machine de Moore
E1 = 0
E2 = 0
S=0
E1 = 1
S=0
E1 = 1
A
B
E1 = 0
E2 = 1
E1 = 0
E2 = 0
E1 = 0
E2 = 0
C
D
E1 = 1
S=1
E1 = 0
E2 = 1
E2 = 1
9
Département Electronique
ELP 304 – Cours 9
S=0
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 :
Entrées
synchronisées
Entrées
données
adresse
registre
d'état
PROM
Etat
présent
CK
Etat futur
10
Département Electronique
ELP 304 – Cours 9
Sorties
Limitations des automates d'états finis
11
•
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)
Département Electronique
ELP 304 – Cours 9
Principe de la conception "à la main"
d'un automate à états finis
•
La méthode dite de Huffmann
1.
2.
3.
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).
Coder les états du graphe.
Etablir la table de transition de l'automate.
entrée
s
4.
5.
6.
7.
état
présent
état
futur
sortie
s
Choisir le support matériel de réalisation.
Synthétiser les fonctions F et G en les optimisant par
rapport au support choisi.
Etablir le schéma logique.
Réaliser et tester l'automate.
Département Electronique
ELP 304 – Cours 9
Principe de la conception
d'un automate à états finis
à l'aide d'un environnement de CAO
1.
2.
3.
4.
5.
6.
Etablir la spécification comportementale de
l'automate sous la forme d'un graphe d'états.
Optimiser le graphe.
Transcrire le graphe d'états optimisé dans un
langage accepté par l'environnement de CAO
(VHDL).
Vérifier la spécification par une simulation
fonctionnelle de l'automate.
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.
Simuler le fonctionnement de l'automate après
synthèse (simulation fonctionnelle + temporelle).
Réaliser et tester l'automate.
Département Electronique
ELP 304 – Cours 9
Exemple de conception "à la main"
d'un automate (I)
1. Graphe d'états de l'automate
E1.E2=0
Entrées : E1, E2
Sorties : VF, DP
VF=DP=1 E1.E2=1
A
E1.E2=1
E1=0
E1.E2=1
E1.E2=1
B
D
E1.E2=1
VF= 1 E1.E2=1
DP=1 E1=1
E1=0
Département Electronique
VF=0
DP=1
E1.E2=1
C
14
E1=0
E1=1
ELP 304 – Cours 9
VF= 1 E1.E2=1
DP=1
Exemple de conception "à la main" d'un
automate (II)
2. Codage des états
Etat
Q2 Q1
A
0
0
B
0
1
C
1
1
D
1
0
Q1, Q2 : variables internes
ou variables d'état.
NB: le codage de l'état d'initialisation doit être cohérent
avec les commandes d'initialisation des bascules
15
Département Electronique
ELP 304 – Cours 9
Exemple de conception "à la main" d'un
automate (III)
3. Table de transition
Etat présent
Q2 Q1
E1.E2=0
VF=DP=1 E1.E2=1
A
E1.E2=1
E1=0
E1.E2=1
E1.E2=1
B
D
E1.E2=1
VF= 1 E1.E2=1
DP=1 E1=1
E1=0
VF=0
DP=1
E1.E2=1
C
VF= 1 E1.E2=1
DP=1
E1=0
16
E1=1
Département Electronique
Entrées
E1 E2
Etat futur
Q2+ Q1+
Sorties
VF DP
0
0
0
X
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
X
0
0
0
1
0
1
1
0
0
1
0
1
0
1
1
1
0
0
X
X
1
1
1
1
0
0
1
1
1
1
1
1
1
0
1
1
0
1
0
X
0
1
0
1
0
0
1
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
1
ELP 304 – Cours 9
Exemple de conception "à la main" d'un
automate (IV)
Q1+
Q2+
E1
4. Synthèse des fonctions F et G
E1
0
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
Q1
1
1
1
0
0
0
1
0
Q2
Q2
E2
E2
E1
VF
Q1+ = E1E2 + Q2Q1 + E1Q1
Q1
Q2+ = E1Q1 + E1 E 2Q2
E1
DP
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
Q1
0
0
1
0
Q2
Q2
0
0
1
0
E2
17
E2
Département Electronique
ELP 304 – Cours 9
VF = E1E2 Q1 + E1 E2 Q2
Q1 DP = Q1 + E1 E 2 + E1Q2
Exemple de conception "à la main"
d'un automate (V)
E1 E2
E1 E2
5. Schéma logique
DP
VF
Q
D
basc 1
CK NQ
NR
D
Q
basc 2
CK NQ
NR
HO
6. Réalisation et test de
INIT*
l'automate
18
Département Electronique
ELP 304 – Cours 9