Professional Documents
Culture Documents
Latches, Flip-Flops, and Registers
Latches, Flip-Flops, and Registers
CC-BY Rberteig@flickr
2 1
Instruction
Fetch and Registers ALU Memory
Decode
Bistable latches
Q Q
0
= 0
Q Q
SR latch S R Q Q' Q (stable) Q' (stable)
0 0 0 0 ? ?
0 0 0 1 0 1
0 0 1 0 1 0
0 0 1 1 ? ?
1 0 ? ? 1 0
0 1 ? ? 0 1
Set Reset
S R
Q Q
SR latch R Q
Q
S R Q
R
Q
Q S Q
S
S R R
Q Q Q
S Q
D latch
R
D
Q
Data bit
Q
C
S
Clock
Falling edge
Rising edge
Clock period
State State
element Combinational logic element
1 2
D flip-flop with falling-edge trigger
leader follower
E
D Dm Qm Ds Qs Q
D latch D latch
Cm Qm Cs Qs Q
D Q
D Flip-Flop
Clock C Q
1 D Q
D Flip-Flop
C Q
*Half a byte!
A 1-nybble* register
(a 4-bit hardware storage cell)
0 D Q
D Flip-Flop
C Q
1 D Q
D Flip-Flop
C Q
0 D Q
D Flip-Flop
C Q
1 D Q
D Flip-Flop
Write C Q
Clock
Register file
Read register
r selector 1
Read register Read data 1
r w
selector 2 Read ports
Read data 2 Why 2?
Write register w
r selector
Write data
w
Write port Write?
0 = read
1 = write r = log2 number of registers
w = bits in word
Register n – 2
Register n – 1
Read register
number 2
M
u Read data 2
x
Appendix C The Basics of Logic Design
C
0
1 Register 0
n-to-2n .. D
register number
Register number
decoder .
C
Register 1
n–2
D
n–1
..
.
C
Register n – 2
D
C
Register n – 1
incoming data
Register data D