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