INF1500 : Logique des systèmes numériques

Transcription

INF1500 : Logique des systèmes numériques
INF1500 :
Logique des systèmes numériques
† Cours 5: Loquets (latches) et bascules
(flip-flops)
Sylvain Martel - INF1500
1
Introduction aux circuits séquentiels
À date on n’a considéré que les circuits combinatoires. Ceux-ci
nous permettent de réaliser une foule de fonctions utiles
telles que la génération de signaux de contrôle d’un
système d’alarme en fonction de l’état de différents
senseurs ou l’addition et la soustraction de nombres
binaires. Cependant, il serait impossible de réaliser des
circuits dont la sortie dépend du temps ou des circuits qui
doivent « se souvenir » d’un état particulier en utilisant
uniquement des composantes combinatoires. Un exemple
simple est la mémoire d’une calculatrice pour conserver un
résultat qui doit être réutilisé.
Sylvain Martel - INF1500
2
Définitions
• Bascules: élément de mémoire, constitué d’un ensemble de portes
logiques à deux états stables.
Bascules (multivibrateurs* bistables)
Synchrones (flip flop)
Asynchrones (loquet ou latch)
* Multivibrateur bistable => 2 états stables
Multivibrateur monostable => 1 état stable
Multivibrateur astable => aucun état stable
Sylvain Martel - INF1500
3
Latch R’-S’
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
(a)
S_L
or S
R_L
(b)
Q
QN
S_L R_L
0
0
0
1
1
1
0
1
Q
QN
1
1
1
0
(c)
S
Q
R
Q
0
1
last Q last QN
or R
Sylvain Martel - INF1500
4
Deux états stables (mémoire) quand
/S=/R=1:
1
0
1
0
1
1
1
1
0
1
1
0
Sylvain Martel - INF1500
5
Mise à 1 de l’élément de mémoire:
0
1
0
1
1
0
Sylvain Martel - INF1500
6
Mise à 0 de l’élément de mémoire:
1
0
1
0
0
1
Sylvain Martel - INF1500
7
Lorsque S’=R ’=0:
0
1
1
1
0
1
Sylvain Martel - INF1500
8
Latch R’-S’ - Suite
† R’=0 et S’=0 représente un état
indésirable car:
„ On a Q et /Q = 1
„ L’état de sortie de la bascule est
conditionné par l’entrée qui revient à 1
en premier => résultats imprévisibles
Sylvain Martel - INF1500
9
Lorsque S’=R ’=0:
0 →1
1
1
1
0 →1
1
Si /R et /S passe à 1 en même temps, le résultat de Q et /Q
est fonction de la porte qui aura le plus petit délai => non prévisible
Sylvain Martel - INF1500
10
Si la porte du haut possède le plus petit délai alors Q=0 et /Q=1
0 →1
1 →0
1
1 →0
0 →1
1
Sylvain Martel - INF1500
11
Si la porte du bas possède le plus petit délai alors Q=1 et /Q=0
0 →1
1
1 →0
1
0 →1
1→0
Sylvain Martel - INF1500
12
Règle d’or
† Afin d’éviter les résultats non
prévisibles (non déterministe), les
entrées doivent changer une à la fois,
laissant suffisamment de temps entre
deux entrées successives pour
permettre des états stables (c’est de
la que proviennent le temps de
stabilisation et de maintien).
Sylvain Martel - INF1500
13
Latch R-S (Reset-Set)
Latch R-S: élément de mémoire construit à partir de deux portes
NON-ET:
R
(a)
S
Q
QN
S
R
0
0
1
1
0
1
0
1
Q
QN
last Q last QN
0
1
0
1
0
0
(b)
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500
14
Latch R-S - Suite
(a)
S
Q
S
Q
S
Q
R
QN
R
Q
R
QN
(b)
(c)
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500
15
Latch R-S: Diagramme temporel
(Timing Diagram)
S
(1)
R
(2)
Q
tpLH(SQ)
tpHL(RQ)
tpw(min)
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500
16
Latch R-S avec signal enable
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
(a)
(b)
S
S R C
Q
QN
Q
0 0 1
0 1 1
1 0 1
C
QN
R
1 1 1
x
Sylvain Martel - INF1500
x 0
last Q last QN
0
1
1
1
0
1
(c)
S
Q
C
Q
R
last Q last QN
17
Latch R-S avec signal enable
Ignored since C is 0.
Ignored until C is 1.
S
R
C
Q
QN
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500
18
Latch D avec signal enable (74LS75)
But: enlever l’entrée R=S=1 de la table de vérité du latch R-S
En réalité on enlève
les lignes
1 et 4
D
Q
C
QN
(a)
(b)
C D
Q
QN
1
0
0
1
D
Q
1
1
1
0
C
Q
0
x
last Q last QN
(c)
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500
19
Latch D avec signal enable
D
C
Q
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500
20
Latch D avec signal enable - Suite
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
D
C
(1)
(2)
(3)
(4)
(5)
Q
tpHL(DQ)
tpLH(CQ)
tpHL(CQ)
tpLH(DQ)
tpLH(DQ)
Sylvain Martel - INF1500
thold
tsetup
21
Bascule D (D Flip-flop – DFF)
Positive-edge triggered D flip-flop
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
(a)
(b)
D
D
C
CLK
Q
QM
D
C
Q
Q
Q
QN
(c)
Q
QN
0
0
1
1
1
0
D
CLK
x
0
last Q last QN
x
1
last Q last QN
Sylvain Martel - INF1500
D
Q
CLK
22
Q
Bascule D
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
D
CLK
Q
tpLH(CQ)
tpHL(CQ)
thold
tsetup
Sylvain Martel - INF1500
23
Bascule D (D Flip-flop – DFF)
Negative-edge triggered D flip-flop
1
1
D
D
C
Q
1
D
Q
Q
C
Q
QN
CLK_L
(a)
1→0
0→1
D CLK_L
Q
QN
0
0
1
1
1
0
x
0
last Q last QN
x
1
last Q last QN
(b)
D
Q
CLK
(c)
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500
24
Q
Bascule D (signaux de contrôle asynchrones)
(b)
PR_L
D
Q
(a)
PR
D
Q
CLK Q
CLR
QN
CLK
CLR_L
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500
25
Bascule D 74LS74
PR_L
CLR_L
Q
CLK
QN
D
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500
26
Bascule J-K
† On a tout d’abord construit un latch J-K à partir d’un
latch R-S, pour la même raison qu’on a construit un
latch D à partir d’un latch R-S (i.e. éliminer la ligne 1
de la table de vérité).
† Ensuite, on a rendu synchrone le latch J-K => bascule
J-K.
† La bascule J-K est plus ancienne que la bascule D, et
comparativement à cette dernière, aujourd’hui on
l’utilise de moins en moins.
Sylvain Martel - INF1500
27
Latch J-K à partir d’un latch R’-S’
J
Q
C
/Q
K
Si à l’initialisation on a Q≠/Q alors impossible d’avoir en
même temps 0 sur les deux fils, donc Q=/Q=1.
Sylvain Martel - INF1500
28
Bascule J-K à partir d’une bascule D
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
(a)
(b)
J
D
K
CLK
CLK
Q
Q
Q
QN
(c)
QN
J
K CLK
x
x
0
last Q last QN
x
x
1
last Q last QN
0
0
0
1
0
1
1
0
1
0
1
1
Sylvain Martel - INF1500
Q
J
Q
CLK
Q
K
last Q last QN
last QN last Q
29
Bascule J-K - Suite
J
K
CLK
Q
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500
30
Bascule J-K (74LS109)
PR_L
CLR_L
Q
CLK
QN
J
K_L
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500
31
T (Toggle) Flip-flop
(a)
(b)
EN
EN
Q
T
Q
T
Q
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
Circuits équivalents
(b)
(a)
EN
XOR
D
Q
Q
EN
1
J
T
CLK
Q
QN
Q
Q
Q
QN
CLK
T
K
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500
32
Équations caractéristiques
†
†
†
†
†
†
†
S-R latch
„
Q(t+1) = S(t) + R’(t) . Q(t)
„
Q(t+1) = D(t)
„
Q(t+1) = D(t)
„
Q(t+1) = S(t) + R’(t) . Q(t)
„
Q(t+1) = J(t) . Q’(t) + K’(t) . Q(t)
„
Q(t+1) = J(t) . Q’(t) + K’(t) . Q(t)
„
Q(t+1) = Q’(t)
D latch
Edge-triggered D flip-flop
Master/slave S-R flip-flop
Master-slave J-K flip-flop
Edge-triggered J-K flip-flop
T flip-flop
Sylvain Martel - INF1500
33
Exercices
CLK
LD_L
CLR_L
A
(2)
(9)
(1)
(3)
(14)
Q
D
CK
B
(4)
(13)
D
Q
CK
C
(12)
Q
CK
(11)
Q
CK
QD
Q
(15)
ENT
QC
Q
(6)
D
ENP
QB
Q
(5)
D
D
QA
Q
RCO
(7)
(10)
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500
34
Sylvain Martel - INF1500
35