Professional Documents
Culture Documents
CMOS VLSI
Design
Lecture 10:
Sequential Circuits
David Harris
mips
(4.6 M2)
control
1500 x 400
(0.6 M2)
alucontrol
200 x 100
wiring channel: 30 tracks = 240 (20 k2)
10 I/O pads
10 I/O pads
5000
3500
1690
datapath
2700 x 1050
(2.8 M2)
2700
3500
10 I/O pads
5000
srcB
writedata bitlines srcA
memdata
aluresult
adr
immediate
pc
aluout
44 24 93 93 93 93 93 44 24 52 48 48 48 48 16 86 93 131 93 44 24 93 131 39 93 39 24 44 39 39 160131
and2
mux2
inv
flop
flop
flop
flop
flop
mux2
inv
writedriver
dualsram
dualsram
dualsram
dualsrambit0
srampullup
readmux
flop
mux4
flop
mux2
inv
flop
mux4
and2
flop
mux4
inv
mux2
and2
or2
fulladder
IR3...0 register file srcB srcA PC ALU
adrmux
MDR
writemux
aluout
zerodetect
ramslice
in out
CL CL CL
Latch
Flop
– Transparent
D Q D Q
– Opaque clk
– Edge-trigger
D
Q (latch)
Q (flop)
Latch
Flop
– Transparent
D Q D Q
– Opaque clk
– Edge-trigger
D
Q (latch)
Q (flop)
• D Q
•
–
+ D
X
+ 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
D Q D tpdq
tsetup Latch/Flop Setup Time tcdq
Q
F1
F2
sequencing overhead
Tc
tsetup
clk
tpcq
Q1 tpd
D2
Q1 D2
Combinational Logic
F1
F2
sequencing overhead
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
L1
L2
L3
sequencing overhead Logic 1 Logic 2
1
2
Tc
D1 tpdq1
Q1 tpd1
D2 tpdq2
Q2 tpd2
D3
D1 Q1
Combinational Logic
D2 Q2
L1
L2
sequencing overhead
Tc
D1 tpdq
D2
p
tpcq Tc tpw
Q1 tpd tsetup
(b) tpw < tsetup
D2
D1 Q1
Combinational Logic
D2 Q2
L1
L2
sequencing overhead
Tc
The two cases are if Tpw >
D1 tpdq
Tsetup (measured from
falling edge), or Tpw < (a) tpw > tsetup
Q1 tpd
Tsetup D2
tcd Q1
CL
F1
clk
D2
F2
clk
Q1 tccq tcd
D2 thold
F1
clk
D2
F2
clk
Q1 tccq tcd
D2 thold
tcd 1,tcd 2 Q1
CL
L1
2
Hold time reduced by D2
L2
nonoverlap
tnonoverlap
1
Paradox: hold applies tccq
twice each cycle, vs. 2
D2 thold
L1
2
Hold time reduced by D2
L2
nonoverlap
tnonoverlap
1
Paradox: hold applies tccq
twice each cycle, vs. 2
D2 thold
tcd Q1
CL
L1
p
Hold time increased
D2
by pulse width
L2
p
tpw
thold
Q1 tccq tcd
D2
L1
p
Hold time increased
D2
by pulse width, so
L2
desirable to keep p
tpw
pulse width short thold
Q1 tccq tcd
D2
Equation easier to understand as:
Tcd + Tccq >= Tpw+Thold
(because Thold occurs after falling edge)
2
1 2 1
Latch
Latch
Latch
Combinational
(a) Combinational Logic
Logic
Latch
Latch
Combinational
(b) 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
L2
L1
tborrow
2
1
tsetup
tborrow t pw tsetup Tc/2
Nominal Half-Cycle 1 Delay
tborrow
D2
F1
F2
Tc
sequencing overhead
clk
Q1 tpdq tsetup
D2
clk
Q1
CL
F1
clk
D2
F2
tskew
clk
thold
Q1 tccq
D2 tcd
2t
D1 Q1 Combinational D2 Q2 Combinational D3 Q3
L1
L2
L3
t pd Tc pdq
Logic 1 Logic 2
sequencing overhead 1
Tc
tborrow tsetup tnonoverlap tskew
2
Pulsed Latches
t pd Tc max t pdq , t pcq tsetup t pw tskew
sequencing overhead
X
D Q