Lect11 Seq
Lect11 Seq
Sequential
Circuit Design
Outline
Sequencing
Sequencing Element Design
Max and Min-Delay
Clock Skew
Time Borrowing
Two-Phase Clocking
in out
CL CL CL
Latch
Flop
– Opaque D Q D Q
– Edge-trigger clk
Q (latch)
Q (flop)
+ No backdriving D
X
Q
X
D Q
D 1
Latch
Latch
Latch
D Q Q D Q
0
en en
en
D 1
Flop
Q
0
Flop
Flop
D Q D Q
en
en
Latch
Flop
D Q D Q
reset reset
Synchronous Reset
Q Q
reset reset
Q
D D
Q
Q
Asynchronous Reset
reset
reset
D
D
reset
reset
Flip-Flops
clk
Pulsed Latches
Flop
Flop
Combinational Logic
1 2 1
Latch
Latch
Latch
Combinational Combinational
Logic Logic
Half-Cycle 1 Half-Cycle 1
Pulsed Latches
p tpw
p p
Latch
Latch
Combinational Logic
Flop
D Q D
D Q D tpdq
tsetup Latch/Flop Setup Time tcdq
Q
Q1 D2
Combinational Logic
F1
F2
Tc
tsetup
clk
tpcq
Q1 tpd
D2
D1 Q1 Combinational D2 Q2 Combinational D3 Q3
L1
L2
L3
Logic 1 Logic 2
1
2
Tc
D1 tpdq1
Q1 tpd1
D2 tpdq2
Q2 tpd2
D3
D1 Q1 D2 Q2
Combinational Logic
L1
L2
Tc
D1 tpdq
D2
p
tpcq Tc tpw
Q1 tpd tsetup
(b) tpw < tsetup
D2
F1
clk
D2
F2
clk
Q1 tccq tcd
D2 thold
Q1
CL
L1
2
Hold time reduced by D2
L2
nonoverlap
tnonoverlap
1
Paradox: hold applies tccq
twice each cycle, vs. 2
D2 thold
Q1
CL
L1
p
Hold time increased
D2
by pulse width
L2
p
tpw
thold
Q1 tccq tcd
D2
2
1 2 1
Latch
Latch
Latch
Combinational
(a) Combinational Logic
Logic
Loops may borrow time internally but must complete within the cycle
T D1 Q1 D2 Q2
c tsetup tnonoverlap
Combinational Logic 1
L1
L2
tborrow
2
1
tsetup
tborrow t pw tsetup Tc/2
Nominal Half-Cycle 1 Delay
tborrow
D2
Q1 D2
Combinational Logic
F1
F2
Tc
clk
tpcq
tskew
Q1 tpdq tsetup
D2
clk
Q1
CL
F1
clk
D2
F2
tskew
clk
thold
Q1 tccq
D2 tcd
D1 Q1 Combinational D2 Q2 Combinational D3 Q3
L1
L2
L3
Logic 1 Logic 2
1
2
Pulsed Latches
X
D Q
– Temperature
– Process variation f p
D
– Data dependency Q
X
– Tool inaccuracies ERR