Institut Mines-Télécom ELECINF 102 : Processeurs et Architectures Numériques Automates finis: Réalisation matérielle de séquenceurs Graba Tarik tarik.graba@telecom-paristech.fr
Vocabulaire Automates finis Machines à états finis (MAE) Finite State Machines (FSM) Ce qui est fini, c est le nombre d états 2/17 COMELEC SEN Graba Tarik
Pourquoi? Dans un circuit, on sépare la partie qui s occupe du traitement des données de la partie servant au contrôle. commandes Données d entrée Contrôle ordres Traitements Données de sortie 3/17 COMELEC SEN Graba Tarik
Un automate fini : Représente l état d un système Les actions effectuées dans chaque état Comment passer d un état à l autre (les transitions) Comment? Une méthode générique de conception 4/17 COMELEC SEN Graba Tarik
Mémoriser l état logique synchrone Un registre pour mémoriser l état La taille du registre est liée aux nombres d états Le «reset» permet de maitriser l état de départ En fonction de l état calculer combinatoirement les sorties En fonction de l état et des entrées calculer combinatoirement l état suivant 5/17 COMELEC SEN Graba Tarik
outputs inputs n_state state Ceci est une machine à états de Moore 6/17 COMELEC SEN Graba Tarik
Une méthode générique de conception On utilise un graphe C est un graphe orienté Chaque état est représenté par un cercle On précise l état initial (après un reset) On précise pour chaque état les actions Les états sont liés par des flèches qui représentent les transitions La condition de chaque transition doit être précisée Ces conditions dépendent des entrées 7/17 COMELEC SEN Graba Tarik
Une méthode générique de conception Exemple S 2 e c S 0 e c S 1 L état initial est S 0 Le passage de S 0 à S 1 ne se fait que si la condition c est vraie Le transition de S 1 à S 2 est inconditionnelle (toujours vraie) À partir de S 2 on passe à S 0 ou S 1 en fonction de e 8/17 COMELEC SEN Graba Tarik
Règles de construction Graphe complet et non ambigu Il existe toujours une transition qu on peut prendre quelles que soient les valeurs des entrées S c 9/17 COMELEC SEN Graba Tarik
Règles de construction Graphe complet et non ambigu Il existe toujours une transition qu on peut prendre quelles que soient les valeurs des entrées c S c 9/17 COMELEC SEN Graba Tarik
Règles de construction Graphe complet et non ambigu Il existe toujours une transition qu on peut prendre quelles que soient les valeurs des entrées Pour toutes les conditions c i associées aux transitions partant d un état nous devons avoir : c i = 1 i 10/17 COMELEC SEN Graba Tarik
Règles de construction Graphe non contradictoire Deux transitions avec des conditions contradictoires ne doivent pas partir du même état. S b a 11/17 COMELEC SEN Graba Tarik
Règles de construction Graphe non contradictoire Deux transitions avec des conditions contradictoires ne doivent pas partir du même état. S b a b 11/17 COMELEC SEN Graba Tarik
Règles de construction Graphe non contradictoire Deux transitions avec des conditions contradictoires ne doivent pas partir du même état. a b S b a b 11/17 COMELEC SEN Graba Tarik
Règles de construction Graphe non contradictoire Deux transitions avec des conditions contradictoires ne doivent pas partir du même état. Pour tout couple de conditions (c i, c j ) associées à deux transitions différentes partant d un état nous devons avoir : c i c j = 0 i j i 12/17 COMELEC SEN Graba Tarik
réalisation électronique Un automate fini, est un circuit séquentiel synchrone : mémorise l état du système, en fonction de l état, générer des signaux ce contrôle. Les transitions sont conditionnées par les entrées : en fonction de la valeur des entrées et de l état, calculer l état suivant. Le passage d un état à l autre se fait de façon synchrone Forcémént au front d horloge. 13/17 COMELEC SEN Graba Tarik
(Moore) Il faut mémoriser l état ( registre). Un signal de remise à zéro doit permettre de forcer l état initial L état suivant dépend de l état actuel et des entrées. Les sorties dépendent combinatoirement de l état courant. outputs inputs n_state state 14/17 COMELEC SEN Graba Tarik
Représentation en SysttemVerilog Trois blocs Un bloc séquentiel pour sauvegarder l état. Deux blocs combinatoires : Calcul de l état futur. Calcul des sorties. outputs inputs n_state state always@(*) always@(posedge clk) always@(*) 15/17 COMELEC SEN Graba Tarik
Représentation en SysttemVerilog Trois blocs always @(*) begin // par défaut on reste // dans l état courant n_state <= state ; case (state) INIT: if (cond0) n_state <= S0; S0 : if (cond1) n_state <= S1; S1 : if (cond2) n_state <= INIT; endcase end always @(posedge clk) if (reset) state <= INIT ; else state <= n_state ; always @(*) begin output1 <= f(state); output2 <= g(state); output3 <=...... end outputs inputs n_state state always@(*) always@(posedge clk) always@(*) 16/17 COMELEC SEN Graba Tarik
(Mealy) La sortie peut aussi dépendre directement des entrées inputs outputs n_state state On parle de machine de Mealy 17/17 COMELEC SEN Graba Tarik