unit11
unit11
¤ Edge-triggered D flip-flop
¤ S-R flip-flop
¤ J-K flip-flop
¤ T flip-flop
D(n-1) D(n)
Memory element
X
t
¤ e.g., a feedback loop with two inverters
n Two stable states
n Latch: basic memory unit (store 1 bit)
Now, the values
0 1 1 0 1 0 0 1
can be kept
S-R latch
P P
Q Q
1 0
S 0 0 S 1 1
R0 R0
stable set
Q=0 S: 0 ®1; Q: 0 ®1
P P
Q Q
0 1
S 0 1 S 0 0
R0 R1
stable reset
Q=1 R: 0 ®1; Q: 1 ®0
P = Q'
Latches & FFs
S-R Latch (2/2)
7 © Iris H.-R. Jiang
¨ Cross-coupled form
Q Q' Q' Q
R : Reset
L
S : Set
R S R S
P ¹ Q'
R Q 0 ® 1 ® 0 ® 1…
1®0
Q є є
R Q
t1 t2 t3 t4 t
1 1 0 0
Unchanged
1 1 1 1
R Q′ 1 0 0 0 Reset to 0
1 0 1 0
0 1 0 1
Set to 1
S S Q 0 1 1 1
L 0 0 0 –
Inputs not allowed
R R Q′ 0 0 1 –
D Q
L
G Q′
G 0 1 0
D
S Q
G L D
R Q′
Q
G D Q Q+ GD
Q 00 01 11 10
D Q 0 0 0 0
L 0 0 0 1 0
0 0 1 1 Unchanged
G Q′
0 1 0 0 Q+= Q
0 1 1 1 1 1 1 1 0
1 0 0 0
Q+=G′Q+GD
1 0 1 0 Update
1 1 0 1 Q+= D
1 1 1 1
Latches & FFs
13 Edge-Triggered D Flip-Flop
D Q
Ck Q′
D Q Q+
Q′ Q Q′ Q
FF FF 0 0 0
Ck Ck Q+ = D
D D 0 1 0
1 0 1
Rising-edge trigger Falling-edge trigger 1 1 1
D 1 0 1 1 0
Ck
Q 0 1 0 1 1 0 0
Latches & FFs
D FF – Rising Edge Trigger
15 © Iris H.-R. Jiang
¨ Construct from 2 gated D latches
P
D D1 Q1 D2 Q2 Q
L1 L2
CLK
G1 G2
S Q
Ck
R Q′
CLK
¨ Operation CLK′
S R operation
S
0 0 No state change
0 1 Reset Q to 0 (after active Ck edge) R
1 0 Set Q to 1 (after active Ck edge)
P
1 1 Not allowed
Q
t1 t2 t3 t4 t5
Not an edge-triggered FF
Latches & FFs Þ Do not allow SR change while CLK is low
18 J-K Flip-Flop
J Q
Ck
K Q′
T Q
Ck Q′
Ck
21 T © Iris H.-R. Jiang
¨ T: Toggle
T Q Q+=T′Q+TQ′=TÅQ Ck
0 0 0
Unchanged T
0 1 1
1 0 1
Toggle Q tp tp
1 1 0
t1 t2 t3 t4
¨ Implementation
T Clock Clock
T
Latches & FFs
22 FFs with Additional Inputs
Q′ Q
CLK
ClrN PreN
Ck
D D
D Q
CE
Ck Q′
Din D Q
0
D Q
CLK Din 1
Ck Q′
En
CE
CLK Ck Q′
Type Q+
S-R latch or FF Q+ = S + R'Q (SR = 0)
Gated D latch Q+ = G′Q + GD
D FF Q+ = D
D-CE FF Q+ = D•CE + Q•CE'
J-K FF Q+ = JQ′ + K′Q
T FF Q+ = TÅQ