Sequential Circuit Design
Sequential Circuit Design
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
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
tccq Latch/Flop Clk->Q Cont. Delay tpcq
Q tccq
tpdq Latch D->Q Prop. Delay
D Q D tpdq
tcdq
thold Latch/Flop Hold Time
Q
Q1 D2
F1
F2
sequencing overhead Combinational Logic
Tc
tsetup
clk
tpcq
Q1 tpd
D2
L1
L2
L3
sequencing overhead Logic 1 Logic 2
φ1
φ2
Tc
D1 tpdq1
Q1 tpd1
D2 tpdq2
Q2 tpd2
D3
D1 Q1 D2 Q2
L1
L2
Combinational Logic
sequencing overhead
Tc
D1 tpdq
D2
φp
tpcq Tc tpw
Q1 tpd tsetup
(b) tpw < tsetup
D2
F1
CL
clk
D2
F2
clk
Q1 tccq tcd
D2 thold
L1
CL
φ2
Hold time reduced by D2
L2
nonoverlap
tnonoverlap
φ1
Paradox: hold applies
tccq
φ2
twice each cycle, vs.
only once for flops. Q1 tcd
D2 thold
L1
CL
φ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
≤ c − ( tsetup + tnonoverlap )
D1 Q1 D2 Q2
T
L1
L2
Combinational Logic 1
tborrow
2
φ1
φ2 tnonoverlap
Pulsed Latches Tc
tsetup
tborrow ≤ t pw − tsetup Tc/2
Nominal Half-Cycle 1 Delay
tborrow
D2
F1
F2
Combinational Logic
Tc
sequencing overhead
clk
Q1 tpdq tsetup
D2
clk
Q1
F1
CL
clk
D2
F2
tskew
clk
thold
Q1 tccq
D2 tcd
(2
t )
D1 Q1 Combinational D2 Q2 Combinational D3 Q3
L1
L2
L3
t pd ≤ Tc − Logic 1 Logic 2
pdq
sequencing overhead φ1
sequencing overhead
X
D Q
φ2 φ1
φ2 φ1
φ2 φ1