fundamentals of computer systems - columbia...
TRANSCRIPT
-
Fundamentals of Computer SystemsSequential Logic
Stephen A. Edwards
Columbia University
Summer 2015
-
State-Holding ElementsLatchesD Flip-FlopResets (Sync and Async)
The Synchronous Digital Logic Paradigm
Sequential CircuitsShift RegistersCounters
Timing in Synchronous Circuits
-
Bistable Elements
Q Q
Q
Q
Equivalent circuits; right is more traditional.
Two stable states:
0
1
1
0
-
RS Latch
R
S
Q
Q
Q
Q
R
S
R S Q Q
0 00 11 01 1
-
RS Latch
R
S
Q
Q
0
1
1
0
Q
Q
R
S
R S Q Q
0 00 1 1 0 Set (Q = 1)1 01 1
-
RS Latch
R
S
Q
Q
1
0
0
1
Q
Q
R
S
R S Q Q
0 00 1 1 0 Set (Q = 1)1 0 0 1 Reset (Q = 0)1 1
-
RS Latch
R
S
Q
Q
0
0
Q
Q
(0 + Q) = Q
(0 + Q) = Q
Q
Q
R
S
R S Q Q
0 0 Q Q Hold previous value0 1 1 0 Set (Q = 1)1 0 0 1 Reset (Q = 0)1 1
-
RS Latch
R
S
Q
Q
1
1
0
0
Q
Q
R
S
R S Q Q
0 0 Q Q Hold previous value0 1 1 0 Set (Q = 1)1 0 0 1 Reset (Q = 0)1 1 0 0 Bad. Do not use.
-
R S Latch
S
R
Q
Q
Q
Q
S
R
R S Q Q
0 0 1 1 Bad. Do not use.0 1 0 1 Reset (Q = 0)1 0 1 0 Set (Q = 1)1 1 Q Q Hold previous value
-
D Latch
Q
Q
D
CQ
Q
D
C
C D Q Q
0 X Q Q1 0 0 11 1 1 0
-
A Challenge: Build a traffic light controller
Want the lights to cycle green-yellow-red.
DC
Q
DC
Q
DC
Q
R
Y
G
Does this work?
-
Positive-Edge-Triggered D Flip-Flop
Master Slave
DC
Q DC
QDD’ Q
CM CS
C
D Q
C
D
CM
D′
CSQ
transparent
opaque
-
Positive-Edge-Triggered D Flip-Flop
Master Slave
DC
Q DC
QDD’ Q
CM CS
C
D Q
C
D
CM
D′
CSQ
transparent
opaque
-
Positive-Edge-Triggered D Flip-Flop
Master Slave
DC
Q DC
QDD’ Q
CM CS
C
D Q
C
D
CM
D′
CSQ
transparent
opaque
opaque
transparent
-
Positive-Edge-Triggered D Flip-Flop
Master Slave
DC
Q DC
QDD’ Q
CM CS
C
D Q
C
D
CM
D′
CSQ
transparent
opaque
opaque
transparent
-
Positive-Edge-Triggered D Flip-Flop
Master Slave
DC
Q DC
QDD’ Q
CM CS
C
D Q
C
D
CM
D′
CSQ
transparent
opaque
opaque
transparent
transparent
opaque
-
Positive-Edge-Triggered D Flip-Flop
Master Slave
DC
Q DC
QDD’ Q
CM CS
C
D Q
C
D
CM
D′
CSQ
transparent
opaque
opaque
transparent
transparent
opaque
opaque
transparent
-
The Traffic Light Controller: A second tryLet’s try this again with D flip-flops.
D Q
D Q
D Q
CLK
R
Y
G
CLK
R
Y
G
-
The Traffic Light Controller: A second tryLet’s try this again with D flip-flops.
D Q
D Q
D Q
CLK
R
Y
G
CLK
R
Y
G
-
The Traffic Light Controller: A second tryLet’s try this again with D flip-flops.
D Q
D Q
D Q
CLK
R
Y
G
CLK
R
Y
G
-
The Traffic Light Controller: A second tryLet’s try this again with D flip-flops.
D Q
D Q
D Q
CLK
R
Y
G
CLK
R
Y
G
-
The Traffic Light Controller: A second tryLet’s try this again with D flip-flops.
D Q
D Q
D Q
CLK
R
Y
G
CLK
R
Y
G
-
The Traffic Light Controller with Reset
D Q
D Q
D Q
CLK
RESET
R
Y
G
CLK
RESET
R
Y
G
-
The Traffic Light Controller with Reset
D Q
D Q
D Q
CLK
RESET
R
Y
G
CLK
RESET
R
Y
G
-
The Traffic Light Controller with Reset
D Q
D Q
D Q
CLK
RESET
R
Y
G
CLK
RESET
R
Y
G
-
The Traffic Light Controller with Reset
D Q
D Q
D Q
CLK
RESET
R
Y
G
CLK
RESET
R
Y
G
-
The Traffic Light Controller with Reset
D Q
D Q
D Q
CLK
RESET
R
Y
G
CLK
RESET
R
Y
G
-
The Traffic Light Controller with Reset
D Q
D Q
D Q
CLK
RESET
R
Y
G
CLK
RESET
R
Y
G
-
D Flip-Flop with Enable
D Q Q01D
C
E
C E D Q
↑ 0 X Q↑ 1 0 0↑ 1 1 10 X X Q1 X X Q
D QEC
DQ
What’s wrong with thissolution?
-
Asynchronous Preset/Clear
D QPRE
CLR
CLK
D
PRE
CLR
Q
-
The Traffic Light Controller w/ Async. Reset
D QPRE
CLR
D QPRE
CLR
D QPRE
CLR
CLKR
Y
G
RESET
-
The Synchronous Digital Logic Paradigm
Gates and Dflip-flops only
Each flip-flopdriven by thesame clock
Every cyclicpath containsat least oneflip-flop
CLSTATE
NEXT STATE
INPUTS OUTPUTS
CLOCK
-
Cool Sequential Circuits: Shift Registers
A
Q0 Q1 Q2
Q3
CLK
A Q0Q1Q2Q3
0 X X X X1 0 X X X1 1 0 X X0 1 1 0 X1 0 1 1 00 1 0 1 10 0 1 0 10 0 0 1 01 0 0 0 10 1 0 0 0
-
Universal Shift Register
S1S0
0123
D0Q0
0123
D1Q1
0123
D2Q2
0123
D3Q3
CLK
R
L
S1 S0 Q3 Q2 Q1 Q0
0 0 R Q3 Q2 Q10 1 D3 D2 D1 D01 0 Q3 Q2 Q1 Q01 1 Q2 Q1 Q0 L
S1 S0 Operation
0 0 Shift right0 1 Load1 0 Hold1 1 Shift left
-
Cool Sequential Circuits: Counters
Cycle through sequences of numbers, e.g.,
00 01 10 11
-
Flip-Flop Timing
CLK
D
Q
tsu
Setup Time: Time beforethe clock edge after whichthe data may not change
-
Flip-Flop Timing
CLK
D
Q
tsu th
Setup Time: Time beforethe clock edge after whichthe data may not change
Hold Time: Time after theclock edge after which thedata may change
-
Flip-Flop Timing
CLK
D
Q
tsu th
tp(min)
Setup Time: Time beforethe clock edge after whichthe data may not change
Hold Time: Time after theclock edge after which thedata may change
Minimum PropagationDelay: Time from clockedge to when Q mightstart changing
-
Flip-Flop Timing
CLK
D
Q
tsu th
tp(min)tp(max)
Setup Time: Time beforethe clock edge after whichthe data may not change
Hold Time: Time after theclock edge after which thedata may change
Minimum PropagationDelay: Time from clockedge to when Q mightstart changing
Maximum PropagationDelay: Time from clockedge to when Qguaranteed stable
-
Timing in Synchronous Circuits
CL· · · · · ·Q D
CLK
CLK
Q
D
tc
tc: Clock period. E.g., 10 ns for a 100 MHz clock
-
Timing in Synchronous Circuits
CL· · · · · ·Q D
CLK
CLK
Q
D
tp(min,FF) tp(min,CL)
Sufficient Hold Time?
Hold time constraint: how soon after the clock edge can Dstart changing? Min. FF delay + min. logic delay
-
Timing in Synchronous Circuits
CL· · · · · ·Q D
CLK
CLK
Q
D
tp(max,FF)tp(max,CL)
Sufficient Setup Time?
Setup time constraint: when before the clock edge is Dguaranteed stable? Max. FF delay + max. logic delay
-
Clock Skew: What Really Happens
CL· · · · · ·Q D
CLK1
CLK
CLK2
CLK1CLK2
Q
Dtp(min,FF) tp(min,CL)
tskew
Sufficient Hold Time?
CLK2 arrives late: clock skew reduces hold time
-
Clock Skew: What Really Happens
CL· · · · · ·Q D
CLK1
CLK
CLK2
CLK1CLK2
Q
Dtp(max,FF) tp(max,CL)
tskew
Sufficient Setup Time?
CLK2 arrives early: clock skew reduces setup time
State-Holding ElementsLatchesD Flip-FlopResets (Sync and Async)
The Synchronous Digital Logic ParadigmSequential CircuitsShift RegistersCounters
Timing in Synchronous Circuits