SlideShare a Scribd company logo
TTooppiiccss
 CCMMOOSS DDeessiiggnn
 MMuullttii--iinnppuutt ddeellaayy aannaallyyssiiss
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonnss
 TTrraannssmmiissssiioonn GGaattee
A OUT
S
AA SS OOUUTT
00 00 ZZ
00 11 00
11 00 ZZ
11 11 11
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonnss
 TTrraannssmmiissssiioonn GGaattee
A OUT
S
–– WWhheenn SS iiss llooww,, tthhee oouuttppuutt iiss aatt hhiigghh iimmppeeddaannccee
–– WWhheenn SS iiss hhiigghh,, tthhee oouuttppuutt ffoolllloowwss AA
HHoowweevveerr,, OOUUTT ccaann oonnllyy rriissee ttoo VVDDDD--VVTT,, aatt wwhhiicchh ppooiinntt tthhee ttrraannssiissttoorr wwiillll sshhuutt ooffff
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonnss
 TTrraannssmmiissssiioonn GGaattee
A OUT
S
–– WWhheenn SS iiss hhiigghh,, tthhee oouuttppuutt iiss aatt hhiigghh iimmppeeddaannccee
–– WWhheenn SS iiss llooww,, tthhee oouuttppuutt ffoolllloowwss AA
HHoowweevveerr,, OOUUTT ccaann oonnllyy ffaallll ttoo VVTT,, aatt wwhhiicchh ppooiinntt tthhee ttrraannssiissttoorr wwiillll sshhuutt ooffff
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonnss
 TTrraannssmmiissssiioonn ggaattee
–– RReeqquuiirreess bbootthh nnMMOOSS aanndd ppMMOOSS ttrraannssiissttoorrss
–– SSiinnggllee nnMMOOSS oorr ssiinnggllee ppMMOOSS wwiillll ccaauussee
ssiiggnnaall ddeeggrraaddaattiioonn
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonnss
 TTrraannssmmiissssiioonn GGaattee
S
A
S
OUT
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonnss
 MMuullttiipplleexxeerr
OUT  AS  BS
S
B
A OUT
AA BB SS OOUUTT
00 00 00 00
00 00 11 00
00 11 00 00
00 11 11 11
11 00 00 11
11 00 11 00
11 11 00 11
11 11 11 11
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonn
S
S
B
SS
 MMuullttiipplleexxeerr
A
B
OUT  AS  BS OUT
A
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonnss
 MMuullttiipplleexxeerr
S
–– TTrraannssmmiissssiioonn ggaattee bbaasseedd
B
A
S
S
S
OUT
B
A OUT
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonnss
 MMeemmoorryy
–– UUssee ffeeeeddbbaacckk llooooppss ttoo ssttoorree bbiittss
–– HHooww ddoo yyoouu ggeett tthhee bbiitt iinn tthhee lloooopp??
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonnss
 MMeemmoorryy
–– UUssee ttrraannssmmiissssiioonn ggaatteess ttoo ccoonnttrrooll eennttrryy ttoo tthhee lloooopp
D
CTL
–– LLeevveell sseennssiittiivvee DD--llaattcchh
TG
TG
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonnss
 LLaattcchheess
–– LLeevveell sseennssiittiivvee llaattcchheess ddoo nnoott aallllooww yyoouu ttoo
iissoollaattee oouuttppuutt ffrroomm iinnppuutt wwhheenn ccoonnttrrooll iiss
hhiigghh..
–– SSoolluuttiioonn iiss ttoo uussee aa mmaasstteerr--ssllaavvee sseettuupp
wwhheerree mmaasstteerr llaattcchheess iinnppuutt aanndd tthheenn ssllaavvee
llaattcchheess tthhee oouuttppuutt
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonnss
Q1
TGTG
TGTG
 MMaasstteerr --ssllaavvee llaattcchh
D Q2
CTL
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonnss
 MMaasstteerr --ssllaavvee llaattcchh
CTL
D
Q1
Q2
 NNeeggaattiivvee eeddggee--ttrriiggggeerreedd fflliipp--fflloopp
CCMMOOSS LLooggiicc
 SSeettuupp ttiimmee iiss hhooww mmuucchh ttiimmee bbeeffoorree tthhee cclloocckk eeddggee tthhaatt
tthhee ddaattaa sshhoouulldd bbee rreeaaddyy
–– IIff sseettuupp ttiimmee iiss nnoott mmeett,, tthhee ddaattaa wwiillll nnoott hhaavvee ttiimmee ttoo ggeett
tthhrroouugghh ttrraannssmmiissssiioonn ggaattee aanndd iinnttoo tthhee ffeeeeddbbaacckk lloooopp
 HHoolldd ttiimmee iiss tthhee ttiimmee tthhaatt tthhee ddaattaa iiss rreeqquuiirreedd ttoo bbee
ssttaabbllee aafftteerr tthhee cclloocckk eeddggee..
–– IIff hhoolldd ttiimmee iiss nnoott mmeett,, iinnvvaalliidd ddaattaa mmaayy ggeett ppaasstt tthhee
ttrraannssmmiissssiioonn ggaattee aanndd iinnttoo tthhee ffeeeeddbbaacckk lloooopp..
CCMMOOSS LLooggiicc
DD QQ00 QQ11
00 XX 00
11 XX 11
SS RR QQ00 QQ11
00 00 00 00
00 00 11 11
00 11 XX 00
11 00 XX 11
11 11 XX XX
JJ KK QQ00 QQ11
00 00 00 00
00 00 11 11
00 11 XX 00
11 00 XX 11
11 11 00 11
11 11 11 00
 FFlliipp--FFllooppss
CCMMOOSS LLooggiicc
 RReeggiisstteerrss
–– NN--bbiitt ccoolllleeccttiioonn ooff fflliipp--ffllooppss
CCMMOOSS LLooggiicc GGaattee DDeessiiggnn
 HHooww ddoo yyoouu cchhaarraacctteerriizzee ddeellaayy ffoorr aa ggaattee
mmoorree ccoommpplliiccaatteedd tthhaann aann iinnvveerrtteerr??
t  A
CL
d
keff
 kkeeffff iiss ddeetteerrmmiinneedd bbyy tthhee ssttrruuccttuurree ooff tthhee
llooggiicc ggaattee
DDeellaayy ttiimmee aannaallyyssiiss
P1 P2
N1
N2
 MMuullttii--iinnppuutt ggaatteess
•For pull down (falling delay time)
1
k 


A OUT
neff
1


kn1

kn
2
1
kn 2
•For pull up (rising delay time)
kpeff  kp
B
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonnss
NNAANNDD
A AB
keff  n 
kn
2
keff  p  kp
B Falling delay has doubled
DDeellaayy ttiimmee aannaallyyssiiss
P1 P2
N1
N2
n
MMuullttii--iinnppuutt ggaatteess
•For equal delay times
kn  2kp
A OUT
Wn
k'  2
Wp
Ln Lp
k'p
B
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonnss
2x 2x
2x kn
Wn
k'
2x L
n
n
Since k'n
we get Wn
NNAANNDD
A AB
 2kp
 2
Wp
Lp
B
k'p
 2k'p and assume Ln  Lp
 Wp
DDeellaayy ttiimmee aannaallyyssiiss
P2
P1
N1
N2
B
•For pull down (falling delay time)
kn eff  kn (single transistor on)
•For pull up (rising delay time)
A OUT
k 
1
peff
1


kp1
kp

2
1
kp 2
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonnss
NNOORR
B
A A+B
keff  n  kn
kp
keff  p 
2
Rising delay has doubled
DDeellaayy ttiimmee aannaallyyssiiss
P2
P1
N1
N2
B
•For equal delay times
2kn  kp
A OUT
2
Wn
Ln
Wp
k'n 
Lp
k'p
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonnss
NNOORR
4x
B
4x
A
2kn  kp
A+B
2
Wn
Ln
k'n
Wp
 k'p
Lp
1x 1x
Since k'n  2k'p and assume Ln  Lp
we get 4Wn  Wp
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonnss
MMuullttii--iinnppuutt NNOORR
C
B keff  n  kn
kp
keff  p 
3
Rising delay has tripled
A A+B+C
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonnss
MMuullttii--iinnppuutt NNOORR
6x
C
6x
B
3kn  kp
3
Wn
Ln
k'n
6x
Wp
 k'p
Lp
A A+B+C
Since k'n  2k'p and assume Ln
we get 6Wn Wp
1x 1x 1x
 Lp
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonnss
B C
C
C
BB
C
B
keff n
F
eff p

kn
3
kp

2
Falling delay has tripled
Rising delay has doubled
A
A
k
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonnss
4x B 4x C 4x
B 4x C 4x
3x C 2x
F
2kn  3kp
3x B 2x
2
Wn
Ln
k'n
 3
Wp
Lp
k'p
Since k'n  2k'p and assume Ln  Lp
3x we get 4Wn  3Wp
A
A
B
C
A
L
 k 
CCMMOOSS LLooggiicc IImmpplleemmeennttaattiioonnss
4x B 4x C 4x
2x B 4x C 4x
B F
Without sizing
 
1x 3x C 2x C   C 
t  A in
 A 

p1
kB  
3x B 2x
With sizing
 7
C
 3 

t
 3
in   CL

3x p 2  A   A 
 k 
 
 k 


A
C
CCMMOOSS LLooggiicc GGaattee DDeellaayyss
IInnccrreeaassiinngg ttrraannssiissttoorr ssiizzeess ccaann rreedduuccee
tthhee ddeellaayyss,, bbuutt iitt
–– IInnccrreeaasseess aarreeaa
–– IInnccrreeaasseess llooaadd ccaappaacciittaannccee ffoorr ddrriivviinngg ggaatteess
MMuullttii--iinnppuutt ggaatteess mmaayy nnoott aallwwaayyss bbee ggoooodd
NNeexxtt ccllaassss
GGaattee DDeellaayyss
LLooggiiccaall EEffffoorrtt
CChhaapptteerr 66..22
TTooppiiccss
CCMMOOSS LLooggiicc DDeellaayyss
LLooggiiccaall EEffffoorrtt
IInnppuutt PPaatttteerrnn EEffffeeccttss oonn DDeellaayy
Rp Rp
A B
Rn CL
int
DDeellaayy iiss ddeeppeennddeenntt oonn tthhee
ppaatttteerrnn ooff iinnppuuttss
LLooww ttoo hhiigghh ttrraannssiittiioonn
–– bbootthh iinnppuuttss ggoo llooww
ddeellaayy iiss 00..6699 RRpp//22 CCLL
–– oonnee iinnppuutt ggooeess llooww
ddeellaayy iiss 00..6699 RRpp CCLL
HHiigghh ttoo llooww ttrraannssiittiioonn
–– bbootthh iinnppuuttss ggoo hhiigghh
ddeellaayy iiss 00..6699 22RRnn CCLL
A
Rn
C
B
Voltage[V]
DDeellaayy DDeeppeennddeennccee oonn IInnppuutt PPaatttteerrnnss
3
2.5
2
1.5
1
0.5
0
-0.5
time [ps] NMOS = 0.5m/0.25 m
PMOS = 0.75m/0.25 m
VLSI CL = 100 fF
A=B=10
A=1, B=10
0 100 200 300 400
IInnppuutt DDaattaa
PPaatttteerrnn
DDeellaayy
((ppsseecc))
00001111 6699
11001111 6622
00111111 5500
11110000 3355
11111100 7766
11110011 5577
FFaann--IInn CCoonnssiiddeerraattiioonnss
A B C D
A
B C3
CL Distributed RC model
(Elmore delay)
C C2
D C1
tdHL = 0.69 Reqn(C1+2C2+3C3+4CL)
Propagation delay deteriorates
rapidly as a function of fan-in –
quadratically in the worst case.
ttpp aass aa FFuunnccttiioonn ooff FFaann--IInn
1250
1000
750
500
250
quadratic
Gates with a
fan-in
greater than
4 should be
avoided.
0
2 4 6 8 10 12 14 16
fan-in
tp
HL
td
tp(psec)
CCMMOOSS LLooggiicc GGaattee DDeellaayyss
 UUssiinngg LLooggiiccaall EEffffoorrtt ttoo ssiimmpplliiffyy ddeellaayy ccaallccuullaattiioonn
 HHeellppss iinn ddeecciiddiinngg
–– TTrraannssiissttoorr ssiizziinngg
–– NNuummbbeerr ooff ssttaaggeess
–– CCiirrccuuiitt TTooppoollooggyy
 BBaasseedd oonn wwoorrkk bbyy SSuutthheerrllaanndd,, SSpprroouullll,, aanndd
HHaarrrriiss ((11999999))
LLooggiiccaall EEffffoorrtt
 CChhaarraacctteerriizzee pprroocceessss ssppeeeedd wwiitthh ddeellaayy
ppaarraammeetteerr ttpp00
–– dd == ddaabbss// ttpp00
–– ttpp00 ≈≈ 2200ppss ffoorr aa ..2255 mmiiccrroonn pprroocceessss
 PPrroocceessss iinnddeeppeennddeenntt ddeellaayy hhaass ttwwoo
ccoommppoonneennttss
–– dd==pp++hh
–– hh iiss tthhee eeffffoorrtt ddeellaayy
–– pp iiss tthhee ppaarraassiittiicc ddeellaayy
LLooggiiccaall EEffffoorrtt
 EEffffoorrtt ddeellaayy hhaass ttwwoo ccoommppoonneennttss
–– hh==gg**ff
–– gg iiss tthhee llooggiiccaall eeffffoorrtt
–– ff iiss tthhee eelleeccttrriiccaall eeffffoorrtt oorr eeffffeeccttiivvee ffaannoouutt
 PPaarraassiittiicc ddeellaayy iiss tthhee ddeellaayy dduuee ttoo iinnttrriinnssiicc
ddeellaayy ooff ggaattee -- mmoossttllyy tthhee ddrraaiinn ccaappaacciittaannccee
–– IInnddeeppeennddeenntt ooff oouuttppuutt llooaadd aanndd ssiizziinngg
–– AApppprrooxxiimmaatteellyy eeqquuaall ttoo 11 ffoorr aann iinnvveerrtteerr
LLooggiiccaall EEffffoorrtt
 LLooggiiccaall eeffffoorrtt iiss aa mmeeaassuurree ooff tthhee ggaattee’’ss
aabbiilliittyy ttoo ddeelliivveerr ccuurrrreenntt
–– AAnn iinnvveerrtteerr hhaass aa llooggiiccaall eeffffoorrtt ooff 11
–– DDeeppeennddss oonnllyy oonn ttooppoollooggyy nnoott oonn pprroocceessss oorr
ssiizziinngg
 EElleeccttrriiccaall eeffffoorrtt iiss aa mmeeaassuurree ooff ffaannoouutt
–– CCoouutt//CCiinn
LLooggiiccaall EEffffoorrtt
 LLooggiiccaall EEffffoorrtt aassssiiggnnmmeenntt
–– RRaattiioo ooff tthhee ggaattee’’ss iinnppuutt ccaappaacciittaannccee ttoo tthhee
iinnppuutt ccaappaacciittaannccee ooff aann iinnvveerrtteerr ddeelliivveerriinngg
tthhee ssaammee aammoouunntt ooff ccuurrrreenntt
–– CCaann bbee ddeerriivveedd tthhrroouugghh ssiimmuullaattiioonnss aanndd
aaccccuurraattee mmeeaassuurreemmeenntt
–– OOrr tthhrroouugghh eessttiimmaattiioonnss bbaasseedd oonn ttrraannssiissttoorr
wwiiddtthhss
LLooggiiccaall EEffffoorrtt
2x
1x
 IInnvveerrtteerr
A A
Cin  3
g  LogicalEffort 1
LLooggiiccaall EEffffoorrtt
 NNAANNDD
2x 2x
A AB
2x
Cin  4
g  LogicalEffort  4 /3
2x
B
LLooggiiccaall EEffffoorrtt
 NNOORR
4x
B
4x
A A+B
1x 1x
Cin  5
g  LogicalEffort  5 /3
LLooggiiccaall EEffffoorrtt
6x
6x
6x g
1x 1x 1x
 NNOORR
C

B
Cin  7
 LogicalEffort  7 /3
A A+B+C
LLooggiiccaall EEffffoorrtt
B
F
Cin A
 7
gA
 LogicalEffort  7 /3
A
B
C
4x B 4x C 4x
4x C 4x
3x C 2x
3x B 2x
3x
A
NNuummbbeerr
ooff iinnppuuttss
11 22 33 nn
IINNVV 11
NNAANNDD 44//33 55//33 ((nn++22))//33
NNOORR 55//33 77//33 ((22nn++11))//33
 PPaarraassiittiicc ddeellaayy
NNuummbbeerr
ooff iinnppuuttss
11 22 33 nn
IINNVV ppiinnvv
NNAANNDD 22 ppiinnvv 33 ppiinnvv nn ppiinnvv
NNOORR 22 ppiinnvv 33 ppiinnvv nn ppiinnvv
 EExxaammppllee:: IInnvveerrtteerr rriinngg oosscciillllaattoorr
 EEssttiimmaattee tthhee ffrreeqquueennccyy ooff tthhee oosscciillllaattoorr
…
 EExxaammppllee:: IInnvveerrtteerr rriinngg oosscciillllaattoorr
 ggii==11
 ffii ==11
 ppii ==11
 ddii == ggii ffii ++ ppii ==22
…
 EExxaammppllee:: IInnvveerrtteerr rriinngg oosscciillllaattoorr
 TToottaall ddeellaayy == NN••ddii •• ttpp00 == 22NN ttpp00
 FFrreeqquueennccyy ==11//((44NN ttpp00))
…
 EExxaammppllee:: FFOO44 IInnvveerrtteerr ((FFaannoouutt ooff 44))
 ggii==11
 ffii ==44
 ppii ==11
 ddii == ggii ffii ++ ppii == 55
 MMuullttiissttaaggee llooggiicc nneettwwoorrkkss
A
B
 FFiinndd ppaatthh ddeellaayy
z
 MMuullttiissttaaggee llooggiicc nneettwwoorrkkss
10
A w
x y 20
B
g=1
f=w/10
g=4/3
f=x/w
g=5/3
f=y/x
g=1
f=z/y
g=5/3
f=20/z
•Path Parasitic Delay
P  pi
•Path Delay
D  P  gi fi
•How do we minimize D? How do we select the sizing?
PPaatthh eeffffoorrtt iiss aann iinnddiirreecctt mmeeaassuurree ooff tthhee ppaatthh ddeellaayy
•Path Electrical Effort F 
Cout
Cin
 fi
•Path Logical Effort G  gi
•Path Effort H  GF
• The above does not include any consideration of the effect of
fanout within the path
• H counts only the fanout of the output
• We need to express the branching behavior along the path
 BBrraanncchhiinngg EEffffoorrtt
A
B
b 
Con path Coff  path
Con path
B  bi

Ctotal
Cuseful
FB 
Cout
Cin
bi  fi
 PPaatthh EEffffoorrtt
H  GFB  gi
 PPaatthh DDeellaayy
D  P  gi fi
fi  gi fi
 MMiinniimmiizzeedd wwhheenn eeaacchh ssttaaggee ddeellaayy iiss eeqquuaall
gi fi  hˆ
D  P  Nhˆ
 P  N
N
H
N
H
 WWoorrkk bbaacckkwwaarrddss ttoo aassssiiggnn ssiizziinngg
gi fi 

fi 
gi
N
H
N
H
1
 EExxaammppllee
10
A w
B
x y
z 20
g=1
f=w/10
g=4/3
f=x/w
G  g
g=5/3
f=y/x
4 5 5
 1


g=1
f=z/y
100



g=5/3
f=20/z
F 
Cout
Cin
B 1
i
3 3

20
 2
10
3 27
H  GFB 
100
 2 1 
200
27 27
200
5
27
3 3
z
10
A w
x y 20
B
g=1
f=w/10
g=4/3
f=x/w
hˆ

ˆ
g=5/3
f=y/x
 1.49
5 20
g=1
f=z/y
g=5/3
f=20/z
h  g5 f5  
3 z
1.49  z  22.3
hˆ g f  1
z
4
y
 1.49  y  15.0
hˆ g f 
5

y
3 x
 1.49  x  16.8
hˆ g f 4 x
   1.49  w  15.0
2 2
3 w
N
H
4
EExxaammppllee
A
B
G  gi
z
10
 1
4

4
3 3
F 
Cout
Cin

10
10
1
B 
Ctotal
Conpath

2z
 2
z
H  GFB 
4
10 2 
80
3 3
1 z
1 z
N
H
EExxaammppllee
z
A
B 10
hˆ 



 5.16
hˆ g f 
4

10  5.16  z  2.58
2 2
3 z
80
3
NNeexxtt ccllaassss
LLaayyoouutt
RReeaadd CChhaapptteerr 22..33 aanndd IInnsseerrtt AA
NNoo ooffffiiccee hhoouurrss ttoommoorrrrooww
HHoommeewwoorrkk 33 oonn wweebbssiittee dduuee 22//2222
TTooppiiccss
LLaayyoouutt SSttyylleess
LLaayyoouutt SSttrraatteeggiieess
33DD PPeerrssppeeccttiivvee
33DD PPeerrssppeeccttiivvee
Polysilicon Aluminum
DDeessiiggnn RRuulleess
IInntteerrffaaccee bbeettwweeeenn ddeessiiggnneerr aanndd pprroocceessss eennggiinneeeerr
GGuuiiddeelliinneess ffoorr ccoonnssttrruuccttiinngg pprroocceessss mmaasskkss
UUnniitt ddiimmeennssiioonn:: MMiinniimmuumm lliinnee wwiiddtthh
–– ssccaallaabbllee ddeessiiggnn rruulleess:: llaammbbddaa ppaarraammeetteerr
–– aabbssoolluuttee ddiimmeennssiioonnss ((mmiiccrroonn rruulleess))
CCMMOOSS PPrroocceessss LLaayyeerrss
Yellow
Green
Green
Red
Blue
Magenta
Black
Black
Black
Well (p,n)
Active Area (n+,p+)
Select (p+,n+)
Polysilicon
Metal1
Metal2
Contact To Poly
Contact To Diffusion
Via
RepresentationColorLayer
LLaayyeerrss iinn 00..2255 mm CCMMOOSS
pprroocceessss
LLaayyoouutt SSttyylleess
HHoorriizzoonnttaall ffllooww ((vveerrttiiccaall ttrraannssiissttoorrss))
VDD
VIN
VOUT
VSS
LLaayyoouutt SSttyylleess
HHoorriizzoonnttaall ffllooww ((hhoorriizzoonnttaall ttrraannssiissttoorrss))
VVeerrttiiccaall ffllooww ((hhoorriizzoonnttaall ttrraannssiissttoorrss))
SSttaannddaarrdd cceellll ddeessiiggnn
WWiirriinngg TTrraacckkss
AA wwiirriinngg ttrraacckk iiss tthhee ssppaaccee rreeqquuiirreedd ffoorr aa wwiirree
–– 44  wwiiddtthh,, 44  ssppaacciinngg ffrroomm nneeiigghhbboorr == 88  ppiittcchh
TTrraannssiissttoorrss aallssoo ccoonnssuummee oonnee wwiirriinngg ttrraacckk
WWeellll ssppaacciinngg
 WWeellllss mmuusstt ssuurrrroouunndd ttrraannssiissttoorrss bbyy 66 
–– IImmpplliieess 1122  bbeettwweeeenn ooppppoossiittee ttrraannssiissttoorr ffllaavvoorrss
–– LLeeaavveess rroooomm ffoorr oonnee wwiirree ttrraacckk
AArreeaa EEssttiimmaattiioonn
– MultiplyMultiply byby 88 toto
expressexpressinin 
 EEssttiimmaattee aarreeaa bbyy ccoouunnttiinngg wwiirriinngg ttrraacckkss
–
EExxaammppllee:: OO33AAII
LLaayyoouutt ssttrraatteeggiieess
 HHooww ddoo yyoouu ddeecciiddee oonn aa llaayyoouutt??
–– AArreeaa ccoonnssttrraaiinnttss
–– RReeqquuiirreemmeennttss ooff iinnppuuttss aanndd oouuttppuuttss
–– MMeettaall llaayyeerr iinntteerrccoonnnneecctt
–– DDiiffffiiccuulltt ffoorr mmuullttii--iinnppuutt ggaatteess
HHooww ddoo yyoouu ddeecciiddee oonn oorrddeerr ooff iinnppuuttss??
D
C
E
 EEuulleerr ppaatthh mmeetthhoodd
 CCoonnvveerrtt sscchheemmaattiicc iinnttoo aa ggrraapphh
 EEgg.. FF==AABB++CC++DDEE
A
B
y
A
D
C
B E
C
B
C
E
LLaayyoouutt ssttrraatteeggiieess
A A B
D D E
LLaayyoouutt ssttrraatteeggiieess
C
•Find common path in both graphs (Euler path)
A B
D E
•A to B to C to D to E
A
D
C
B E
LLaayyoouutt ssttrraatteeggiieess
A B C D E F
LLaayyoouutt ssttrraatteeggiieess
 EEuulleerr ppaatthh mmeetthhoodd
–– NNoott aallwwaayyss gguuaarraanntteeeedd ttoo ffiinndd aa EEuulleerr ppaatthh
–– FFoor eexxaammppllee,, iiff tthhee ffuunnccttiioonn wwaass
FF==CC++AABB++DDEE
–– IIff nnoo EEuulleerr ppaatthh ffoouunndd,, yyoouu wwiillll nneeeedd ttoo bbrreeaakk
tthhee ggaattee,, oorr rreeaarrrraannggee tthhee iinnppuuttss
LLaayyoouutt ssttrraatteeggiieess
 HHooww ddoo yyoouu ddeecciiddee oonn aa llaayyoouutt??
–– AArreeaa ccoonnssttrraaiinnttss
–– RReeqquuiirreemmeennttss ooff iinnppuuttss aanndd oouuttppuuttss
–– MMeettaall llaayyeerr iinntteerrccoonnnneecctt
–– PPeerrffoorrmmaannccee ccoonnssiiddeerraattiioonnss
LLaayyoouutt ssttrraatteeggiieess
 VVeerryy wwiiddee ttrraannssiissttoorrss
–– MMuullttiippllee ccoonnttaaccttss ttoo rreedduuccee ddiiffffuussiioonn
rreessiissttaannccee
–– FFoollddiinngg ttoo rreedduuccee ddiiffffuussiioonn ccaappaacciittaannccee
LLaayyoouutt ssttrraatteeggiieess
W/2
W
LLaayyoouutt ssttrraatteeggiieess
 PPeerrffoorrmmaannccee iimmpplliiccaattiioonnss
–– NNuummbbeerr ooff ttrraannssiissttoorrss aatt oouuttppuutt
–– OOrrddeerr ooff ttrraannssiissttoorrss
LLaayyoouutt ssttrraatteeggiieess
B
A+B
A A+B
A B
LLaayyoouutt ssttrraatteeggiieess
B
A+B
A A+B
A B
Merged drain reduces output capacitance
which will decrease switching time
LLaayyoouutt ssttrraatteeggiieess
B
C
(A+B)C
B
(A+B)C
A
C A B C
LLaayyoouutt ssttrraatteeggiieess
B
(A+B)C
A
A B C
Move higher capacitances closer to ground
and away from output
C
(A+B)C
B
C
LLaayyoouutt ssttrraatteeggiieess
(A+B)C (A+B)C
A B C A B C
Merged drain at A&B may cause the gate
to become wider
LLaayyoouutt ssttrraatteeggiieess
•Ordering of inputs
A AB
• If A arrives before B, it will charge upthe
capacitance to VDD. When B arrives, it
needs to discharge the capacitor.
• If B arrives before A, the capacitor will be
discharged before A arrives.
• Try and put the early arriving signalclose
to ground - can speed NAND up to 20%
B
LLaayyoouutt CChhooiicceess
 HHoorriizzoonnttaall ttrraannssiissttoorrss
–– WWhheenn FFEETT ssiizzeess aarree ssiimmiillaarr
–– WWhheenn ddaattaa iiss iinn aa vveerrttiiccaall ffllooww
 VVeerrttiiccaall ttrraannssiissttoorrss
–– DDiiffffeerreenntt ssiizzee FFEETTss
–– HHoorriizzoonnttaall ddaattaa ffllooww
–– MMoorree ccoommpplleexx ffuunnccttiioonnss
LLaayyoouutt cchhooiicceess
LLaayyoouutt cchhooiicceess
 IInntteerrccoonnnneecctt
–– KKeeeepp VVDDDD aanndd VVSSSS iinn tthhee hhiigghheesstt lleevveell mmeettaall
–– WWiitthhiinn aa ssiinnggllee cceellll,, uussee aa ssiinnggllee llaayyeerr ooff mmeettaall ssoo yyoouu ccaann
rroouuttee ootthheerr mmeettaall llaayyeerrss aabboovvee tthhee cceellll
–– LLiimmiitt tthhee uussee ooff vviiaass -- ccaann bbee uupp ttoo 5500 ppeerr vviiaa
–– DDoonn’’tt hhaavvee lloonngg rruunnss ooff ppoollyy
LLaayyoouutt cchhooiicceess
 CCoonnssiiddeerr hhooww llooww lleevveell cceellllss wwiillll
iinntteerrccoonnnneecctt wwiitthh eeaacchh ootthheerr
 MMiinniimmiizzee llooccaallllyy aanndd ccoommppaacctt gglloobbaallllyy
 FFiinndd ccrriittiiccaall aarreeaass ffiirrsstt aanndd tthheenn ooppttiimmiizzee
LLaayyoouutt PPrroocceessss
 DDeessiiggnn RRuullee CChheecckk ((DDRRCC))
–– CChheecckk iiff aallll ddeessiiggnn rruulleess aarree mmeett
 LLaayyoouutt vvss.. SScchheemmaattiicc ((LLVVSS))
–– MMaakkee ssuurree tthhaatt tthhee llaayyoouutt mmaattcchheess yyoouurr
sscchheemmaattiicc
NNeexxtt ccllaassss
 EExxaamm 11
 PPoowweerr DDiissssiippaattiioonn
 FFiinnaall PPrroojjeecctt
TTooppiiccss
PPoowweerr DDiissssiippaattiioonn
TTeecchhnnoollooggyy SSccaalliinngg
FFiinnaall PPrroojjeecctt
WWhheerree DDooeess PPoowweerr GGoo iinn CCMMOOSS??
• Dynamic Power Consumption
Charging and Discharging Capacitors
• Short Circuit Currents
Short Circuit Path between Supply Rails during Switching
• Leakage
Leaking diodes and transistors
PPoowweerr ddiissssiippaattiioonn
 SSttaattiicc ppoowweerr ddiissssiippaattiioonn
–– IInn tthheeoorryy,, CCMMOOSS hhaass nnoo ssttaattiicc ppoowweerr ddiissssiippaattiioonn
–– TThheerree iiss aa sslliigghhtt ccuurrrreenntt ((ssuubbtthhrreesshhoolldd lleeaakkaaggee ccuurrrreenntt aanndd ggaattee
lleeaakkaaggee ccuurrrreenntt)) oonn tthhee oorrddeerr ooff ..11--..55nnAA ppeerr ddeevviiccee
–– AAtt 55VV ssuuppppllyy vvoollttaaggee,, ..55--22..55 nnWW ssttaattiicc ppoowweerr ddiissssiippaattiioonn ppeerr
ddeevviiccee
–– MMiilllliioonn ggaattee cchhiipp wwiillll hhaavvee ..55--22..55 mmWW ssttaattiicc ppoowweerr ddiissssiippaattiioonn
PPoowweerr ddiissssiippaattiioonn
 DDyynnaammiicc ppoowweerr ddiissssiippaattiioonn
–– PPrrooppoorrttiioonnaall ttoo llooaadd ccaappaacciittaannccee aanndd ffrreeqquueennccyy
–– PPrrooppoorrttiioonnaall ttoo ssqquuaarree ooff tthhee ssuuppppllyy vvoollttaaggee
CCuurrrreenntt ttrreenndd iiss ttoo rreedduuccee ssuuppppllyy vvoollttaaggeess ttoo rreedduuccee ppoowweerr
RReedduucceedd ssuuppppllyy vvoollttaaggee wwiillll iinnccrreeaassee ddeellaayyss hhoowweevveerr
–– NNoott ddeeppeennddeenntt oonn ddeevviiccee ppaarraammeetteerrss
PPoowweerr ddiissssiippaattiioonn
 DDyynnaammiicc ppoowweerr ddiissssiippaattiioonn
–– SSwwiittcchhiinngg ccaauusseess sshhoorrtt bbuurrssttss ooff ccuurrrreenntt ffllooww wwhhiicchh wwiillll
ccaauussee ppoowweerr ddiissssiippaattiioonn
i n(t)
Vout Vout
i p(t)
 
PPoowweerr ddiissssiippaattiioonn
 DDyynnaammiicc ppoowweerr ddiissssiippaattiioonn
1  T
T 
P   2 in (t)Vout dt  T ip (t)VDD Vout 
T  0
2 

1
C  V dV  C VDD
V
V dV
T  L
C V
VDD
2
out
V 2 
out L 0 DD out
out 
L
 DD
 DD

T  2 2 
 CLVDD
2
f
0
V f2
PPoowweerr ddiissssiippaattiioonn
EExxaammppllee
VDD  5V
f  1GHz
CL  1pF
P  CL DD
 1pf  52
1GHz
 25mW
E01 = CL
 Vdd
 Vdd – Vt
Modification for Circuits with Reduced Swing
Vdd
Vdd
Vdd -Vt
CL
Can exploit reduced swing to lower power
(e.g., reduced bit-line swing in memory)
PPoowweerr ddiissssiippiiaattiioonn
SShhoorrtt cciirrccuuiitt ccuurrrreenntt ddiissssiippaattiioonn
–– SShhoorrtt cciirrccuuiitt ccuurrrreenntt ooccccuurrss wwhheenn bbootthh ttrraannssiissttoorrss aarree
oonn tteemmppoorraarriillyy
–– PPrrooppoorrttiioonnaall ttoo tthhee rraattiioo ooff rriissee ttiimmee ttoo TT
–– SSiinnccee tthhee rriissee ttiimmee iiss uussuuaallllyy mmuucchh lleessss tthhaann TT,, iitt ccaann
bbee uussuuaallllyy iiggnnoorreedd
CL
Vin (V)
5.04.03.02.01.0
0.05
0.0
A
m(
D
D
I V
)
0.10
0.15
SShhoorrtt CCiirrccuuiitt CCuurrrreennttss
Vdd
Vin Vout
MMiinniimmiizziinngg SShhoorrtt--CCiirrccuuiitt PPoowweerr
8
7
6
5
m
r
o
n
P
3
2
1
0
0 1 2 3 4 5
t /t
sin sout
Vdd =3.3
Vdd =2.5
Vdd =1.5
4
LLeeaakkaaggee
Vdd
Vout
DrainJunction
Leakage
Sub-Threshold
Current
Sub-threshold current one of most compelling issues
in low-energy circuit design!
p+ p+
N
GATE
+
-
Vdd
RReevveerrssee--BBiiaasseedd DDiiooddee LLeeaakkaaggee
Reverse Leakage Current
IDL = JS
 A
JS = 10-100 pA/m2 at 25 deg C for 0.25m CMOS
JS doubles for every 9 deg C!
SSuubbtthhrreesshhoolldd LLeeaakkaaggee CCoommppoonneenntt
PPrriinncciipplleess ffoorr PPoowweerr RReedduuccttiioonn
PPrriimmee cchhooiiccee:: RReedduuccee vvoollttaaggee!!
–– RReecceenntt yyeeaarrss hhaavvee sseeeenn aann aacccceelleerraattiioonn iinn ssuuppppllyy
vvoollttaaggee rreedduuccttiioonn
–– DDeessiiggnn aatt vveerryy llooww vvoollttaaggeess ssttiillll ooppeenn qquueessttiioonn ((00..66 ……
00..99 VV bbyy 22001100!!))
RReedduuccee sswwiittcchhiinngg aaccttiivviittyy
RReedduuccee pphhyyssiiccaall ccaappaacciittaannccee
–– DDeevviiccee SSiizziinngg:: ffoorr FF==2200
ffoopptt((eenneerrggyy))==33..5533,, ffoopptt((ppeerrffoorrmmaannccee))==44..4477
GGooaallss ooff TTeecchhnnoollooggyy SSccaalliinngg
 MMaakkee tthhiinnggss cchheeaappeerr::
–– WWaanntt ttoo sseellll mmoorree ffuunnccttiioonnss ((ttrraannssiissttoorrss)) ppeerr cchhiipp ffoorr
tthhee ssaammee mmoonneeyy
–– BBuuiilldd ssaammee pprroodduuccttss cchheeaappeerr,, sseellll tthhee ssaammee ppaarrtt ffoorr
lleessss mmoonneeyy
–– PPrriiccee ooff aa ttrraannssiissttoorr hhaass ttoo bbee rreedduucceedd
 BBuutt aallssoo wwaanntt ttoo bbee ffaasstteerr,, ssmmaalllleerr,, lloowweerr ppoowweerr
TTeecchhnnoollooggyy SSccaalliinngg
 GGooaallss ooff ssccaalliinngg tthhee ddiimmeennssiioonnss bbyy 3300%%::
–– RReedduuccee ggaattee ddeellaayy bbyy 3300%% ((iinnccrreeaassee ooppeerraattiinngg ffrreeqquueennccyy
bbyy 4433%%))
–– DDoouubbllee ttrraannssiissttoorr ddeennssiittyy
–– RReedduuccee eenneerrggyy ppeerr ttrraannssiittiioonn bbyy 3300%%
 DDiiee ssiizzee uusseedd ttoo iinnccrreeaassee bbyy 1144%% ppeerr ggeenneerraattiioonn
 TTeecchhnnoollooggyy ggeenneerraattiioonn ssppaannss 22--33 yyeeaarrss
TTeecchhnnoollooggyy SSccaalliinngg MMooddeellss
• Full Scaling (Constant Electrical Field)
ideal model — dimensions and voltage scale
together by the same factor S
• Fixed Voltage Scaling
most common model until recently —
only dimensions scale, voltages remain constant
• General Scaling
most realistic for todays situation —
voltages and dimensions scale with different factors
SSccaalliinngg RReellaattiioonnsshhiippss ffoorr LLoonngg CChhaannnneell DDeevviicceess
TTrraannssiissttoorr SSccaalliinngg
((vveelloocciittyy--ssaattuurraatteedd ddeevviicceess))
TTeecchhnnoollooggyy GGeenneerraattiioonnss
TTeecchhnnoollooggyy EEvvoolluuttiioonn ((22000000 ddaattaa))
International Technology Roadmap for Semiconductors
YYeeaarr ooff IInnttrroodduuccttiioonn 11999999 22000000 22000011 22000044 22000088 22001111 22001144
TTeecchhnnoollooggyy nnooddee
[[nnmm]]
118800 113300 9900 6600 4400 3300
SSuuppppllyy [[VV]] 11..55--11..88 11..55--11..88 11..22--11..55 00..99--11..22 00..66--00..99 00..55--00..66 00..33--00..66
WWiirriinngg lleevveellss 66--77 66--77 77 88 99 99--1100 1100
MMaaxx ffrreeqquueennccyy
[[GGHHzz]],,LLooccaall--GGlloobbaall
11..22 11..66--11..44 22..11--11..66 33..55--22 77..11--22..55 1111--33
1144..99
--33..66
MMaaxx PP ppoowweerr [[WW]] 9900 110066 113300 116600 117711 117777 118866
BBaatt.. ppoowweerr [[WW]] 11..44 11..77 22..00 22..44 22..11 22..33 22..55
Node years: 2007/65nm, 2010/45nm, 2013/33nm, 2016/23nm
TTeecchhnnoollooggyy EEvvoolluuttiioonn ((11999999))
TTeecchhnnoollooggyy SSccaalliinngg ((11))
2
10
1
10
0
10
-1
10
-2
10
1960 1970 1980 1990 2000 2010
MMiinniimmuumm FFeeaattuurree SSiizzee
TTeecchhnnoollooggyy SSccaalliinngg ((22))
NNuummbbeerr ooff ccoommppoonneennttss ppeerr cchhiipp
TTeecchhnnoollooggyy SSccaalliinngg ((33))
PPrrooppaaggaattiioonn DDeellaayy
tp decreases by 13%/year
50% every 5 years!
PowerDissipation(W)
PowerDensity(mW/mm2)
TTeecchhnnoollooggyy SSccaalliinngg ((44))
100 1000
10
100
1
10
0.1
0.01
80 85 90 95
Year
1
1 10
Scaling Factor 
?i normalized by 4m design rule?j
(a) Power dissipation vs. year. (b) Power density vs. scaling factor.
MPU
DSP
PPrroocceessssoorr SSccaalliinngg
PPrroocceessssoorr PPoowweerr
22001100 OOuuttllooookk
 PPeerrffoorrmmaannccee 22XX//1166 mmoonntthhss
–– 11 TTIIPP ((tteerrrraa iinnssttrruuccttiioonnss//ss))
–– 3300 GGHHzz cclloocckk
 SSiizzee
–– NNoo ooff ttrraannssiissttoorrss:: 22 BBiilllliioonn
–– DDiiee:: 4400**4400 mmmm
 PPoowweerr
–– 1100kkWW!!!!
–– LLeeaakkaaggee:: 11//33 aaccttiivvee PPoowweerr
SSoommee iinntteerreessttiinngg qquueessttiioonnss
 WWhhaatt wwiillll ccaauussee tthhiiss mmooddeell ttoo bbrreeaakk??
 WWhheenn wwiillll iitt bbrreeaakk??
 WWiillll tthhee mmooddeell ggrraadduuaallllyy ssllooww ddoowwnn??
–– PPoowweerr aanndd ppoowweerr ddeennssiittyy
–– LLeeaakkaaggee
–– PPrroocceessss VVaarriiaattiioonn
FFiinnaall PPrroojjeecctt
 TTeeaammss ooff ttwwoo
 CChhoooossee yyoouurr oowwnn pprroojjeecctt
 IIff yyoouu wwaanntt ttoo ffaabbrriiccaattee cchhiipp,, yyoouu aarree
lliimmiitteedd ttoo aa 11..55 mmmm ssqquuaarree -- rroouugghhllyy 55--
1100000000 ttrraannssiissttoorrss
FFiinnaall PPrroojjeecctt
 SSpprriinngg 22000033 -- SSeeaarrcchh EEnnggiinnee PPrroocceessssoorr
FFiinnaall PPrroojjeecctt
 SSpprriinngg 22000044 -- EEnnccooddeerr//DDeeccooddeerr
FFiinnaall PPrroojjeecctt
 IImmppoorrttaanntt DDaatteess
–– PPrrooppoossaall dduuee MMaarrcchh 33rrdd
–– AArrcchhiitteeccttuurree dduuee MMaarrcchh 1177tthh
–– LLooggiicc DDeessiiggnn dduuee MMaarrcchh 3311sstt
–– DDeemmoonnssttrraattiioonnss AApprriill 2266--2288tthh
–– FFiinnaall PPrroojjeecctt RReeppoorrtt dduuee AApprriill 2299tthh
–– PPrreesseennttaattiioonn AApprriill 2288tthh
NNeexxtt CCllaassss
 EExxaamm 11
–– LLeeccttuurreess 11--1100
–– HHWW11--33
–– CChhaapptteerrss 11--66
TTooppiiccss
AArriitthhmmeettiicc OOppeerraattoorrss
PPoowweerr ddiissssiippaattiioonn
 
 C V f
 T
T 
P   2 in (t)Vout dt  T ip (t)VDD Vout 
T  0
2 

1
C  V dV  C VDD
V
V dV
T  L
C V
VDD
2
out
V 2 
out L 0 DD out
out 
L
 DD
 DD

T  2 2 
2
L DD 01
P  CLVDD 01 f
 iiss tthhee aaccttiivviittyy ffaaccttoorr -- II..ee.. tthhee pprroobbaabbiilliittyy
tthhaatt aa cclloocckk eevveenntt rreessuullttss iinn aa 0011
ttrraannssiittiioonn
0
2

V 2
PPoowweerr ddiissssiippaattiioonn
EExxaammppllee -- NNAANNDD ggaattee wwiitthh iinnddeeppeennddeenntt aanndd
uunniiffoorrmmllyy ddiissttrriibbuutteedd iinnppuuttss..
–– PPrroobbaabbiilliittyy ooff NNAANNDD ggaattee oouuttppuuttss:: PP00==00..2255 aanndd PP11==00..7755..
–– TThheerreeffoorree,, pprroobbaabbiilliittyy ooff 0011 ttrraannssiittiioonn iiss 0011 == PP00PP11 ==
00..11887755
VDD  5V
f  1GHz
CL  1pF
P  CL DD 01 f
1pf  52
 0.1875 1GHz
 4.7mW
BBuuiillddiinngg BBlloocckkss ffoorr DDiiggiittaall
AArrcchhiitteeccttuurreess
Arithmetic unit
- Bit-sliced datapath (adder, multiplier, shifter, comparator, etc.)
Memory
- RAM, ROM, Buffers, Shift registers
Control
- Finite state machine (PLA, random logic.)
- Counters
Interconnect
- Switches
- Arbiters
- Bus
DDaattaappaatthh ooppeerraattoorrss
 OOppeerraattee oonn mmuullttiippllee bbiittss aatt oonnccee
 AAlllloowwss ttiigghhtt ddeessiiggnn ooff sseevveerraall eelleemmeennttss
–– AArriitthhmmeettiicc//llooggiicc ffuunnccttiioonnss,, sshhiifftteerrss
–– RReeggiisstteerrss,, RReeggiisstteerr FFiilleess
–– WWiirreess,, bbuusseess
CCoonnttrrooll
 CCoonnttrrooll ssiiggnnaallss ddeetteerrmmiinnee tthhee ffllooww ooff ddaattaa
aalloonngg tthhee ddaattaappaatthh
 FFuuccttiioonnaall ccoonnttrrooll ooff ddaattaa
–– WWhheetthheerr ttoo aadddd oorr ssuubbttrraacctt
–– WWhheenn ttoo ssttoorree ttoo wwhhaatt rreeggiisstteerr
–– WWhhiicchh wwiirreess ttoo ttrraannssmmiitt ddaattaa oonn
DDaattaappaatthh aanndd CCoonnttrrooll
 SSeeppaarraattiioonn ooff ddaattaappaatthh aanndd ccoonnttrrooll
ssiimmpplliiffiieess ddeessiiggnn
 LLaayyoouutt ssttrraatteeggyy
–– DDaattaappaatthh hhoorriizzoonnttaall iinn mmeettaall22
–– CCoonnttrrooll vveerrttiiccaall iinn mmeettaall11
DDaattaappaatthh ddeessiiggnn
 CCoommppoonneennttss
–– SSttoorraaggee eelleemmeennttss ((rreeggiisstteerrss,, llaattcchheess,, eettcc..))
–– OOppeerraattoorrss ((aaddddeerrss,, sshhiifftteerrss,, ccoommppaarraattoorrss,, eettcc..))
–– IInntteerrccoonnnneecctt ((bbuusseess,, wwiirreess))
 CChhaarraacctteerriissttiiccss
–– WWiiddee ddaattaa ttrraannssffeerrss ffoorr rreegguullaarriittyy aanndd mmoodduullaarriittyy
–– LLaarrggee ccaappaacciittaanncceess oonn bbuusseess -- ccrroossss--ccoouupplliinngg
–– LLaarrggee ffaannoouutt oonn bbuusseess
–– CCrriittiiccaall ppaatthh oonn ccaarrrryy ssiiggnnaallss
DDaattaappaatthh ooppeerraattoorrss
 FFuullll AAddddeerr
Sum  A  B  C
Cout  AB  BC  AC
A
B Sum
C
A
B
A
Cout
C
B
C
DDaattaappaatthh ooppeerraattoorrss
 FFuullll AAddddeerr
Sum  A  B  C
 ABC  ABC  ABC  ABC
 ABC  A  B  CAB  BC  AC
 ABC  A  B  CA  BB  CA  C
 ABC  A  B  CAB  BC  AC
 ABC  A  B  CCout
DDaattaappaatthh ooppeerraattoorrss


 FFuullll AAddddeerr
A
B
C
B
C
Cout
A
B
C
A Sum
B
C
DDaattaappaatthh ooppeerraattoorrss
 FFuullll aaddddeerr
Fig. 7.28, “CMOS Digital Integrated Circuits”, Kang and Leblebici
DDaattaappaatthh ooppeerraattoorrss
AB  BC  AC  AB BC  AC
 A  BB  CA  C
 AB  BC  AC
EEqquuiivvaalleenntt dduuaallss
–– PPoossssiibbllee wwhheenn F  FA,B,C,K
–– AAlllloowwss mmuucchh ssiimmpplleerr llaayyoouutt bbeeccaauussee tthhee
ppuullllddoowwnn aanndd ppuulllluupp nneettwwoorrkkss aarree tthhee ssaammee
DDaattaappaatthh ooppeerraattoorrss
C3 C2 C1 C0
 RRiippppllee ccaarrrryy aaddddeerr
An
Bn
Cn
A3
B3 A2
B2 A1
B1 A0
B0
CIN
Sn S3 S2 S0 S0
 CCaarrrryy ddeellaayy iinnccrreeaasseess wwiitthh nnuummbbeerr ooff bbiittss
DDaattaappaatthh ooppeerraattoorrss
 CCaarrrryy llooookkaahheeaadd aaddddeerrss
–– CCaallccuullaattee ccaarrrryy iinn ppaarraalllleell wwiitthh ssuumm
–– EEaacchh ccaarrrryy bbiitt iiss ddeeppeennddeenntt oonn iinnppuuttss oonnllyy --
nnoott pprreevviioouuss ccaarrrryy
Ci  AiBi  AiCi1  BiCi1
C0  A0B0  A0  B0 Cin
C1  A1B1  A1  B1A0B0  A1  B1A0  B0Cin
C2  A2B2  A2  B2A1B1  A2  B2A1  B1A0B0  A2  B2A1  B1A0  B0Cin
Ci  Gi  PiGi1  PiPi1Gi 2  PiPi1Pi 2Gi 3 K PiKP0Cin
DDaattaappaatthh ooppeerraattoorrss
 CCaarrrryy llooookkaahheeaadd aaddddeerrss
–– FFoorr mmoorree tthhaann 44 bbiittss,, tthhee eeffffeecctt ooff ffaannoouutt ccaann bbee ssiiggnniiffiiccaanntt
-- tthhee ddeellaayy tthhrroouugghh tthhee ccaarrrryy ggeenneerraattee llooggiicc ccoouulldd bbee mmoorree
tthhaann tthhee ccaarrrryy rriippppllee ddeellaayy
–– UUssuuaallllyy ddiivviiddee tthhee ddaattaa iinnttoo ffoouurr bbiitt cchhuunnkkss wwiitthh aa hhiieerraarrcchhyy
ooff pprrooppaaggaattee aanndd ggeenneerraattee cciirrccuuiittrryy
DDaattaappaatthh ooppeerraattoorrss
 CCoommppaarraattoorrss
A3
B3
A2
B2
A=B
A1
B1
A0
B0
DDaattaappaatthh ooppeerraattoorrss
 DDeetteeccttiioonn
A3
A2
A=1
A1
A0
A3
A2 A=1
A1
A0
DDaattaappaatthh ooppeerraattoorrss
 SShhiifftteerrss S2 S1 S0

R2
R1
R0
D4
D3
D2
D1
D0
DDaattaappaatthh ooppeerraattoorrss
 WWiiddeerr ddaattaappaatthhss mmeeaannss lloonnggeerr ddeellaayyss
 WWhheenn ddeessiiggnniinngg ddaattaappaatthh ooppeerraattoorrss,,
ttrraaddeeooffff bbeettwweeeenn rriippppllee ddeellaayyss aanndd mmuullttii--
iinnppuutt ggaatteess
DDaattaappaatthh bbuuss ddeessiiggnn
 LLoonngg bbuusseess ttyyppiiccaall iinn ddaattaappaatthhss
 LLaarrggee ccaappaacciittaanncceess dduuee ttoo bbuuss lleennggtthh
aanndd llooaaddiinngg ooff mmuullttiippllee iinnppuuttss
 UUssee pprreecchhaarrggiinngg ttoo ssppeeeedd uupp bbuusseess
DDaattaappaatthh bbuuss ddeessiiggnn
PRECHARGE
CONTROL1
DATA1
CONTROL0
DATA0
CBUS
ECE 249 VLSI Design and Simulation
© John A. Chandy
DDaattaappaatthh bbuuss ddeessiiggnn
DATA
DATA
•Tristate bus
1
0
CBUS
BBiinnaarryy MMuullttiipplliiccaattiioonn
Multiplicand
Multiplier
Partial products
Result
1 0 1 0 1 0
x 1 0 1 1
1 0 1 0 1 0
1 0 1 0 1 0
0 0 0 0 0 0
 1 0 1 0 1 0
1 1 1 0 0 1 1 1 0
TThhee AArrrraayy MMuullttiipplliieerr
Z7 Z6 Z5 Z4 Z3
X3 X2 X1 X0 Y0
X3 X2 X1 X0
Y1
HA FA FA
X3 X2 X1 X0
Y2 Z1
FA FA FA
X3 X2 X1 X0
Y3
HAFAFAFA
HA
HA
FA HA
FA HAFA
FA
FAFA
FA
TThhee MMxxNN AArrrraayy MMuullttiipplliieerr
—— CCrriittiiccaall PPaatthh
Critical Path 1
Critical Path 2
Critical Path 1 & 2
FA
HA HA
CCaarrrryy--SSaavvee MMuullttiipplliieerr
Vector Merging Adder
HA
FA
FAFAHA
FA
HA
HAFAHA
FA
HAHA
FA
HA
FA
NNeexxtt CCllaassss
VVLLSSII LLooggiicc SSttyylleess
RReeaadd CChhaapptteerrss 66..22..22,, 66..22..33,, 66..33,, aanndd 66..44
LLaabb 44 dduuee ttoommoorrrrooww
FFiinnaall PPrroojjeecctt pprrooppoossaallss dduuee TThhuurrssddaayy
HHoommeewwoorrkk 44 dduuee 33//1177
VVLLSSII LLooggiicc SSttrruuccttuurreess
 RRaattiiooeedd LLooggiicc
 PPaassss--TTrraannssiissttoorr LLooggiicc
 DDyynnaammiicc CCMMOOSS
–– DDoommiinnoo LLooggiicc
–– ZZiippppeerr CCMMOOSS
BBiinnaarryy MMuullttiipplliiccaattiioonn
Multiplicand
Multiplier
Partial products
Result
1 0 1 0 1 0
x 1 0 1 1
1 0 1 0 1 0
1 0 1 0 1 0
0 0 0 0 0 0
 1 0 1 0 1 0
1 1 1 0 0 1 1 1 0
WWaallllaaccee--TTrreeee MMuullttiipplliieerr
Partial products First stage
6 5 4 3 2 1 0 6 5 4 3 2 1 0
(a) (b)
Bit position
Second stage Final adder
6 5 4 3 2 1 0 6 5 4 3 2 1 0
FA HA
(c) (d)
WWaallllaaccee--TTrreeee MMuullttiipplliieerr
x3y2 x2y2 x3y1 x1y2 x3y0 x1y1 x2y0 x0y1
Partial products
First stage
Second stage
x3y3 x2y3 x1y3 x0y3 x0y2 x1y0 x0
Final adder
z7 z6 z5 z4 z3 z2 z1 z0
HA HA
FAFAFAFA
RRaattiiooeedd LLooggiicc
PDN PDN
Resistive
Load
VDD
Depletion
Load
VDD
PMOS
Load
VDD
In1
In2
In3
VSS
F
In1
In2
In3
VSS
F
In1
In2
In3
VSS
F
PDN
VSS
(a) resistive load (b) depletion load NMOS (c) pseudo-NMOS
Goal: to reduce the number of devices over complementary CMOS
RL VT < 0
RRaattiiooeedd LLooggiicc
Resistive
VDD
• N transistors + Load
In1
In2
In3
Load
VSS
• VOH = VDD
• VOL = RPN
F RPN +RL
• Assymetrical response
• Static power consumption
• tpL= 0.69 RLCL
RL
PDN
AAccttiivvee LLooaaddss
VDD VDD
Depletion
Load
In1
In2
In3
PDN
VT < 0
F
PMOS
Load
In1
In2
In3
VSS
F
PDN
VSS VSS
depletion load NMOS pseudo-NMOS
PPsseeuuddoo--NNMMOOSS VVTTCC
3.0
2.5
2.0
1.5
1.0
0.5
0.0
0.0 0.5 1.0 1.5 2.0 2.5
Vin [V]
W/Lp = 4
W/Lp = 2
W/Lp = 0.5
W/Lp = 0.25
W/Lp = 1
[V]Vout
M1
M2
B C D
IImmpprroovveedd LLooaaddss
VDD
M1 >> M2
F
CL
A
Adaptive Load
Enable
IImmpprroovveedd LLooaaddss ((22))
VDD VDD
Out
A
A
B
B
Out
VSS VSS
Differential Cascode Voltage Switch Logic (DCVSL)
M1 M2
PDN1 PDN2
DDCCVVSSLL EExxaammppllee
Out
Out
B B B B
A A
XOR-NXOR gate
PPaassss--TTrraannssiissttoorr LLooggiicc
 TTrraannssmmiissssiioonn GGaattee BBaasseedd
A
B
A
OUT
AA BB OOUUTT
00 00 ZZ
00 11 ZZ
11 00 00
11 11 11
EExxaammppllee:: AANNDD GGaattee
B
A
F =AB
0
B
NNMMOOSS--OOnnllyy LLooggiicc
In
Out
x
3.0
VDD
In
1.5m/0.25m
x
2.0
0.5m/0.25m
Out
0.5m/0.25m
1.0
0.0
0 0.5 1 1.5 2
Time [ns]
Voltage[V]
Inverse
Pass-Transistor
Network
CCoommpplleemmeennttaarryy PPaassss TTrraannssiissttoorr LLooggiicc
A
A
B
B
A
A F
B
B
(a)
B B B B B B
A
B
A
B
AND/NAND
F=AB
F=AB
A
B
A
B
OR/NOR
F=A+B
F=A+B
A
A
A
A
EXOR/NEXOR
F=AY
F=AY
(b)
Pass-Transistor
Network F
RReessiissttaannccee ooff TTrraannssmmiissssiioonn
GGaattee
Fig. 7.35, “CMOS Digital Integrated Circuits”, Kang and Leblebici
PPaassss--TTrraannssiissttoorr BBaasseedd MMuullttiipplleexxeerr
S S
S
VDD
A
B
S
VDD
GND
In1 S S In2
S
M2
F
M1
PPaassss--TTrraannssiissttoorr LLooggiicc
A
 XXOORR
AA BB OOUUTT
00 00 00
00 11 11
11 00 11
11 11 00
A
B
A OUT
B
PPaassss--TTrraannssiissttoorr LLooggiicc
 UUssee KKaarrnnaauugghh MMaapp
B
C
A
AND
0011000011
0000000000
1100111100110000
PPaassss--TTrraannssiissttoorr LLooggiicc A
A B
A
B
OUT=
ABC
B
A B
C
C
A
B
•12 transistors vs. 8 transistors
0011000011
0000000000
1100111100110000
A B
PPaassss--TTrraannssiissttoorr LLooggiicc
C
B
A B
OUT=
ABC+ABC
C
A
B A B
A B
•16 transistors vs. 16 transistors
C
0011000011
1100000000
1100111100110000
B
PPaassss--TTrraannssiissttoorr LLooggiicc B
C
A
B
•14 transistors vs. 16 transistors
B
A B
OUT=
ABC+ABC
C
A B
A
C
A
0011000011
1100000000
1100111100110000
PPaassss--TTrraannssiissttoorr LLooggiicc
0011000011
1100000000
1100111100110000
B
C
A B
C
A A
OUT=
B C ABC+ABC
•12 transistors vs. 16 transistors
PPaassss--TTrraannssiissttoorr LLooggiicc
A
B
B
CCrroossss CCoouupplleedd XXOORR
A
B
A OUT
B
A
PPaassss--TTrraannssiissttoorr LLooggiicc
 IInn mmaannyy ccaasseess,, uusseess ffeewweerr ttrraannssiissttoorrss
 CCaann bbee ddiiffffiiccuulltt ttoo ddeessiiggnn
 UUssuuaallllyy rreeqquuiirreess ccoommpplleemmeenntteedd vveerrssiioonnss ooff aallll
ssiiggnnaallss
 DDiiffffiiccuulltt ttoo llaayyoouutt
 DDeellaayy aannaallyyssiiss iiss nnoott aass wweellll ddeeffiinneedd iinn tteerrmmss ooff
ssiizziinngg cchhooiicceess
PPaassss--TTrraannssiissttoorr LLooggiicc
 DDeellaayy cchhaarraacctteerriissttiiccss
–– nnMMOOSS--oonnllyy ppaassss llooggiicc hhaass ffaasstt ffaallll ttiimmeess
–– CCoommpplleemmeennttaarryy ddeessiiggnnss hhaavvee ffaasstteerr rriissee
ttiimmeess,, bbuutt iinnccrreeaassiinngg tthhee ppMMOOSS wwiiddtthh ttoo
ddeeccrreeaassee tthhee rriissee ttiimmee wwiillll iinnccrreeaassee tthhee ffaallll
ttiimmee
–– TTrraannssmmiissssiioonn ggaattee llooookkss lliikkee aa RRCC lliinnee
NNeexxtt CCllaassss
 SSeeqquueennttiiaall DDeessiiggnn
 MMeemmoorryy aanndd CCoonnttrrooll
 CChhaapptteerr 77
 HHaavvee aa ggrreeaatt SSpprriinngg BBrreeaakk!!
TTooppiiccss
 DDyynnaammiicc CCMMOOSS
 SSeeqquueennttiiaall DDeessiiggnn
 MMeemmoorryy aanndd CCoonnttrrooll
DDyynnaammiicc CCMMOOSS
 IInn ssttaattiicc cciirrccuuiittss aatt eevveerryy ppooiinntt iinn ttiimmee ((eexxcceepptt wwhheenn
sswwiittcchhiinngg)) tthhee oouuttppuutt iiss ccoonnnneecctteedd ttoo eeiitthheerr GGNNDD oorr VVDDDD
vviiaa aa llooww rreessiissttaannccee ppaatthh..
–– ffaann--iinn ooff nn rreeqquuiirreess 22nn ((nn NN--ttyyppee ++ nn PP--ttyyppee)) ddeevviicceess
 DDyynnaammiicc cciirrccuuiittss rreellyy oonn tthhee tteemmppoorraarryy ssttoorraaggee ooff ssiiggnnaall
vvaalluueess oonn tthhee ccaappaacciittaannccee ooff hhiigghh iimmppeeddaannccee nnooddeess..
–– rreeqquuiirreess oonnllyy nn++22 ((nn++11 NN--ttyyppee ++ 11 PP--ttyyppee)) ttrraannssiissttoorrss
DDyynnaammiicc CCMMOOSS
N
logic
 nnMMOOSS llooggiicc ssttrruuccttuurree wwiitthh pprreecchhaarrggeedd
ppuulllluupp
INPUTS
•Precharge to VDD when clock is low
•Evaluate when clock is high
CLK
DDyynnaammiicc GGaattee
Clk Mp
In1
In2
In3
Out
CL
Clk
A
B
on
Mp
off 1
Out
((AB)+C)
C
Clk Me
Clk
off
Me on
Two phase operation
Precharge (Clk = 0)
Evaluate (Clk = 1)
PDN
CCoonnddiittiioonnss oonn OOuuttppuutt
 OOnnccee tthhee oouuttppuutt ooff aa ddyynnaammiicc ggaattee iiss ddiisscchhaarrggeedd,, iitt
ccaannnnoott bbee cchhaarrggeedd aaggaaiinn uunnttiill tthhee nneexxtt pprreecchhaarrggee
ooppeerraattiioonn..
 IInnppuuttss ttoo tthhee ggaattee ccaann mmaakkee aatt mmoosstt oonnee ttrraannssiittiioonn
dduurriinngg eevvaalluuaattiioonn..
 OOuuttppuutt ccaann bbee iinn tthhee hhiigghh iimmppeeddaannccee ssttaattee dduurriinngg aanndd
aafftteerr eevvaalluuaattiioonn ((PPDDNN ooffff)),, ssttaattee iiss ssttoorreedd oonn CCLL
PPrrooppeerrttiieess ooff DDyynnaammiicc GGaatteess
LLooggiicc ffuunnccttiioonn iiss iimmpplleemmeenntteedd bbyy tthhee PPDDNN oonnllyy
–– nnuummbbeerr ooff ttrraannssiissttoorrss iiss NN ++ 22 ((vveerrssuuss 22NN ffoorr ssttaattiicc ccoommpplleemmeennttaarryy CCMMOOSS))
FFuullll sswwiinngg oouuttppuuttss ((VVOOLL == GGNNDD aanndd VVOOHH ==VVDDDD))
NNoonn--rraattiiooeedd -- ssiizziinngg ooff tthhee ddeevviicceess ddooeess nnoott aaffffeecctt tthhee llooggiicc
lleevveellss
FFaasstteerr sswwiittcchhiinngg ssppeeeeddss
–– rreedduucceedd llooaadd ccaappaacciittaannccee dduuee ttoo lloowweerr iinnppuutt ccaappaacciittaannccee ((CCiinn))
–– rreedduucceedd llooaadd ccaappaacciittaannccee dduuee ttoo ssmmaalllleerr oouuttppuutt llooaaddiinngg ((CCoouutt))
–– nnoo IIsscc,, ssoo aallll tthhee ccuurrrreenntt pprroovviiddeedd bbyy PPDDNN ggooeess iinnttoo ddiisscchhaarrggiinngg CCLL
PPrrooppeerrttiieess ooff DDyynnaammiicc GGaatteess
OOvveerraallll ppoowweerr ddiissssiippaattiioonn uussuuaallllyy hhiigghheerr tthhaann ssttaattiicc CCMMOOSS
–– nnoo ssttaattiicc ccuurrrreenntt ppaatthh eevveerr eexxiissttss bbeettwweeeenn VVDDDD aanndd GGNNDD ((iinncclluuddiinngg
PPsscc))
–– nnoo gglliittcchhiinngg
–– hhiigghheerr ttrraannssiittiioonn pprroobbaabbiilliittiieess
–– eexxttrraa llooaadd oonn CCllkk
PPDDNN ssttaarrttss ttoo wwoorrkk aass ssoooonn aass tthhee iinnppuutt ssiiggnnaallss eexxcceeeedd VVTTnn,, ssoo
VVMM,, VVIIHH aanndd VVIILL eeqquuaall ttoo VVTTnn
–– llooww nnooiissee mmaarrggiinn ((NNMMLL))
NNeeeeddss aa pprreecchhaarrggee//eevvaalluuaattee cclloocckk
DDyynnaammiicc CCMMOOSS
AAddvvaannttaaggeess
–– FFeewweerr ttrraannssiissttoorrss tthhaann CCMMOOSS -- oonn tthhee ssaammee oorrddeerr aass
ppsseeuuddoo--nnMMOOSS
–– SSmmaalllleerr llooaadd ccaappaacciittaanncceess -- ffaasstteerr ssppeeeedd
DDiissaaddvvaannttaaggeess
–– IInnppuuttss mmuusstt bbee ssttaabbllee dduurriinngg eevvaalluuaattee pphhaassee
–– CCaann nnoott bbee ccaassccaaddeedd
–– CChhaarrggee sshhaarriinngg
Mp
O
CL
Me
IIssssuueess iinn DDyynnaammiicc DDeessiiggnn 11::
CChhaarrggee LLeeaakkaaggee
Clk
ut
A
Clk
Leakage sources
CLK
VOut
Precharge
Evaluate
Dominant component is subthreshold current
SSoolluuttiioonn ttoo CChhaarrggee LLeeaakkaaggee
Keeper
Clk
A
B
Clk
•Same approach as level restorer for pass-transistor logic
•Increase size of inverter to increase capacitance
CL
Out
Me
MkpMp
Mp
O
CL
CA
Me CB
IIssssuueess iinn DDyynnaammiicc DDeessiiggnn 22::
CChhaarrggee SShhaarriinngg
Clk
B=0
Clk
Charge stored originally on
CL is redistributed (shared)
ut over CL and CA leading to
reduced robustnessA
o i
DDyynnaammiicc CCMMOOSS
CChhaarrggee SShhaarriinngg
Co
Ci •Assume that the internal capacitances have been discharged
•In the precharge phase, the output capacitancegets charged
C •During evaluation, if all the inputs are high except thebottom
i
one, the output capacitance gets distributed to the internal
capacitance
C
•The output voltage will drop to
V
Co
DD
C  2C
CLK
i
•This could be low enough to trigger the inverter, causinga
wrong value on the output
Ci
SSoolluuttiioonn ttoo CChhaarrggee
RReeddiissttrriibbuuttiioonn
Clk Clk
Out
A
B
Clk
Precharge internal nodes using a clock-driven transistor
(at the cost of increased area and power)
Me
MkpMp
DDyynnaammiicc CCMMOOSS
 CCaassccaaddee pprroobblleemm
INPUTS N
logic
CLK
Since the evaluation from the first stage takes some time, the
second stage will start evaluating with the precharged input
rather than the evaluated input
N
logic
CCaassccaaddiinngg DDyynnaammiicc GGaatteess
Clk
In
Clk
V
Mp
Out2
Me
V
t
Only 0  1 transitions allowed at inputs!
M
Clk
p
Out1
Me
Clk
Clk
In
Out1
VTn
Out2
DDoommiinnoo LLooggiicc
 SSoollvveess ccaassccaaddee pprroobblleemm
INPUTS N
logic
CLK
Since the precharged output from the first stage is 0, it will
never activate the pulldown network in the second stage until
the first stage evaluation has completed.
N
logic
NNPP DDoommiinnoo ((ZZiippppeerr)) CCMMOOSS
N
logic
INPUTS
CLK
Since the second stage is build from p-logic, the precharged
output from the first stage will not activate the inputs of the
second stage
CLK
P
logic
SSeeqquueennttiiaall LLooggiicc
 IInn oouurr tteexxtt::
–– aa llaattcchh iiss lleevveell sseennssiittiivvee
–– aa rreeggiisstteerr iiss eeddggee--ttrriiggggeerreedd
–– aa fflliipp--fflloopp iiss bbiissttaabbllee
 TThheerree aarree mmaannyy ddiiffffeerreenntt nnaammiinngg ccoonnvveennttiioonnss
–– FFoorr iinnssttaannccee,, mmaannyy bbooookkss ccaallll eeddggee--ttrriiggggeerreedd
rreeggiisstteerrss fflliipp--ffllooppss aass wweellll
LLaattcchh vveerrssuuss RReeggiisstteerr
 Latch
stores data when
clock is low
RReeggiisstteerr
ssttoorreess ddaattaa wwhheenn
cclloocckk rriisseess
Clk
D
Clk
D
Q Q
Clk
D Q
Clk
D Q
LLaattcchheess
CLK
G
QD
G
QD
Positive Latch Negative Latch
In Out In Out
CLK
clk
In
Out
clk
In
Out
Out
stable
Out
follows In
Out
stable
Out
follows In
LLaattcchh--BBaasseedd DDeessiiggnn
• N latch is transparent
when  = 0

• P latch is transparent
when  = 1
Logic
Logic
P
Latch
N
Latch
TTiimmiinngg DDeeffiinniittiioonnss
CLK
D
Q
t
tsu thold
DATA
STABLE t
tc 2 q
DATA
STABLE t
CLK
Register
D Q
CChhaarraacctteerriizziinngg TTiimmiinngg
Clk
QD
Clk
QD
tD 2 Q
tC 2 Q tC 2 Q
Register Latch
MMaaxxiimmuumm CClloocckk FFrreeqquueennccyy

















tclk-Q + tp,comb + tsetup = T
Also:
tcdreg + tcdlogic > thold
tcd: contamination delay =
minimum delay
LOGIC
tp,comb
F
F
s’
PPoossiittiivvee FFeeeeddbbaacckk:: BBii--SSttaabbiilliittyy
Vo1
Vo1 = Vi 2
Vo2 = Vi 1
Vi 1 = Vo2
Vi 1
Vi2
Vi1 Vo2
A
Vi 2 =Vo1
C
B
Vo2
MMeettaa--SSttaabbiilliittyy
Vi 15 Vo2 Vi1 5Vo2
Gain should be larger than 1 in the transition region
A
C
B
A
C
B
WWrriittiinngg iinnttoo aa SSttaattiicc LLaattcchh
Use the clock as a decoupling signal,
that distinguishes between the transparent and opaque states
CLK
Q D D
CLK
D
CLK
Converting into a MUX
Forcing the state
(can implement as NMOS-only)
CLK
CLK
MMuuxx--BBaasseedd LLaattcchheess
1 Q
0
CLK
Negative latch
(transparent when CLK= 0)
Positive latch
(transparent when CLK= 1)
D D
Q  Clk Q  Clk  In Q  Clk Q Clk  In
0 Q
1
CLK
MMuuxx--BBaasseedd LLaattcchh
Q
D
CLK
CLK
CLK
MMuuxx--BBaasseedd LLaattcchh
CLK
Q M
CLK
Q M
CLK
NMOS only Non-overlapping clocks
CLK
Master
0
1
1
0
QM
CLK
MMaasstteerr--SSllaavvee ((EEddggee--TTrriiggggeerreedd))
RReeggiisstteerr
Slave
Q D
QM
D Q
CLK
Two opposite latches trigger on edge
Also called master-slave latch pair
I 2 I 3 I5 I6
D
QM
I 1 I4
T3
T4
T1
T2
MMaasstteerr--SSllaavvee RReeggiisstteerr
Multiplexer-based latch pair
Q
CLK
SSeemmiiccoonndduuccttoorr MMeemmoorryy CCllaassssiiffiiccaattiioonn
Read-Write Memory
Non-Volatile
Read-Write
Memory
Read-Only Memory
Random
Access
SRAM
DRAM
Non-Random
Access
FIFO
LIFO
Shift Register
CAM
EPROM
E
2
PROM
FLASH
Mask-Programmed
Programmable (PROM)
MMeemmoorryy DDeessiiggnn
n-1:k
k-1:0
Sense Amplifier
Column Decoder
RRaannddoomm AAcccceessss MMeemmoorryy
Row decoder
n bit address
2m+k memory cells wide
m bit data word
MMeemmoorryy DDeessiiggnn
SSttaattiicc RRAAMM CCeellll
Word select
bit bit
MMeemmoorryy DDeessiiggnn
RReeaaddss aarree ssttrraaiigghhttffoorrwwaarrdd
–– MMaayy nneeeedd pprreecchhaarrggee cciirrccuuiittrryy ttoo ppuullll uupp bbiitt
lliinnee
WWrriitteess aarree ttrriicckkiieerr
–– UUssee ddrriivveerr ttrraannssiissttoorrss tthhaatt wwiillll ppuullll--uupp oorr ppuullll--
ddoowwnn bbiitt lliinnee aass nneecceessssaarryy
MMeemmoorryy DDeessiiggnn
SSttaattiicc RRAAMM CCeellll wwiitthh pprreecchhaarrggee
Word select
bit bit
precharge
MMeemmoorryy DDeessiiggnn
precharge
SSttaattiicc RRAAMM CCeellll wwrriittee cciirrccuuiittrryy
Word select
Write enable
Write data
33--TTrraannssiissttoorr DDRRAAMM CCeellll
BL1 BL2
X
BL 1
BL 2
VDD
VDD 2 VT
VDD 2 VT
DV
No constraints on device ratios
Reads are non-destructive
Value stored at node X when writing a “1” = VWWL-VTn
WWL
RWL
WWL
RWL
M3
M1 X
M2
CS
33TT--DDRRAAMM —— LLaayyoouutt
BL2 BL1 GND
RWL
M3
M2
WWL
M1
DDRRAAMM CCeellll
Write 1 Read 1
WL
X GND VDD 2 VT
BL
VDD /2
VDD
V
sensing
Write: CS is charged or discharged by asserting WL and BL.
Read: Charge redistribution takes places between bit line and storage capacitance
CS
V = VBL – VPRE = VBIT – VPRE
------------
CS + CBL
Voltage swing is small; typically around 250 mV.
11--TTrraaBL nnssiissttoorr
WL
M1
CS
CBL
DDRRAAMM CCeellll OObbsseerrvvaattiioonnss
 1T DRAM requires a sense amplifier for each bit line, due
to charge redistribution read-out.
 DRAM memory cells are single ended in contrast to
SRAM cells.
The read-out of the 1T DRAM cell is destructive; read
and refresh operations are necessary for correct
operation.
 Unlike 3T cell, 1T cell requires presence of an extra
capacitance that must be explicitly included in the design.
 When writing a “1” into a DRAM cell, a threshold voltage
is lost. This charge loss can be circumvented by
bootstrapping the word lines to a higher value than VDD
SSeennssee AAmmpp OOppeerraattiioonn
VBL V(1)
VPRE
DV(1)
V(0)
Sense amp activated
Word line activated
t
DDRRAAMM CCeellll
Capacitor
Metal word line
n+ n+
Poly
Poly
Inversion layer
induced by
plate bias
SiO2
Field Oxide Diffused
bit line
Polysilicon
gate
M1 word
line
Polysilicon
plate
Cross-section Layout
Uses Polysilicon-Diffusion Capacitance
Expensive in Area
MMeemmoorryy DDeessiiggnn
RRAAMMss
–– SSttaattiicc RRAAMM iiss ffaasstteerr,, ddooeess nnoott nneeeedd ttoo bbee
rreeffrreesshheedd
–– DDyynnaammiicc RRAAMM iiss mmoorree ccoommppaacctt
NNeexxtt ccllaassss
MMoorree aabboouutt mmeemmoorryy
CCoonnttrrooll llooggiicc
MMeemmoorryy DDeessiiggnn
n-1:k
k-1:0
Sense Amplifier
Column Decoder
RRaannddoomm AAcccceessss MMeemmoorryy
Row decoder
n bit address
2m+k
memory cells wide
m bit data word
MMeemmoorryy TTiimmiinngg:: AApppprrooaacchheess
Address
bus
RAS
CAS
RAS -CAS timing
Address
Bus
o
DRAM Timing
Multiplexed Adressing
SRAM Timing
Self-timed
Row Address Column Address
Address
Address transition
initiates memory operati
MMeemmoorryy TTiimmiinngg
DDRRAAMM rreeaadd ccyyccllee
–– AAccttiivvaattee RRAASS,, aanndd ppllaaccee rrooww aaddddrreessss oonn bbuuss
–– RRooww ddeeccooddeerrss sseelleecctt aapppprroopprriiaattee rrooww
–– AAccttiivvaattee CCAASS,, aanndd ppllaaccee ccoolluummnn aaddddrreessss oonn
bbuuss
–– SSeennssee aammppss aarree aaccttiivvaatteedd aanndd ddaattaa iiss ppllaacceedd
oonn tthhee ddaattaa bbuuss
MMeemmoorryy TTiimmiinngg
from “Ars Technica RAM Guide”, by Jon Stokes, ©Ars Technica LLC
RReeaadd--OOnnllyy MMeemmoorryy CCeellllss
BL BL BL
VDD
WL
WL WL
1
BL BL
WL WL
0
Diode ROM MOS ROM 1 MOS ROM 2
BL
WL
GND
MMOOSS OORR RROOMM
BL[0] BL[1] BL[2] BL[3]
WL[0]
WL[1]
VDD
WL[2]
WL[3]
VDD
Vbias
Pull-down loads
MMOOSS NNOORR RROOMM
VDD
Pull-up devices
WL[0]
WL [1]
GND
WL [2]
GND
WL [3]
BL [0] BL [1] BL [2] BL [3]
MMOOSS NNOORR RROOMM LLaayyoouutt
BL0 BL1 BL2 BL3
Cell (9.5 x 7)
WL0
WL1
WL2
WL3
Programmming using the
Active Layer Only
Polysilicon
Metal1
Diffusion
Metal1 on Diffusion
GND
GND
MMOOSS NNOORR RROOMM LLaayyoouutt
Cell (11 x
Programmming using
the Contact Layer Only
Polysilicon
Metal1
Diffusion
Metal1 on Diffusion
7)
MMOOSS NNAANNDD RROOMM
VDD
Pull-up devices
BL [0] BL[1] BL[2] BL [3]
WL[0]
WL[1]
WL[2]
WL[3]
All word lines high by default with exception of selected row
No contact to VDD or GND necessary;
drastically reduced cell size
Loss in performance compared to NOR ROM
MMOOSS NNAANNDD RROOMMC
LLLe
al
al (
yyy8
oox
uu7
tt ) 


Programmming using
the Metal-1 Layer Only
Polysilicon
Diffusion
Metal1 on Diffusion
cword
bitC
rword
WL
BL
VDD
EEqquuiivvaalleenntt TTrraannssiieenntt MMooddeell ffoorr MMOOSS NNOORR
RROOMM
Model for NOR ROM
 WWoorrdd lliinnee ppaarraassiittiiccss
–– WWiirree ccaappaacciittaannccee aanndd ggaattee ccaappaacciittaannccee
–– WWiirree rreessiissttaannccee ((ppoollyyssiilliiccoonn))
 BBiitt lliinnee ppaarraassiittiiccss
–– RReessiissttaannccee nnoott ddoommiinnaanntt ((mmeettaall))
–– DDrraaiinn aanndd GGaattee--DDrraaiinn ccaappaacciittaannccee
EEqquuiivvaalleenntt TTrraannssiieenntt MMooddeell ffoorr MMOOSS NNAANNDD RROOMM
Model for NAND ROM
 WWoorrdd lliinnee ppaarraassiittiiccss
–– SSiimmiillaarr ttoo NNOORR RROOMM
 BBiitt lliinnee ppaarraassiittiiccss
–– RReessiissttaannccee ooff ccaassccaaddeedd ttrraannssiissttoorrss ddoommiinnaatteess
–– DDrraaiinn//SSoouurrccee aanndd ccoommpplleettee ggaattee ccaappaacciittaannccee
cword
cbit
rword
WL
CL
rbit
BL
VDD
DDeeccrreeaassiinngg WWoorrdd LLiinnee DDeellaayy
Driver
WL Polysilicon word line
Metal word line
(a) Driving the word line from both sides
Metal bypass
WL K cells
(b) Using a metal bypass
Polysilicon word line
(c) Use silicides
PPrreecchhaarrggeedd MMOOSS NNOORR RROOMM
f pre
VDD
Precharge devices
WL[0]
WL[1]
GND
WL[2]
WL[3]
GND
BL [0] BL[1] BL[2] BL[3]
PMOS precharge device can be made as large as necessary,
but clock driver becomes harder to design.
Source Drain
tox
tox
n+ p n+_
NNoonn--VVoollaattiillee MMeemmoorriieess
TThhee FFllooaattiinngg--ggaattee ttrraannssiissttoorr
((FFAAMMOOSS))
Floating gate Gate
Substrate
Device cross-section Schematic symbol
D
G
S
FFllooaattiinngg--GGaattee TTrraannssiissttoorr
PPrrooggrraammmmiinngg
20 V 0 V 5 V
Avalanche injection Removing programming
voltage leaves charge trapped
Programming results in
higher VT.
10 V 5 V 20 V
S D
-5 V 0 V
S D
-2.5 V 5 V
S D
Source Drain
20–30 nm
n1
Substrate
p
n1
10 nm
-10 V VGD
10 V
FFLLOOTTOOXX EEEEPPRROOMM
Floating gate Gate I
FLOTOX transistor
Fowler-Nordheim
I-V characteristic
EEEEPPRROOMM CCeellll
BL
WL
VDD
Absolute threshold control
is hard
Unprogrammed transistor
might be depletion
 2 transistor cell
FFllaasshh EEEEPPRROOMM
Control gate
Floating gate
erasure
n+ source
programming
p-substrate
Thin tunneling oxide
n+ drain
Many other
options …
BBaassiicc OOppeerraattiioonnss iinn aa NNOORR FFllaasshh
MMeemmoorryy__
EErraassee
cell
BL 0
array
BL1
12 V
0 V
12V
0 V
WL0
WL1
open open
DS
G
BBaassiicc OOppeerraattiioonnss iinn aa NNOORR FFllaasshh
MMeemmoorryy__
WWrriittee
12 V
6 V
12 V
0 V
BL 0 BL1
6 V 0 V
WL0
WL1
G
S D
BBaassiicc OOppeerraattiioonnss iinn aa NNOORR FFllaasshh
MMeemmoorryy__
RReeaadd
5 V
BL 0 BL1
G
1 V
5 V
0 V
1 V 0 V
WL0
WL1
DS
MMeemmoorryy DDeessiiggnn
RReeggiisstteerr FFiillee
–– RRAAMM wwiitthh mmuullttiippllee rreeaadd oorr wwrriittee ppoorrttss
–– YYoouu ccaann rreeaadd oorr wwrriittee mmuullttiippllee ddaattaa vvaalluueess aatt
tthhee ssaammee ttiimmee
–– UUsseeffuull iinn ddaattaa pprroocceessssiinngg aapppplliiccaattiioonnss
MMeemmoorryy DDeessiiggnn
RReeggiisstteerr FFiillee CCeellll
RB1
RB0
RB1
RB0
Word select 0
Word select 1
Write enable
Write data
MMeemmoorryy DDeessiiggnn
CCoonntteenntt AAddddrreessssaabbllee MMeemmoorryy ((CCAAMM))
–– IInnsstteeaadd ooff ffiinnddiinngg mmeemmoorryy bbyy aaddddrreessss,, ffiinndd iitt
bbyy ccoonntteenntt
–– SSeeaarrcchh oorr mmaattcchh eevveerryy ssiinnggllee wwoorrdd iinn
mmeemmoorryy aarrrraayy
SSttaattiicc CCAAMM MMeemmoorryy CCeellll
Bit
Word
Bit Bit Bit
Bit
M8
M4
Bit
M9
M5
M6 M7
Word
Word
Match
S S
int
M3 M2
M1
Wired-NOR Match Line
CAM
••••••
•••
•••
CAM
CAMCAM
HitLogic
Sense Amps / Input Drivers
SRAM
ARRAY
CAM
ARRAY
CCAAMM iinn CCaacchhee MMeemmoorryy
Address Tag Hit R/W Data
AddressDecoder
Input Drivers
MMeemmoorryy DDeessiiggnn
OOtthheerr mmeemmoorryy ssttrruuccttuurreess
–– FFIIFFOOss
–– LLIIFFOOss
–– SSIIPPOOss
PPeerriipphheerryy
 Decoders
 Sense Amplifiers
 Input/Output Buffers
 Control / Timing Circuitry
MMeemmoorryy DDeessiiggnn
RRooww ddeeccooddeerr
A1 A0
MMeemmoorryy DDeessiiggnn
RRooww ddeeccooddeerr
–– WWiitthh mmuullttiippllee iinnppuuttss ((>>44)),, ttwwoo pprroobblleemmss
SSppeeeedd ooff ggaatteess bbeeccoommeess aa pprroobblleemm
–– UUssee hhiieerraarrcchhyy ooff NNAANNDDSS//NNOORRSS
–– UUssee pprreeddeeccooddiinngg -- ddeeccooddee uuppppeerr bbiittss ffiirrsstt aanndd uussee
lloowweerr bbiittss ttoo sseelleecctt ffrroomm tthheerree
IInnccrreeaasseedd ffaannoouutt
–– UUssee mmiinniimmuumm ssiizzeedd iinnppuutt ggaatteess
A2A3A2A3A 0A 1
HHiieerraarrcchhiiccaall DDeeccooddeerrss
Multi-stage implementation improves performance
• • •
WL 1
WL 0
A0A1 A2A3 A2A3
A1 A0 A0 A1 A3 A2 A2
• • •
A 3
NNAANNDD ddeeccooddeerr uussiinngg
22--iinnppuutt pprree--ddeeccooddeerrss
A0A1A0A1
DDyynnaammiicc DDeeccooddeerrss
Precharge devices
VDD 
GND
A0 A0
GND
A1 A1
WL3
WL2
WL1
WL0
A0 A0 A1 A1
WL3
WL 2
WL 1
WL 0


2-input NOR decoder 2-input NAND decoder
VDD
VDD
VDD
VDD
MMeemmoorryy DDeessiiggnn
 CCoolluummnn ddeeccooddeerr Memory Cells
Data Out
A1 A0
MMeemmoorryy DDeessiiggnn
 CCoolluummnn ddeeccooddeerr Memory Cells
Data Out
A1 A0
MMeemmoorryy DDeessiiggnn
 CCoolluummnn ddeeccooddeerr
–– AANNDD--ddeeccooddeerr bbaasseedd
 OOnn tthhee oorrddeerr ooff NN••22NN ttrraannssiissttoorrss
–– BBiinnaarryy ttrreeee bbaasseedd
SSllooww bbeeccaauussee ooff tthhee sseerriieess ooff ppaassss--
ttrraannssiissttoorrss
–– UUssuuaallllyy uussee aa ccoommbbiinnaattiioonn ooff tthhee ttwwoo
MMeemmoorryy DDeessiiggnn
 SSeennssee AAmmpplliiffiieerr
–– TTiimmee ttoo ggeett tthhrroouugghh rrooww ddeeccooddeerr,, ccoolluummnn ppuullll--ddoowwnn aanndd
ccoolluummnn ddeeccooddeerr ccaann bbee vveerryy lloonngg
–– UUssee aa sseennssee aammpplliiffiieerr ttoo ssppeeeedd iitt uupp
 SSeennssee ssmmaallll ddiiffffeerreenncceess iinn vvoollttaaggee aanndd aammpplliiffyy iitt ttoo rraaiill
vvoollttaaggee
 CCaann bbee ddiiffffeerreennttiiaall oorr ssiinnggllee--eennddeedd
 UUssuuaallllyy uussee ttrraannssiissttoorrss wwiitthh hhiigghh tthhrreesshhoolldd vvoollttaaggeess
SSeennssee AAmmpplliiffiieerrss
C  V
make V as smallas
possible
tp = ----------------
Iav
large
Idea: Use Sense Amplifer
small
outputinput
s.a.
small
transition
DDiiffffeerreennttiiaall SSeennssee AAmmpplliiffiieerr
Directly applicable to
SRAMs
Out
VDD
M3 M4
y
bit M1 M2 bit
SE M5
NNeexxtt ccllaassss
 MMeemmoorryy RReelliiaabbiilliittyy aanndd YYiieelldd
 CCoonnttrrooll llooggiicc

More Related Content

DOCX
PDF
_ resume _ smdsm
DOCX
VLSI10
PPT
Vlsi
PPT
Exame neurológico do lactente
DOCX
PPT
emryology resp tract
PPT
Introduction To Operation Managemet
_ resume _ smdsm
VLSI10
Vlsi
Exame neurológico do lactente
emryology resp tract
Introduction To Operation Managemet

What's hot (20)

DOCX
VLSI14
PPT
Nguyen kim doanh ta
PPT
Justins turlip soil moisture REUcon
PPT
Osteo osteomalacia ricket2
PPT
9221492614
PPT
The russian revolution
PPT
The right of children to free and compulsory education act, 2009
PPT
Controlling in PM
PPT
Business plan presentation_format
PPT
06.introduction to middle third fractures
PPT
Acceleration and force 2010
PPT
Indus valley, 2014
DOCX
VLSI12
PPT
compressor-and-sealing-system
PPT
Komunikasi serial avr
PPT
WMselfossagenda
PPT
Drift tectonics gn
PPT
Economic systems
PPT
Unidad VI. Un ciclo
PPT
Writing activity human capital & capital goods
VLSI14
Nguyen kim doanh ta
Justins turlip soil moisture REUcon
Osteo osteomalacia ricket2
9221492614
The russian revolution
The right of children to free and compulsory education act, 2009
Controlling in PM
Business plan presentation_format
06.introduction to middle third fractures
Acceleration and force 2010
Indus valley, 2014
VLSI12
compressor-and-sealing-system
Komunikasi serial avr
WMselfossagenda
Drift tectonics gn
Economic systems
Unidad VI. Un ciclo
Writing activity human capital & capital goods
Ad

Similar to VLSI2 by RP Rao (20)

DOCX
VLSI11
DOCX
PDF
Rajeev Sharma Resume 2017
PPT
84640 633554912394375000
PPT
Ppt sd metabolico
PPT
Penetration testing: A proactive approach to secure computing - Eric Vanderbu...
PPT
Ciivic education 1
PPS
Fire safety in building
PPT
Factores de riesgo cv y altura
DOCX
VLSI13
PPT
Puoti C. Terapia delle Epatiti Virali: tempo di scelte. ASMaD 2014
PPS
Asma bronquial
PPT
Concrete Compaction
PPT
World com scandal
PPT
The complement system
PPT
Mca121 ethernet ii
PPT
Getting to know the cbc - it's about time!
PPT
Detectia prezentei Salmonella spp prin real time PCR
PPT
Metro ethernet(LAN & MAN Networking)
VLSI11
Rajeev Sharma Resume 2017
84640 633554912394375000
Ppt sd metabolico
Penetration testing: A proactive approach to secure computing - Eric Vanderbu...
Ciivic education 1
Fire safety in building
Factores de riesgo cv y altura
VLSI13
Puoti C. Terapia delle Epatiti Virali: tempo di scelte. ASMaD 2014
Asma bronquial
Concrete Compaction
World com scandal
The complement system
Mca121 ethernet ii
Getting to know the cbc - it's about time!
Detectia prezentei Salmonella spp prin real time PCR
Metro ethernet(LAN & MAN Networking)
Ad

VLSI2 by RP Rao