Вы находитесь на странице: 1из 39

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 Sorties
Circuit
combinatoire
Éléments
mémoire

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)
Q
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)
Q’ 1 1 0 0 (interdit)
S (set)

Figure 2 : Verrou SR

Gabriel Cormier (UdeM) GELE2442 Chapitre 6 Hiver 2015 9 / 39


Verrous Verrou SR

Verrou SR avec activation

R
Q
EN S R Prochain état Q
0 X X Aucun changement
EN 1 0 0 Aucun changement
1 0 1 Q=0
1 1 0 Q=1
Q’ 1 1 1 Indéterminé
S

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
Q
EN D Prochain état Q
EN 0 X Aucun changement
1 0 Q=0
Q’ 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

Y
D D Q D Q Q D Q
Verrou D Verrou D
primaire Bascule D
secondaire

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

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 Q J K Q(t+1)
0 0 Q(t) Aucun changement
CLK 0 1 0 Reset
1 0 1 Set
K Q’ 1 1 Q0 (t) Complément

Figure 7 : Bascule JK et symbole

Q(t + 1) = JQ0 + K 0 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) = JQ0 + K 0 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 Q
T Q(t+1)
0 Q(t) Aucun changement
1 Q0 (t) Complément
CLK Q’

Figure 9 : Bascule T et symbole

Q(t + 1) = T ⊕ Q = T Q0 + T 0 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 Q0 + T 0 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
A
D Q

A’
CLK Q’
y

B
D Q

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) = A0 (t)x(t)

ou

A(t + 1) = Ax + Bx
B(t + 1) = A0 x

Pour la sortie:
y(t) = (A + B)x0

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

É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
Figure 11 : 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

É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
Figure 12 : 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.

J Q A
CLK
x
K Q’

J Q B
CLK
K Q’

CLK

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 Logique de


prochain état Mémoire Sortie
sortie

CLK

Machine Moore

Entrées Logique du Logique de


prochain état Mémoire 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 Q0
D Q

CLK Q’

Q1
D Q

CLK Q’
CLK

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

Вам также может понравиться