GELE2442 Chapitre 6 : Circuits séquentiels Gabriel Cormier, Ph.D., ing. Université de Moncton Hiver 2015 Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 1 / 39
Contenu 1 Circuits séquentiels 2 Verrous 3 Bascules 4 Analyse de circuits séquentiels 5 Machines Mealy et Moore 6 Conception de machines d état synchrones Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 2 / 39
Circuits séquentiels Circuits séquentiels Plusieurs circuits courants ont besoin de mémoire Les circuits séquentiels sont des mémoire de base Circuit séquentiel: la sortie dépend des entrées et de la sortie précédente Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 3 / 39
Circuits séquentiels Circuits séquentiels Entrées Circuit combinatoire Éléments mémoire Sorties Figure 1 : Schéma-bloc d un circuit séquentiel Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 4 / 39
Circuits séquentiels Circuit séquentiel Reçoit l information des entrées externes qui, avec l état actuel des éléments de stockage, détermine les sorties Les entrées externes vont aussi déterminer l état du système à l étape suivante Deux types: Synchrone:le comportement est déterminé par les signaux à des instants discrets de temps Asynchrone: le comportement est déterminé par les signaux à n importe quel instant, et l ordre avec lequel les entrées varient Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 5 / 39
Circuits séquentiels Circuit synchrone La synchronisation est obtenue à l aide d une horloge Horloge: signal périodique (habituellement avec un rapport cyclique de 50%) L horloge est distribuée à l ensemble du système: les éléments de stockage sont seulement affectés avec l arrivée d un pulse d horloge L horloge détermine quand il y a activité dans le circuit, et les autres signaux déterminent quoi Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 6 / 39
Circuits séquentiels Bascule Bascule: éléments de stockage (mémoire) dans des circuits séquentiels (flip-flop) Peut seulement stocker 1 bit Dans un état stable, la sortie est un 0 ou 1 Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 7 / 39
Verrous Verrous Élément de stockage qui fonctionne avec le niveau des signaux Bascule: contrôlé par de la transition de l horloge On utilise des verrous pour créer des bascules Typiquement, on utilise des bascules, plutôt que des verrous, pour stocker des données Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 8 / 39
Verrous Verrou SR Verrou SR R (reset) S (set) Q Q Figure 2 : S R Q Q 1 0 1 0 0 0 1 0 (après S = 1, R = 0) 0 1 0 1 0 0 0 1 (après S = 0, R = 1) 1 1 0 0 (interdit) Verrou SR Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 9 / 39
Verrous Verrou SR Verrou SR avec activation R EN S Q Q EN S R Prochain état Q 0 X X Aucun changement 1 0 0 Aucun changement 1 0 1 Q = 0 1 1 0 Q = 1 1 1 1 Indéterminé Figure 3 : Verrou SR avec activation Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 10 / 39
Verrous Verrou D Verrou D Permet d éliminer l état interdit 1-1 A une seule entrée D (pour données) Aura une entrée d activation Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 11 / 39
Verrous Verrou D Verrou D D EN Q Q EN D Prochain état Q 0 X Aucun changement 1 0 Q = 0 1 1 Q = 1 Figure 4 : Verrou D avec activation Quand EN = 1, Q = D: le verrou est en mode transparent Quand EN = 0, Q = Q: le verrou est en mode mémoire Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 12 / 39
Bascules Bascules Avec des verrous: problèmes possibles de synchronisation Si l entrée du verrou varie (ou n est pas stable) pendant que EN = 1, la sortie variera elle aussi, ce qui peut générer des erreurs On utilise plutôt des bascules, au lieu des verrous, pour avoir une mémoire Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 13 / 39
Bascules Bascule D Bascule D Construit avec 2 verrous D Le premier verrou est le primaire, et l autre est le secondaire La bascule fonctionne avec une horloge Le circuit échantillonne l entrée D et change seulement la sortie lorsque l horloge fait la transition de 1 0 Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 14 / 39
Bascules Bascule D Bascule D D D Q Y D Q Q D Q Verrou D primaire Verrou D secondaire Bascule D EN EN CLK CLK Figure 5 : Bascule D négative et symbole Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 15 / 39
Bascules Bascule D Bascule D Exemple de chronogramme: CLK D Y Q Figure 6 : Chronogramme pour une bascule D Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 16 / 39
Bascules Bascule D Bascule D Équation caractéristique: équation qui permet de calculer la sortie à la prochaine transition de l horloge, en fonction des entrées Pour une bascule D: Q(t + 1) = D Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 17 / 39
Bascules Bascule JK Bascule JK Possède 2 entrées (plus l horloge) Effectue trois opérations: placer la sortie à 0, placer la sortie à 1, ou faire le complément de la sortie actuelle Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 18 / 39
Bascules Bascule JK Bascule JK J K CLK Q Q J K Q(t+1) 0 0 Q(t) Aucun changement 0 1 0 Reset 1 0 1 Set 1 1 Q (t) Complément Figure 7 : Bascule JK et symbole Q(t + 1) = JQ + K Q Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 19 / 39
Bascules Bascule JK Bascule JK: Design À partir de l équation caractéristique, on peut créer un tableau de design Q(t + 1) = JQ + K Q Q Q J K 0 0 0 X 0 1 1 X 1 0 X 1 1 1 X 0 Figure 8 : Tableau de design d une bascule JK Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 20 / 39
Bascules Bascule T Bascule T T CLK Q Q T Q(t+1) 0 Q(t) Aucun changement 1 Q (t) Complément Figure 9 : Bascule T et symbole Q(t + 1) = T Q = T Q + T Q Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 21 / 39
Bascules Bascule T Bascule T: Design À partir de l équation caractéristique, on peut créer un tableau de design Q(t + 1) = T Q + T Q Q Q T 0 0 0 0 1 1 1 0 1 1 1 0 Figure 10 : Tableau de design d une bascule T Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 22 / 39
Analyse de circuits séquentiels Analyse de circuits séquentiels L analyse est un peu différente de l analyse de circuits combinatoires Le comportement du circuit dépend des entrées, des sorties, et de l état des bascules If faut obtenir une table ou un diagramme pour la séquence d entrées, de sorties et d états internes Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 23 / 39
Analyse de circuits séquentiels Équations d état Exemple x D Q A CLK Q A y D Q B CLK CLK Q Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 24 / 39
Analyse de circuits séquentiels Équations d état Équations: Pour le prochain état: A(t + 1) = A(t)x(t) + B(t)x(t) B(t + 1) = A (t)x(t) ou A(t + 1) = Ax + Bx B(t + 1) = A x Pour la sortie: y(t) = (A + B)x Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 25 / 39
Analyse de circuits séquentiels Tableau d état Tableau d état Tableau qui montre toutes les transitions selon la séquence d entrées, de sorties et d états Normalement quatre sections: état présent, entrée, prochain état et sortie Le prochain état est basé sur les équations d état Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 26 / 39
Analyse de circuits séquentiels Tableau d état Exemple: tableau d état Figure 11 : État Prochain Présent Entrée État Sortie A B x A B y 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 Tableau d état pour le circuit de l exemple précédent Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 27 / 39
Analyse de circuits séquentiels Tableau d état Exemple: tableau d état, forme 2 Figure 12 : État Prochain État Sortie Présent x = 0 x = 1 x = 0 x = 1 A B A B A B y y 0 0 0 0 0 1 0 0 0 1 0 0 1 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 0 1 0 Autre forme du tableau d état pour le circuit de l exemple précédent Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 28 / 39
Analyse de circuits séquentiels Diagramme d état Diagramme d état Autre forme graphique pour le tableau d état L état est présenté comme un cercle, et les transitions (déclenchées par l horloge) entre états sont représentés par des flèches qui se dirigent d un cercle à l autre Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 29 / 39
Analyse de circuits séquentiels Diagramme d état Exemple: diagramme d état 0/0 1/0 0/1 00 10 1/0 0/1 0/1 1/0 1/0 01 11 Figure 13 : Exemple de diagramme d état pour le circuit de l exemple précédent Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 30 / 39
Analyse de circuits séquentiels Diagramme d état Diagramme d état Les chiffres binaires dans les cercles du diagramme représentent l état actuel La transition est montrée par les flèches, selon l entrée Les deux chiffres à côté de la flèche représentent l entrée et la sortie Exemple: si le circuit est dans l état 00, et que l entrée est 1, la sortie sera 0 (le 1/0) et le prochain état est 01 Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 31 / 39
Analyse de circuits séquentiels Diagramme d état Exemple Créer le diagramme d état pour le circuit séquentiel suivant. x J K CLK Q Q A CLK J K CLK Q Q B Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 32 / 39
Machines Mealy et Moore Machines Mealy et Moore Deux modèles généraux de circuits séquentiels: machines Mealy et Moore Mealy: sortie est fonction de l état actuel et des entrées Moore: sortie est seulement fonction de l état présent Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 33 / 39
Machines Mealy et Moore Machines Mealy et Moore Machine Mealy Entrées Logique du prochain état Mémoire Logique de sortie Sortie CLK Machine Moore Entrées Logique du prochain état Mémoire Logique de sortie Sortie CLK Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 34 / 39
Machines Mealy et Moore Étapes d analyse 1 Déterminer les équations d excitation pour les entrées aux bascules. 2 Substituer les équations d excitation dans les équations caractéristiques des bascules pour obtenir les équations de transition. 3 Utiliser les équations des transition pour construire une table de transition. 4 Déterminer les équations de sortie. 5 Ajouter les valeurs de la sortie à la table de transition pour obtenir la table de transition / d état. 6 Nommer les états et substituer ces noms pour les combinaisons état/variable dans la table de transition / état pour obtenir la table état/sortie. 7 Dessiner le diagramme d état. Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 35 / 39
Machines Mealy et Moore Exemple: Analyser le circuit séquentiel suivant M EN Q 0 D Q CLK Q D Q Q 1 CLK CLK Q Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 36 / 39
Conception de machines d état synchrones Étapes de conception 1 Construire la table état/sortie qui correspond à la description donnée du problème. 2 Minimiser, si possible, le nombre d états. 3 Choisir les variables d état et leur assigner une valeur. 4 Substituer les valeurs des états pour créer la table transition/sortie. 5 Choisir le type de bascule (habituellement D ou JK). 6 Construire la table d excitation. 7 Écrire les équations d excitation des bascules 8 Écrire les équations de sortie. 9 Dessiner le circuit. Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 37 / 39
Conception de machines d état synchrones Conception de machines d état synchrones Deux approches de design: Risque minimum: On suppose que la machine peut aller dans un état non utilisé (à cause d erreur, bris de circuit, etc.). On va donc faire la conception de sorte que tout état non utilisé retourne à l état initial (habituellement 00..00). Coût minimum: On suppose que la machine n ira jamais dans les états non utilisés, et on peut alors utiliser des conditions indifférentes pour simplifier les équations. Pa contre, si la machine entre dans un état non utilisé, le comportement est inconnu. Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 38 / 39
Conception de machines d état synchrones Exemple Faire la conception d une machine d état à 2 entrées, A et B, et une sortie Z qui a la valeur 1 si: 1 A a la même valeur pour chacun des deux cycles précédents 2 B a été 1 depuis la dernière fois que la condition précédente est vrai Sinon, la sortie est nulle. Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 39 / 39