Professional Documents
Culture Documents
ch05 PDF
ch05 PDF
Chapter 5
Jin-Fu Li
Chapter 5 CMOS Circuit and Logic
Design
• Hierarchical design
− Architecture level
− RTL/logic gate level
− Circuit level
− Layout level
N N
Fanout=N Fanin=N
m=3, k=4
Cr
mnCd kCg
a z a z
Vss
Vss
Vdd
Vdd
z
a
z b
b
Vss
Vss
Vdd Vdd
a
z z
b
Vss Vss
b a
VDD
C D
Z C D Vss
I1 I3
B
I1
I2
A
B
Z I2
C A B A
I3
D Z
B B
A A
Vdd
Vss
A B C D
National Central University EE613 VLSI Design 20
Physical Design – XNOR Gate (1)
A Z’
B Z
Vdd
A Z’
Z’ z
B
A B
Z’
Vss
A B
National Central University EE613 VLSI Design 21
Physical Design – XNOR Gate (2)
A
B
Z
Vss Vdd
E A
D C B
E
Vss
D E C A B D E C A B
Vdd
Vss
Wp
Dnp
Wn
a b c d z
WVss
Vdd Vdd
Vss Vss
a b c z a b c z
Vdd
Vss
Vdd
Routing channels
Vss
P-transistors
poly gates
N-transistors
Vss supply
substrate contacts
National Central University EE613 VLSI Design 28
Physical Design – Sea-of-Gate (NAND3)
a b c
a b c z z
a b c
Vdd
clk
F
A<0>
A<1> F
A<2>
A<3>
Vss
A
B
C Z B C D
D
Vdd
Z Wrong
Right
Vss
A B C D A B C D
National Central University EE613 VLSI Design 33
Physical Design – Transmission Gate
a
z b
-c a z
b
c -c
VDD
βp
F
A βn VL
Time
βn
β n (VDD − VTn )VOL = (VDD − | VTp |) 2
2
for VTn = −VTp = VT
βp
VOL = (VDD − VT )
2βn
N-logic
inputs evaluate
Block
precharge
clk
clk
clk
clk
A Y=ABC
C Z=(A+B).C
B
A B C
clk clk
CVDD = (C + C1 + C2 )VA
C
VA = VDD
C + C1 + C2
clock
N1 N2
N1
inputs N Logic N Logic
T d1
Erroneous State
clock N2
T d2
-clk
clk Z
A
-A A
-B
-B
-A OUT OUT
A OUT
B
B B
Basic gate
A Z
clk
weak p device
Z Z
clk clk
clk
clk
N-logic
A5 C2 C1
A4 C3
N-logic N-logic
A3 C4
A2 C5
A1 C6 N-logic
A0 C7
to futher P blocks
inputs N-logic P-logic N-logic
stable
during
clk=1
to futher P blocks
inputs N-logic P-logic N-logic
stable
during
clk=1
Q F
-F
-Q
nMOS d a -d -e
Differential
Inputs Combinational -a
Network e b c -b
-c
-Q clock Q
clock -d d -d d
-Q Q
nMOS c -c c -c
Differential
Inputs Combinational
Network
b -b b -b
clock
a -a
clock
inputs outputs
Combinational Logic
current
state next
bits state
Q D bits
Q D
Q D
clock
inputs C1 C2 outputs
D Q D Q D Q
D Q D Q D Q
C1 C2 outputs
inputs
D Q D Q D Q
A pipeline system
Cycle time Tc
clock
Data
D 0 clk
Q
1 D
S
clk
Q
0 clk
Q
D 1 D
S
clk
Q
clk
D 0 0
QM D
Q
1 1
S S QM
clk clk
Q
master slave
clk=0
clk=1
master slave
clk clk
K
J
A
D
K
J B
clk Q
QN
Q
QN
clk -clk
J=K=0; Q=D
JN=KN=1; A=QN, B=1; D=AN=Q J K clk Q QN
J=0;K=1
0 0 Q QN
KN=0,JN=1; A=1, B=1; D=0 0 1 0 1
J=1; K=0 1 0 1 0
KN=1, JN=0; A=QN, B=Q; D=1; 1 1 QN Q
J=1; K=1
KN=0, JN=0; A=1, B=Q; D=QN
National Central University EE613 VLSI Design 57
Clocking Strategies – System Timing
clock
clock
A B
Latch Combinational Logic Ts Latch Combinational Logic Latch
A Tq Tda B Tdb C
clock
Similarly,
Tdb < Tc 0 − Tqb − Tsc
Finally,
Tc = Tda + Tdb + 2[Tq + Ts ]
φin
t = t− t = t+
Din
When Td > Tφ , Din should become high earlier and Q can become high
When Td < Tφ , Din should retain at high longer and Q can be still at high
Tφ
Din TS Tφ Din
Th Td
D Td D
TS = Td − Tφ Th = Td − Tφ
T c1
TC
T c2 Tdc
D -Q
-clk clk -clk
Q
clk -clk
D -clk clk Q
-clk clk
clk -clk
-clk
clk
Feedthrough condition
D Q
-clk -clk
FF
FF
FF
(5ns) (9ns) (5ns)
-2ns
-2ns
0ns
clk
A 7ns B C D
clk
A B C D
clk1
A B C D
clk2
A B C
clk3
National Central University EE613 VLSI Design 65
Clocking Strategies – Latches
-clk
D Q
clk
clk
D Q
-clk
-clk
clk
National Central University EE613 VLSI Design 66
Clocking Strategies – Latches
Vdd
clk
D -clk Q
D -clk
Q
clk
clk -clk
Vss
D -D
clk
Q1
Q1 -Q1
clk
Latch 1
clk
Q2 -Q2
clk
Q2
D -D
clk
Latch 2
D Q2
-Q2 Q
-Q
-Q1
Q1
clk
Latch 1
-clk -reset
clk
-reset
-clk -reset
-clk
clk -clk
-set
clk clk
clk
D -Q D D
-clk
-clk -clk
clk -clk
-Q clk -clk
D Q D Q
-clk clk
-clk clk
clock
Logic
L1 L2
Logic
L2 opaque
clock L1 opaque L1 transparent
L2 transparent
D X D X
CLK Q CLK -Q
Dn CLK Xn Qn
0 H 1 0
1 H 0 1
1 L Xn-1 Qn-1
0 L 1 Qn-1
Clock active low latch Clock active low latch with buffer
D D
CLK CLK
X Q X -Q
Dn CLK Xn Qn
0 L 1 0
1 L 0 1
1 H Xn-1 Qn-1
0 H 1 Qn-1
Clock active high latch without Clock active low latch without
feedback feedback
D X D
CLK Q CLK
X Q
CLK
D
B -Q
CLK
D A
A
B
-Q
tr
tf
dclk dclk
output pad output pad
dclk+dpad dclk+dpad
clock clock
T1 T1=Input buffer delay
dclk +routing RC delay dclk
T2 T2
T2=Clock-to-Q delay
data out +output buffer delay data out
clock
clock clock
/4 clock route
PLL PLL
bus
dclk
U
Phase Detector Charge Pump Filter VCO
Vc nxfn
reference clock fn D
Vdd
U Low-pass filter
Vc
D
S Q U
clkext
R
S Q D
clk
R
S clk clk
Q
UP NOP DN
clkext clkext
R
Vrefp Pref
U
U
Out
Out
D
D
Vrefn Nref
NC1 NC2
I I
I
fVCO
V
Control voltage
tin tin+t
Control voltage
U Low-pass filter
fin D
fout
fin
V-I converter
Delay cell
Delay cell
Delay cell
VC
Generated clock
clk -clk
-clk
nMOS pMOS
Logic Logic clk
clk section
-clk clk
clk
nMOS pMOS
Logic Logic -clk
clk
A a0 a1 a2
B b0 b1 b2
C c0 b1 b2
Td2
Logic
clock
Tc1
Logic
clock delay
• Contra-data-direction clock
Logic
delay clock
D Q
ph1 ph2
ph1
ph2
ph1=1,ph2=0
C1 C2
ph1=0,ph2=1
C1 C2
ph1
ph2
ph1=1,ph2=1
C1 C2
ph1 ph2
ph1 ph2
clock
clock
Vdd
C1 C2
clkp -clkp CA
Vout
clkn -clkn
CB
C3 C4
Gnd
Clock
PAD PAD
PAD
PAD 1 0 1 1 0
1 1 0 0 1
N
data D
Bidirectional pad
PAD
Vout
VDD
Vin
VT- VT+ VDD
Vout
VDD Vin
VT+
VT-
Time
Schmitt trigger turns a signal with a very slow transition into a signal with a sharp
transition
Vin Vout
N2
VFN N3
N1
1. When the input is rising, the VGS of the transistor N2 is given by VGS 2 = Vin − VFN
2. When Vin = VT + , N2 enters in conduction mode which means VGS2 = VTn
3. Then VFN = VT + − VTn