GELE2442 Chapitre 6 :Circuits sequentiels
Gabriel Cormier, Ph.D., ing.
Universite de Moncton
Hiver 2015
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 1 / 39
Contenu
1 Circuits sequentiels
2 Verrous
3 Bascules
4 Analyse de circuits sequentiels
5 Machines Mealy et Moore
6 Conception de machines d’etat synchrones
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 2 / 39
Circuits sequentiels
Circuits sequentiels
Plusieurs circuits courants ont besoin de memoire
Les circuits sequentiels sont des memoire de base
Circuit sequentiel: la sortie depend des entrees et de la sortieprecedente
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 3 / 39
Circuits sequentiels
Circuits sequentiels
Circuitcombinatoire
Elementsmemoire
Entrees Sorties
Figure 1 : Schema-bloc d’un circuit sequentiel
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 4 / 39
Circuits sequentiels
Circuit sequentiel
Recoit l’information des entrees externes qui, avec l’etat actuel deselements de stockage, determine les sorties
Les entrees externes vont aussi determiner l’etat du systeme a l’etapesuivante
Deux types:
Synchrone:le comportement est determine par les signaux a desinstants discrets de tempsAsynchrone: le comportement est determine par les signaux an’importe quel instant, et l’ordre avec lequel les entrees varient
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 5 / 39
Circuits sequentiels
Circuit synchrone
La synchronisation est obtenue a l’aide d’une horloge
Horloge: signal periodique (habituellement avec un rapport cycliquede 50%)
L’horloge est distribuee a l’ensemble du systeme: les elements destockage sont seulement affectes avec l’arrivee d’un pulse d’horloge
L’horloge determine quand il y a activite dans le circuit, et les autressignaux determinent quoi
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 6 / 39
Circuits sequentiels
Bascule
Bascule: elements de stockage (memoire) dans des circuitssequentiels (flip-flop)
Peut seulement stocker 1 bit
Dans un etat stable, la sortie est un 0 ou 1
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 7 / 39
Verrous
Verrous
Element de stockage qui fonctionne avec le niveau des signaux
Bascule: controle par de la transition de l’horloge
On utilise des verrous pour creer des bascules
Typiquement, on utilise des bascules, plutot que des verrous, pourstocker des donnees
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 8 / 39
Verrous Verrou SR
Verrou SR
R (reset)
S (set)
Q
Q’
S R Q Q’1 0 1 00 0 1 0 (apres S = 1, R = 0)0 1 0 10 0 0 1 (apres S = 0, R = 1)1 1 0 0 (interdit)
Figure 2 : Verrou SR
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 9 / 39
Verrous Verrou SR
Verrou SR avec activation
R
S
Q
Q’
EN
EN S R Prochain etat Q0 X X Aucun changement1 0 0 Aucun changement1 0 1 Q = 01 1 0 Q = 11 1 1 Indetermine
Figure 3 : Verrou SR avec activation
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 10 / 39
Verrous Verrou D
Verrou D
Permet d’eliminer l’etat interdit 1-1
A une seule entree D (pour donnees)
Aura une entree d’activation
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 11 / 39
Verrous Verrou D
Verrou D
DQ
Q’
ENEN D Prochain etat Q0 X Aucun changement1 0 Q = 01 1 Q = 1
Figure 4 : Verrou D avec activation
Quand EN = 1, Q = D: le verrou est en mode transparentQuand EN = 0, Q = Q: le verrou est en mode memoire
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 12 / 39
Bascules
Bascules
Avec des verrous: problemes possibles de synchronisation
Si l’entree du verrou varie (ou n’est pas stable) pendant que EN = 1,la sortie variera elle aussi, ce qui peut generer des erreurs
On utilise plutot des bascules, au lieu des verrous, pour avoir unememoire
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 echantillonne l’entree D et change seulement la sortielorsque l’horloge fait la transition de 1→ 0
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 14 / 39
Bascules Bascule D
Bascule D
Verrou Dprimaire
QD
EN
Verrou Dsecondaire
QD
EN
DY
CLK
Q
Bascule D
QD
CLK
Figure 5 : Bascule D negative 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
Equation caracteristique: equation qui permet de calculer la sortie ala prochaine transition de l’horloge, en fonction des entrees
Pour une bascule D:Q(t+ 1) = D
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 17 / 39
Bascules Bascule JK
Bascule JK
Possede 2 entrees (plus l’horloge)
Effectue trois operations: placer la sortie a 0, placer la sortie a 1, oufaire le complement de la sortie actuelle
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 18 / 39
Bascules Bascule JK
Bascule JK
Q
Q’
J
CLK
K
J K Q(t+1)0 0 Q(t) Aucun changement0 1 0 Reset1 0 1 Set1 1 Q′(t) Complement
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
A partir de l’equation caracteristique, on peut creer un tableau de design
Q(t+ 1) = JQ′ +K ′Q
Q Q∗ J K0 0 0 X0 1 1 X1 0 X 11 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
Q
Q’
T
CLK
T Q(t+1)0 Q(t) Aucun changement1 Q′(t) Complement
Figure 9 : Bascule T et symbole
Q(t+ 1) = T ⊕Q = TQ′ + T ′Q
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 21 / 39
Bascules Bascule T
Bascule T: Design
A partir de l’equation caracteristique, on peut creer un tableau de design
Q(t+ 1) = TQ′ + T ′Q
Q Q∗ T0 0 00 1 11 0 11 1 0
Figure 10 : Tableau de design d’une bascule T
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 22 / 39
Analyse de circuits sequentiels
Analyse de circuits sequentiels
L’analyse est un peu differente de l’analyse de circuits combinatoires
Le comportement du circuit depend des entrees, des sorties, et del’etat des bascules
If faut obtenir une table ou un diagramme pour la sequence d’entrees,de sorties et d’etats internes
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 23 / 39
Analyse de circuits sequentiels Equations d’etat
Exemple
QD
CLK Q’
QD
CLK Q’
A’
B
Ax
CLK
y
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 24 / 39
Analyse de circuits sequentiels Equations d’etat
Equations:
Pour le prochain etat:
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 sequentiels Tableau d’etat
Tableau d’etat
Tableau qui montre toutes les transitions selon la sequence d’entrees,de sorties et d’etats
Normalement quatre sections: etat present, entree, prochain etat etsortie
Le prochain etat est base sur les equations d’etat
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 26 / 39
Analyse de circuits sequentiels Tableau d’etat
Exemple: tableau d’etat
Etat Prochain
Present Entree Etat SortieA B x A B y0 0 0 0 0 00 0 1 0 1 00 1 0 0 0 10 1 1 1 1 01 0 0 0 0 11 0 1 1 0 01 1 0 0 0 11 1 1 1 0 0
Figure 11 : Tableau d’etat pour le circuit de l’exemple precedent
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 27 / 39
Analyse de circuits sequentiels Tableau d’etat
Exemple: tableau d’etat, forme 2
Etat Prochain Etat SortiePresent x = 0 x = 1 x = 0 x = 1A B A B A B y y
0 0 0 0 0 1 0 00 1 0 0 1 1 1 01 0 0 0 1 0 1 01 1 0 0 1 0 1 0
Figure 12 : Autre forme du tableau d’etat pour le circuit de l’exemple precedent
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 28 / 39
Analyse de circuits sequentiels Diagramme d’etat
Diagramme d’etat
Autre forme graphique pour le tableau d’etat
L’etat est presente comme un cercle, et les transitions (declencheespar l’horloge) entre etats sont representes par des fleches qui sedirigent d’un cercle a l’autre
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 29 / 39
Analyse de circuits sequentiels Diagramme d’etat
Exemple: diagramme d’etat
00 10
01 11
1/0 0/1
1/0
1/00/1
0/1
1/00/0
Figure 13 : Exemple de diagramme d’etat pour le circuit de l’exemple precedent
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 30 / 39
Analyse de circuits sequentiels Diagramme d’etat
Diagramme d’etat
Les chiffres binaires dans les cercles du diagramme representent l’etatactuel
La transition est montree par les fleches, selon l’entree
Les deux chiffres a cote de la fleche representent l’entree et la sortie
Exemple: si le circuit est dans l’etat 00, et que l’entree est 1, la sortiesera 0 (le 1/0) et le prochain etat est 01
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 31 / 39
Analyse de circuits sequentiels Diagramme d’etat
Exemple
Creer le diagramme d’etat pour le circuit sequentiel suivant.
Q
Q’
J
CLK
K
Q
Q’
J
CLK
K
x
A
B
CLK
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 32 / 39
Machines Mealy et Moore
Machines Mealy et Moore
Deux modeles generaux de circuits sequentiels: machines Mealy etMoore
Mealy: sortie est fonction de l’etat actuel et des entrees
Moore: sortie est seulement fonction de l’etat present
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 33 / 39
Machines Mealy et Moore
Machines Mealy et Moore
Logique duprochain etat Memoire
Logique desortie
Entrees
Machine Mealy
CLK
Sortie
Logique duprochain etat Memoire
Logique desortie
Entrees
Machine Moore
CLK
Sortie
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 34 / 39
Machines Mealy et Moore
Etapes d’analyse
1 Determiner les equations d’excitation pour les entrees aux bascules.
2 Substituer les equations d’excitation dans les equationscaracteristiques des bascules pour obtenir les equations de transition.
3 Utiliser les equations des transition pour construire une table detransition.
4 Determiner les equations de sortie.
5 Ajouter les valeurs de la sortie a la table de transition pour obtenir latable de transition / d’etat.
6 Nommer les etats et substituer ces noms pour les combinaisonsetat/variable dans la table de transition / etat pour obtenir la tableetat/sortie.
7 Dessiner le diagramme d’etat.
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 35 / 39
Machines Mealy et Moore
Exemple: Analyser le circuit sequentiel suivant
QD
CLK Q’
QD
CLK Q’
EN Q0
Q1
M
CLK
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 36 / 39
Conception de machines d’etat synchrones
Etapes de conception
1 Construire la table etat/sortie qui correspond a la description donneedu probleme.
2 Minimiser, si possible, le nombre d’etats.
3 Choisir les variables d’etat et leur assigner une valeur.
4 Substituer les valeurs des etats pour creer la table transition/sortie.
5 Choisir le type de bascule (habituellement D ou JK).
6 Construire la table d’excitation.
7 Ecrire les equations d’excitation des bascules
8 Ecrire les equations de sortie.
9 Dessiner le circuit.
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 37 / 39
Conception de machines d’etat synchrones
Conception de machines d’etat synchrones
Deux approches de design:
Risque minimum: On suppose que la machine peut aller dans unetat non utilise (a cause d’erreur, bris de circuit, etc.). On va doncfaire la conception de sorte que tout etat non utilise retourne a l’etatinitial (habituellement 00..00).
Cout minimum: On suppose que la machine n’ira jamais dans lesetats non utilises, et on peut alors utiliser des conditions indifferentespour simplifier les equations. Pa contre, si la machine entre dans unetat non utilise, le comportement est inconnu.
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 38 / 39
Conception de machines d’etat synchrones
Exemple
Faire la conception d’une machine d’etat a 2 entrees, A et B, et une sortieZ qui a la valeur 1 si:
1 A a la meme valeur pour chacun des deux cycles precedents
2 B a ete 1 depuis la derniere fois que la condition precedente est vrai
Sinon, la sortie est nulle.
Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 39 / 39