You are on page 1of 18

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 signaux d'état Partie opérative consignes 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 Unité de traitement Unité de mémorisation Unité de contrôle Unité d'interface => Traiter => Stocker => Piloter => Communiquer 3 Département Electronique ELP 304 – Cours 9 .

Assemblage des unités fonctionnelles : exemple d'un filtre numérique programmable données entrantes yi = a1xi +a2 xi −1+a3 xi−2 xi . xi −1.L Partie opérative .L UI ordres UI UC a1 a2 a3 UM + * UT UI Partie contrôle 4 Département Electronique données sortantes ELP 304 – Cours 9 yi . xi −3 . yi−1. xi −2 .

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. F fonction de sortie SORTIES G fonction "état suivant" état futur 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 E1 = 0 E2 = 0 E1 = 1 E1 = 1 S=0 E1 = 1 S = 0 A E1 = 0 E2 = 1 S=0 E2 = 0 S=1 E1 = 0 E2 = 0 S=0 B A E1 = 0 E2 = 1 B E1 = 0 S=0 E2 = 0 E1 = 0 E2 = 0 E1 = 0 D E1 = 1 S = 1 C D E1 = 1 S=1 S = 1 <=> E1=1 C E2 = 1 S = 1 E1 = 0 S = 0 E2 = 1 E2 = 1 E1 = 0 E2 = 1 Département Electronique ELP 304 – Cours 9 .

Les machines à états : machine de Moore F fonction de sortie SORTIES ENTREES SYNCHR. G fonction "état suivant" état futur 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 S=0 E1 = 0 E2 = 0 E1 = 1 E1 = 1 S=0 A E1 = 0 E2 = 1 E2 = 0 E1 = 0 E2 = 0 B E1 = 0 D E1 = 1 C S=0 S=1 E2 = 1 E1 = 0 E2 = 1 ELP 304 – Cours 9 9 Département Electronique .

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 Entrées synchronisées PROM données registre d'état adresse Sorties Etat présent Etat futur CK 10 Département Electronique ELP 304 – Cours 9 .

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) • 11 Département Electronique ELP 304 – Cours 9 .

Choisir le support matériel de réalisation. 7.Principe de la conception "à la main" d'un automate à états finis • La méthode dite de Huffmann 1. 3. 6. Etablir le schéma logique. Optimiser le graphe si nécessaire (réduction du nombre d'états). Etablir la spécification comportementale de l'automate sous la forme d'un graphe d'états. Réaliser et tester l'automate. Coder les états du graphe. entrée s état présent état futur sortie s 2. Etablir la table de transition de l'automate. Département Electronique ELP 304 – Cours 9 . Synthétiser les fonctions F et G en les optimisant par rapport au support choisi. 4. 5.

Département Electronique . Vérifier la spécification par une simulation fonctionnelle de l'automate. Fixer les paramètres d'optimisation (surface. Faire la synthèse logique de l'automate.Principe de la conception d'un automate à états finis à l'aide d'un environnement de CAO 1. 6. Le synthétiseur fournit automatiquement la "netlist" (description au niveau portes élémentaires) du circuit ou le contenu de la PROM. vitesse. Simuler le fonctionnement de l'automate après synthèse (simulation fonctionnelle + temporelle). 4. 3. Optimiser le graphe. 5. Choisir le support matériel de réalisation. Transcrire le graphe d'états optimisé dans un langage accepté par l'environnement de CAO (VHDL). Etablir la spécification comportementale de l'automate sous la forme d'un graphe d'états.…). ELP 304 – Cours 9 2. Réaliser et tester l'automate.

E2=1 E1. Graphe d'états de l'automate E1.E2=1 B E1=0 E1=1 VF=0 DP=1 C E1=0 14 Département Electronique ELP 304 – Cours 9 VF= 1 DP=1 E1.E2=1 E1=1 E1. DP A E1=0 E1.E2=1 E1.E2=1 D E1.E2=0 Entrées : E1.Exemple de conception "à la main" d'un automate (I) 1. E2 Sorties : VF.E2=1 .E2=1 VF=DP=1 E1.E2=1 VF= 1 DP=1 E1.

Exemple de conception "à la main" d'un automate (II) 2. Codage des états Etat A B C D Q2 Q1 0 0 1 1 0 1 1 0 Q1. 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 . Q2 : variables internes ou variables d'état.

E2=1 E1=1 E1.E2=1 E1.E2=1 E1.E2=1 D E1.E2=1 Entrées E1 E2 0 1 1 1 0 0 1 1 0 1 1 X 1 0 X X X 1 0 X 1 0 Etat futur Q2+ Q1+ 0 0 0 0 1 1 0 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 Sorties VF DP 0 1 0 0 0 0 1 0 0 1 0 0 1 0 1 1 1 1 1 0 1 1 Q2 Q1 0 0 0 0 B E1=1 VF=0 DP=1 0 0 0 1 1 1 1 1 0 0 0 A E1=0 E1.E2=0 VF=DP=1 E1.E2=1 16 Département Electronique ELP 304 – Cours 9 .Exemple de conception "à la main" d'un automate (III) 3.E2=1 0 1 1 1 1 1 1 E1=0 C E1=0 VF= 1 DP=1 E1.E2=1 VF= 1 DP=1 E1. Table de transition Etat présent E1.

Synthèse des fonctions F et G E1 0 1 1 0 1 1 0 E2 0 0 0 0 0 0 1 1 + Q1 = E1E2 + Q2Q1 + E1Q1 Q1 + Q2 = E1Q1 + E1 E 2Q2 Q2 0 E1 1 1 1 1 0 1 1 1 VF 0 0 0 Q2 0 0 E2 17 Département Electronique DP 0 0 0 1 0 1 1 0 0 Q1 0 Q2 0 0 0 E2 ELP 304 – Cours 9 0 1 1 0 1 1 VF = E1E2 Q1 + E1 E2 Q2 Q1 DP = Q1 + E1 E 2 + E1Q2 .Exemple de conception "à la main" d'un automate (IV) + Q1 0 1 1 Q2 0 0 E2 E1 E1 0 1 1 1 1 1 1 0 1 Q1 0 0 + Q2 4.

Réalisation et test de INIT* l'automate 18 Département Electronique ELP 304 – Cours 9 HO CK NQ NR .Exemple de conception "à la main" d'un automate (V) E1 E2 E1 E2 5. Schéma logique DP VF D Q basc 1 CK NQ NR D Q basc 2 6.