Module 1 - Ad Vlsi
Module 1 - Ad Vlsi
the course
http://spectra.eng.hawaii.edu/~msmith/ASICs/HTML/ASICs.htm
Some material in this work is reprinted from IEEE Std 1149.1-1990, “IEEE Standard Test Access Port and Boundary-Scan Archi-
tecture,” Copyright © 1990; IEEE Std 1076/INT-1991 “IEEE Standards Interpretations: IEEE Std 1076-1987, IEEE Standard
VHDL Language Reference Manual,” Copyright © 1991; IEEE Std 1076-1993 “IEEE Standard VHDL Language Reference
Manual,” Copyright © 1993; IEEE Std 1164-1993 “IEEE Standard Multivalue Logic System for VHDL Model Interoperability
(Std_logic_1164),” Copyright © 1993; IEEE Std 1149.1b-1994 “Supplement to IEEE Std 1149.1-1990, IEEE Standard Test
Access Port and Boundary-Scan Architecture,” Copyright © 1994; IEEE Std 1076.4-1995 “IEEE Standard for VITAL Applica-
tion-Specific Integerated Circuit (ASIC) Modeling Specification,” Copyright © 1995; IEEE 1364-1995 “IEEE Standard Descrip-
tion Language Based on the Verilog® Hardware Description Language,” Copyright © 1995; and IEEE Std 1076.3-1997 “IEEE
Standard for VHDL Synthesis Packages,” Copyright © 1997; by the Institute of Electrical and Electronics Engineers, Inc. The
IEEE disclaims any responsibility or liability resulting from the placement and use in the described manner. Information is
reprinted with the permission of the IEEE. Figures describing Xilinx FPGAs are courtesy of Xilinx, Inc. ©Xilinx, Inc. 1996,
1997, 1998. All rights reserved. Figures describing Altera CPLDs are courtesy of Altera Corporation. Altera is a trademark and
service mark of Altera Corporation in the United States and other countries. Altera products are the intellectual property of Altera
Corporation and are protected by copyright laws and one or more U.S. and foreign patents and patent applications. Figures
describing Actel FPGAs iare courtesy of Actel Corporation.
The programs and applications presented in this work have been included for their instructional value. They have been tested with
care but are not guaranteed for any particular purpose. The author does not offer any warranties, representations, or accept any lia-
bilities with respect to the programs or applications.
Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those
designations appear in this work, and the author was aware of a trademark claim, the designations have been printed in initial caps or
all caps.
Figures copyright © 1997 by Addison Wesley Longman, Inc. Text copyright © 1997, 1998 by Michael John Sebastian Smith.
ASICs...THE COURSE (1 WEEK)
INTRODUCTION 1
TO ASICs
Key concepts: The difference between full-custom and semicustom ASICs • The difference
between standard-cell, gate-array, and programmable ASICs • ASIC design flow • Design
economics • ASIC cell library
1
2 SECTION 1 INTRODUCTION TO ASICs ASICS... THE COURSE
silicon
die
0.1 inch
(a) (b)
In datapath (DP) logic we may use a datapath compiler and a datapath library. Cells such
as arithmetic and logical units (ALUs) are pitch-matchedto each other to improve timing
and density.
ASICs... THE COURSE 1.1 Types of ASICs 3
VDD
m1
contact
ndiff
pdiff
Z
A1 B1 via
metal2
poly
ndiff
cell abutment box
(AB)
p-well
pdiff
pdiff
GND
10λ
1 expanded view
of part of flexible no
block 1 connection
connection metal2
to power to power
250 λ pads metal1 pads
terminal VSS VDD VSS VDD
Z row-end
cells
spacer
cell A.132 metal2 cells
A note on the use of hyphens and dashes in the spelling (orthography) of compound nouns: Be
careful to distinguish between a “high-school girl” (a girl of high-school age) and a “high school
girl” (is she on drugs or perhaps very tall?).
We write “channeled gate array,” but “channeled gate-array architecture” because the gate
array is channeled; it is not “channeled-gate array architecture” (which is an array of chan-
neled-gates) or “channeled gate array architecture” (which is ambiguous).
We write gate-array–based ASICs (with a en-dash between array and based) to mean (gate
array)-based ASICs.
ASICs... THE COURSE 1.1 Types of ASICs 5
Examples and types of PLDs: read-only memory (ROM) • programmable ROM or PROM •
electrically programmable ROM, or EPROM • An erasable PLD (EPLD) • electrically eras-
able PROM, or EEPROM • UV-erasable PROM, or UVPROM • mask-programmable ROM
• A mask-programmed PLD usually uses bipolar technology
Logic arrays may be either a Programmable Array Logic (PAL®, a registered trademark of
AMD) or a programmable logic array (PLA); both have an AND plane and an OR plane
start
A B
system
partitioning
3
A
postlayout floorplanning
simulation
9 5 chip
placement
block
6
physical
circuit routing design
extraction
8 7
logic cells
back-annotated
netlist finish
ASIC design flow. Steps 1–4 are logical design, and steps 5–9 are physical design
The CAD tools used in the design of the Sun Microsystems SPARCstation 1
Design level Function Tool
ASIC design ASIC physical design LSI Logic
ASIC logic synthesis Internal tools and UC Berkeley tools
ASIC simulation LSI Logic
Board design Schematic capture Valid Logic
PCB layout Valid Logic Allegro
Timing verification Quad Design Motive and internal tools
Mechanical design Case and enclosure Autocad
Thermal analysis Pacific Numerix
Structural analysis Cosmos
Management Scheduling Suntrac
Documentation Interleaf and FrameMaker
total product cost = fixed product cost + variable product cost × products sold
In a product made from parts the total cost for any part is
total part cost = fixed part cost + variable cost per part × volume of parts
cost of parts
$1,000,000
break-even
FPGA/CBIC
CBIC
$100,000 MGA
FPGA break-even
MGA/CBIC
break-even
FPGA/MGA
$10,000
10 100 1000 10,000 100,000
number of parts or volume
Break-even graph
ASICs... THE COURSE 1.4 Economics of ASICs 11
Examples of fixed costs: training cost for a new electronic design automation (EDA) sys-
tem • hardware and software cost • productivity • production test and design for test •
programming costs for an FPGA • nonrecurring-engineering (NRE) • test vectors and
test-program development cost • pass (turn or spin) • profit model represents the profit
flow during the product lifetime • product velocity • second source
sales per
quarter, s
peak sales
s1
$20M lost sales
product
introduction
$10M end of
s2 product life
Q1 Q2 Q3 Q4 Q1 Q2
t1 t2 t3 time
delay to market, d
Profit model
ASICs... THE COURSE 1.4 Economics of ASICs 13
Factors affecting fixed costs: wafer size • wafer cost • Moore’s Law (Gordon Moore of Intel)
• gate density • gate utilization • die size • die per wafer • defect density • yield • die cost
• profit margin (depends on fab or fabless) • price per gate • part cost
cents/gate
1.00
CBIC 2 µm
CBIC 1.5 µm
CBIC 1 µm
0.10
CBIC 0.6 µm
FPGA 1 µm
FPGA 0.6 µm
–32%/year
0.01
1984 1986 1988 1990 1992 1994 1996
(1) is usually a phantom library—the cells are empty boxes, or phantoms, you hand off your
design to the ASIC vendor and they perform phantom instantiation (Synopsys CBA)
(2) involves a buy-or-build decision. You need a qualified cell library (qualified by the ASIC
foundry) If you own the masks (the tooling) you have a customer-owned tooling (COT, pro-
nounced “see-oh-tee”) solution (which is becoming very popular)
(3) involves a complex library development process: cell layout • behavioral model • Ver-
ilog/VHDL model • timing model • test strategy • characterization • circuit extraction • pro-
cess control monitors (PCMs) or drop-ins • cell schematic • cell icon • layout versus
schematic (LVS) check • cell icon • logic synthesis • retargeting • wire-load model • rout-
ing model • phantom
16 SECTION 1 INTRODUCTION TO ASICs ASICS... THE COURSE
1.6 Summary
Key concepts:
• We could define an ASIC as a design style that uses a cell library
• The difference between full-custom and semicustom ASICs
• The difference between standard-cell, gate-array, and programmable ASICs
• The ASIC design flow
• Design economics including part cost, NRE, and breakeven volume
• The contents and use of an ASIC cell library
Types of ASIC
Custom Custom
ASIC type Family member
mask layers logic cells
Full-custom Analog/digital All Some
Semicustom Cell-based (CBIC) All None
Masked gate array (MGA) Some None
Programmable Field-programmable gate array (FPGA) None None
Programmable logic device (PLD) None None
1.7 Problems
Suggested homework: 1.4, 1.5, 1.9 (from ASICs... the book)
1.8 Bibliography
EE Times (ISSN 0192-1541, http://techweb.cmp.com/eet), EDN (ISSN 0012-7515,
http://www.ednmag.com), EDAC (Electronic Design Automation Companies)
(http://www.edac.org), The Electrical Engineering page on the World Wide Web
(E2W3) (http://www.e2w3.com), SEMATECH (Semiconductor Manufacturing Technol-
ogy) (http://www.sematech.org), The MIT Semiconductor Subway (http://www-
mtl.mit.edu), EDA companies at http://www.yahoo.comunder
Business_and_Economyin Companies/Computers/Software/Graph-
ics/CAD/IC_Design, The MOS Implementation Service (MOSIS)
(http://www.isi.edu), The Microelectronic Systems Newsletter at http://www-
ece.engr.utk.edu/ece, NASA (http://nppp.jpl.nasa.gov/dmg/jpl/loc/asic )
ASICs... THE COURSE 1.9 References 17
1.9 References
Glasser, L. A., and D. W. Dobberpuhl. 1985. The Design and Analysis of VLSI Circuits.
Reading, MA: Addison-Wesley, 473 p. ISBN 0-201-12580-3. TK7874.G573. Detailed anal-
ysis of circuits, but largely nMOS.
Mead, C. A., and L. A. Conway. 1980. Introduction to VLSI Systems. Reading, MA: Addison-
Wesley, 396 p. ISBN 0-201-04358-0. TK7874.M37.
Weste, N. H. E., and K. Eshraghian. 1993. Principles of CMOS VLSI Design: A Systems Per-
spective. 2nd ed. Reading, MA: Addison-Wesley, 713 p. ISBN 0-201-53376-6.
TK7874.W46. Concentrates on full-custom design.
18 SECTION 1 INTRODUCTION TO ASICs ASICS... THE COURSE
ASICs...THE COURSE (1 WEEK)
CMOS LOGIC 2
Key concepts: The use of transistors as switches • The difference between a flip-flop and a
latch • Setup time and hold time • Pipelines and latency • The difference between datapath,
standard-cell, and gate-array logic cells • Strong and weak logic levels • Pushing bubbles •
Ratio of logic • Resistance per square of layers and their relative values in CMOS • Design
rules and λ
= = A F = A F
'0' off '0' on
GND or
VSS
(a) (b) (c)
1
2 SECTION 2 CMOS LOGIC ASICS... THE COURSE
1 0 0
off off off on on off on on p-channel
n-channel
CMOS logic • a two-input NAND gate • a two-input NOR gate • Good '1's • Good '0's
ASICs... THE COURSE 2.1 CMOS Transistors 3
drain
gate bulk
+ + + +
VGS L
VDS VGS source VDS
W
gate T ox
L L2
tf = ––– = –––––––
vx µnVDS
4 SECTION 2 CMOS LOGIC ASICS... THE COURSE
Q = C(VGC – Vtn) = C [ (VGS – Vtn) – 0.5 VDS ] = WLCox [ (VGS – Vtn) – 0.5 VDS ]
IDSn = Q/tf
'
= (W/L)µnCox[ (VGS – Vtn) – 0.5 VDS ]VDS = (W/L)k n [ (VGS – Vtn) – 0.5 VDS ]VDS
(a) (b)
IDS /mA 1
3 2
n-ch. W/L=60/6 VGS /V
3.0
IDS /mA n-ch.
2 n-ch. W/L=6/0.6
2.5 3 W/L=6/0.6
2.0 3
1
0 2
1.5 VDS /V
3 1
1.0
2
0 0.5, 0.0 1 0
VGS /V 1
0 1 2 3
0
VDS /V
(c)
IDS(sat) /mA 2
3
VDS =3.0 V
2 n-ch. W/L=6/0.6
MOS n-channel transistor characteristics IDS (sat) ∝ VGS –V tn
IDSp = –k'p(W/L)[ (VGS – Vtp) – 0.5 VDS ]VDS ; VDS > VGS – Vtp
IDSp(sat) = –βp/2 (VGS – Vtp)2 ; VDS < VGS – Vtp .
• Vtp is negative
• VDS and VGS are normally negative (and –3V<–2V)
6 SECTION 2 CMOS LOGIC ASICS... THE COURSE
SPICE parameters
.MODEL CMOSN NMOS LEVEL=3 PHI=0.7 TOX=10E-09 XJ=0.2U TPG=1 VTO=0.65
DELTA=0.7
+ LD=5E-08 KP=2E-04 UO=550 THETA=0.27 RSH=2 GAMMA=0.6 NSUB=1.4E+17
NFS=6E+11
+ VMAX=2E+05 ETA=3.7E-02 KAPPA=2.9E-02 CGDO=3.0E-10 CGSO=3.0E-10
CGBO=4.0E-10
+ CJ=5.6E-04 MJ=0.56 CJSW=5E-11 MJSW=0.52 PB=1
.MODEL CMOSP PMOS LEVEL=3 PHI=0.7 TOX=10E-09 XJ=0.2U TPG=-1 VTO=-
0.92 DELTA=0.29
+ LD=3.5E-08 KP=4.9E-05 UO=135 THETA=0.18 RSH=2 GAMMA=0.47
NSUB=8.5E+16 NFS=6.5E+11
+ VMAX=2.5E+05 ETA=2.45E-02 KAPPA=7.96 CGDO=2.4E-10 CGSO=2.4E-10
CGBO=3.8E-10
+ CJ=9.3E-04 MJ=0.47 CJSW=2.9E-10 MJSW=0.505 PB=1
ASICs... THE COURSE 2.1 CMOS Transistors 7
gate gate
'1' → '0' '0' → '1'–V tn '1'
strong '0' weak '1'
n-type –Q n-type n-type n-type +
'0' source drain source drain
p-type p-type VDD
no channel charge
(a) (b)
VGD =0 '0' VGS = –Vtp VGS <V tp '0' VGD < Vtp
gate gate
'1' → '0'– Vtp '0' → '1' '1'
weak '0' strong '1'
p-type p-type p-type +Q p-type +
'0' drain source drain source
n-type n-type VDD
+ +
VDD no channel charge VDD
(c) (d)
2 4
1hour 5
3
1 furnace spin
wafer resist
6 7 8 9 10 11 12
Key words: boule • wafer • boat • silicon dioxide • resist • mask • chemical etch • isotropic •
plasma etch • anisotropic • ion implantation • implant energy and dose • polysilicon • chemical
vapor deposition (CVD) • sputtering • photolithography • submicron and deep-submicron
process • n-well process • p-well process • twin-tub (or twin-well) • triple-well • substrate
contacts (well contacts or tub ties) • active (CAA) • gate oxide • field • field implant or chan-
nel-stop implant • field oxide (FOX) • bloat • dopant • self-aligned process • positive resist •
negative resist • drain engineering • LDD process • lightly doped drain • LDD diffusion or LDD
implant • stipple-pattern
ASICs... THE COURSE 2.2 The CMOS Process 9
Derivation
Mask/layer name from drawn Alternative names for mask/layer Mask label
layers
n-well =nwell bulk, substrate, tub, n-tub, moat CWN
p-well =pwell bulk, substrate, tub, p-tub, moat CWP
active =pdiff+ndiff thin oxide, thinox, island, gate oxide CAA
polysilicon =poly poly, gate CPG
n-diffusion
=grow(ndiff) ndiff, n-select, nplus, n+ CSN
implant
p-diffusion
=grow(pdiff) pdiff, p-select, pplus, p+ CSP
implant
contact cut, poly contact, diffusion con-
contact =contact CCP and CCA
tact
metal1 =m1 first-level metal CMF
metal2 =m2 second-level metal CMS
via2 =via2 metal2/metal3 via, m2/m3 via CVS
metal3 =m3 third-level metal CMT
glass =glass passivation, overglass, pad COG
10 SECTION 2 CMOS LOGIC ASICS... THE COURSE
Active mask
CAA (mask) = ndiff (drawn) ∨ pdiff (drawn)
Source and drain diffusion (on the silicon) in terms of drawn layers
n-diffusion (silicon) = (ndiff (drawn)) ∧ (¬poly (drawn)) and
p-diffusion (silicon) = (pdiff (drawn)) ∧ (¬poly (drawn))
12 SECTION 2 CMOS LOGIC ASICS... THE COURSE
nwell
p-diffusion
2λ
pdiff polysilicon
field oxide
field implant
poly
gate oxide
y LDD diffusion z
y
source/drain diffusion
x x
n-well (or substrate)
(a) (b) 2λ
y z m3
(a) y (b)
x x
via2
m2+via2 +m3 m2
The interconnect layers via1 TiW
AlCu
m1 (3000Å)
m2 W plug
contact m3
(4000Å)
+m1 2λ contact
+via1 Pt barrier
+m2 (200Å)
Key words: diffusion • Ω /square (ohms per square) • sheet resistance • silicide • self-
aligned silicide (salicide) • LI, white metal, local interconnect, metal0, or m0 • m1 or metal1
• diffusion contacts • polysilicon contacts • barrier metal • contact plugs (via plugs) •
chemical–mechanical polishing (CMP) • intermetal oxide (IMO) • interlevel dielectric
(ILD) • metal vias, cuts, or vias • stacked vias and stacked contacts • two-level metal
(2LM) • 3LM (m3 or metal3) • via1 • via2 • metal pitch • electromigration • contact resis-
tance and via resistance
14 SECTION 2 CMOS LOGIC ASICS... THE COURSE
1.
1 well 2.
2 active 3.
3 poly
10 (1.1) 3 (2.1) 5 (2.3) 3 (2.4) nwell 1 (3.5)
nwell 3 0 or 4 pdiff
(2.2) (2.5)
nwell 3 (3.4)
pdiff pdiff ndiff nwell
0 (1.4) 9 (1.2) 2 (3.3)
ndiff 3 ndiff 0 or 4 pdiff
hot 2 (3.2)
pwell (2.2) (2.5)
pwell 0 or 6 (1.3) poly
3 (2.1) 5 (2.3) 3 (2.4) pwell
2 (3.1)
4
4. select
pwell nwell 5.
5 poly 2 (5.3a)
1.5
p-select n-select contact (5.2a)
poly
pdiff
ndiff 2 × 2 (5.1a)
6.
6 active
1 (4.3) 3 (4.1) contact 2 (6.3a) nwell
poly
1.5 (6.2a) 2 (6.4a)
ndiff pdiff
2 (4.2)
n-select p-select
poly
2 × 2 1.5
77. metal1 8.
8 via1 (6.1a) (6.2a)
1 (7.3)
pdiff poly 2 (8.4)
3 (7.1)
poly 2 (8.5) via1
3 1 (8.3)
metal2 contact
(7.2a)
m1 m2
active
contact m1 2 poly 2 (8.5) 2 × 2 (8.1)
(7.2b) 3 (8.2) ndiff
1 (7.4)
99. metal2 15.
15 metal3
10.
10 overglass (microns)
14.
14 via2
30 (10.4)
3 (9.1) m3 6 (10.3)
2 × 2 (14.1) 2 (14.4) m3
m2 6
m2 1 (15.1)
via2 (14.3) m2
via1
4 (15.2)
m3 15
3 1 3 (10.5)
(14.2) via1 glass
(9.2b) 4 (9.3) via2
(9.2a) m3 m1
m2
m1
2 (15.3) 100 × 100 (10.1)
AOI221 OAI321
OR = parallel
AND = series VDD VDD
A 6/1 6/1
B A B adjust
C Z 3 4 sizes
D C 6/1 6/1
D
1 E
push bubbles to the inputs 6/1 6/(1+1+1) =
E
Z 2/1
OR = parallel
A AND = series
B 1/1 2/1 2/1
C Z E A C
D 2/1 2/1
E 2 B D
S'
strong '1' charge sharing
S=0 S'
A Z A Z
A Z '0'
S=1 VSMALL→VF VBIG→VF
A Z Z
S A
strong '0'
C SMALL '1' C BIG
S
Charge sharing: suppose CBIG =0.2pF and CSMALL =0.02pF, VBIG =0V and VSMALL =5V;
then
2.5.1 Latch
D Q D Q D Q
I1 I2 I1 I2 I1 I2
CLKP CLKP storage
loop
I3 I3 I3
CLKN
CLK
I4 I5
CLKN CLKP CLK CLK
D D
1D
C1 Q Q
t t
(a) (b) (c)
CMOS latch • enable • transparent • static • sequential logic cell • storage • initial value
18 SECTION 2 CMOS LOGIC ASICS... THE COURSE
2.5.2 Flip-Flop
master slave
CLKN CLKP
D M S Q
(a) I1 I2 I6 I8
CLKP CLKP CLKN CLKN
QN
I3 I7 I9
CLKN CLKP
CLK
I4 I5 1D
CLKN CLKP C1
load master
D M S Q
(b) I1 I2 I6 I8
store
CLK=1 QN
I3 I7 I9
load slave
D M S Q
(c) I1 I2 I6 I8
store
CLK=0
QN
I3 I7 I9
CLK 50%
t SU
(d) D
tH
M decision
window
Q
tPD
t
CMOS flip-flop
• master latch • slave latch
• active clock edge • negative-edge–triggered flip-flop
• setup time (tSU) • hold time (tH) • clock-to-Q propagation delay (tPD)
• decision window
ASICs... THE COURSE 2.6 Datapath Logic Cells 19
COUT[2] COUT[3]
A[3] S[3] m2
B[3] m1
A B COUT
A[2] S[2]
CIN S
B[2] COUT[2] COUT[3]
CIN COUT A[1] S[1]
A ADD B[1]
B SUM A[0] S[0] control
B[0] m2 m2
CIN CIN[0]
data
VSS m1 m1 VSS
(a) (b) (c) (d)
A datapath adder
• Ripple-carry adder (RCA)
• Data signals • control signals • datapath • datapath cell or datapath element
• Datapath advantages: predictable and equal delay for each bit • built-in interconnect
• Disadvantages of a datapath: overhead • harder design • software is more complex
20 SECTION 2 CMOS LOGIC ASICS... THE COURSE
Binary arithmetic
Binary Number Representation
Operation Signed Ones’ Two’s
Unsigned
magnitude complement complement
no change if positive then if negative if negative
MSB=0 then flip bits then {flip bits;
add 1}
else MSB=1
3= 0011 0011 0011 0011
–3= NA 1011 1100 1101
zero= 0000 0000 or 1000 1111 or 0000 0000
max. positive= 1111=15 0111=7 0111=7 0111=7
max. negative= 0000=0 1111=–7 1000=–7 1000=–8
addition= S=A+B if SG(A)=SG(B) S= S=A+B
then S=A+B
S= A+B A+B+COUT[MS
else {if B<A then B]
=addend+auge
S=A–B
nd
else S=B–A}
COUT is carry
out
SG(A)=sign of A
addition result: OR=COUT[M if SG(A)=SG(B) OV= OV=
SB] then
OV=overflow, XOR(COUT[MS XOR(COUT[MS
OV=COUT[MSB]
B], B],
OR=out of range
else OV=0 (impossi- COUT[MSB–1]) COUT[MSB–1]
COUT is carry
ble) )
out
SG(S)=sign of S NA if SG(A)=SG(B) NA NA
then SG(S)=SG(A)
else {if B<A then
S= A+B
SG(S)=SG(A)
else SG(S)=SG(B)}
subtraction= D=A–B SG(B)=NOT(SG(B)); Z=–B (negate); Z=–B (negate);
D= A–B D=A+B D=A+Z D=A+Z
=minuend
–subtrahend
22 SECTION 2 CMOS LOGIC ASICS... THE COURSE
2.6.2 Adders
Generate, G[i] and propagate, P[i]
method 1 method 2
G[i] = A[i] · B[i] G[i] = A[i] · B[i]
P[i] = A[i] ⊕ B[i P[i] = A[i] + B[i]
C[i] = G[i] + P[i] · C[i–1] C[i] = G[i] + P[i] · C[i–1]
S[i] = P[i] ⊕ C[i–1] S[i] = A[i] ⊕ B[i] ⊕ C[i–1]
Carry signal:
Carry-save adder (CSA) cell CSA(A1[i], A2[i], A3[i ], CIN, S1[i], S2[i], COUT) has three out-
puts:
S1[i] = CIN ,
S2[i] = A1[i] ⊕ A2[i] ⊕ A3[i ] = PARITY(A1[i], A2[i], A3[i ])
COUT = A1[i] · A2[i] + [(A1[i] + A2[i]) · A3[i ]] = MAJ(A1[i], A2[i], A3[i ])
ASICs... THE COURSE 2.6 Datapath Logic Cells 23
COUT[MSB] COUT[MSB–1]
COUT[MSB] OV
COUT[MSB–1]
COUT A1[MSB:0] n S1[MSB:0]
+ n
A1 A2[MSB:0] n
A2
CSA S1 + Σ
S2 +
A3 A3[MSB:0] n S2[MSB:0]
n
CIN CIN[0]
CLK CLK
CLK CLK CSA1 CSA2 RCA
n
A1[MSB:0] n 1 4
+ + S[MSB:0]
A2[MSB:0] n 2 + Σ Σ
+ + n n
A3[MSB:0] n + Σ 3 5
+
+ CSA2 RCA 1 23 4 5
A4[MSB:0] n
CSA1 pipeline registers
pipeline registers
(f) (g)
C[7]=(G[7]+P[7]·C[6])·BYPASS'+C[3]·BYPASS
carry-skip adder:
C[3]= G[3]
C[2] =G[2] +P[3]G[2]
C[1] =G[1] +P[2]G[1] + P[3]P[2]G[1]
+P[0] +P[2]P[1]G[0] +P[3]P[2]P[1]G[0]
G[0]
P[0] P[0]P[1] P[0]P[1]P[2] P[0]P[1]P[2]P[3]
CLG CLG CLG
G[1] G[2] G[3]
P[1] L1 P[2] L2 P[3] L3
Carry-select adder duplicates two small adders for the cases CIN='0' and CIN='1' and then
uses a MUX to select the case that we need
ASICs... THE COURSE 2.6 Datapath Logic Cells 25
Si_j_1 or Si_j_0 or
Ci_j_1 Ci_j_0
Qi_j Ci_j_k
Si_j_k or Ci_j_k
Ci_j_k (k =0 or 1)
G1
Si_j_0 or Si_j_k or
Ci_j_0 1 2 Q2_1
1 Ci_j_k C[0]
Si_j_1 or
Ci_j_1 S[1] C[2] S[0]
2.6.4 Multipliers
• Mental arithmetic: 15 (multiplicand) × 19 (multiplier) = 15 × (20–1) = 15 × 21
• Suppose we want to multiply by B=00010111 (decimal 16+4+2+1=23)
• Use the canonical signed-digit vector (CSD vector) D= 00101001 (decimal 32–8+1=
23)
• B has a weight of 4, but D has a weight of 3 — and saves hardware
ASICs... THE COURSE 2.6 Datapath Logic Cells 27
normalized area/k λ2
delay
120 3000
ripple-carry ripple-carry
carry-select carry-select
80 2000
carry-save carry-save
40 1000
2-input
NAND =1
8 16 32 64 8 16 32 64
bits bits
(a) (b)
Datapath adders
We can use a radix other than 2, for example Booth encoding (radix-4):
B=101001 (decimal 9–32=–23) ⇒ E= 1 21 (decimal –16–8+1=–23)
B=01011 (eleven) ⇒ E= 11 1 (16–4–1)
B=101 ⇒ E= 11
28 SECTION 2 CMOS LOGIC ASICS... THE COURSE
Each dot
'0' A B represents
'0' '0' an output of
S50 S40 COUT CIN one stage
redundant FA and an
carry input to the S50 0
a0 b0 '0' full adder S50 S23 next. S41
'0'
S51 S41 S31 Sum S41 S14 S32
S23
S32 S05 S14
a1 b1 c1 5.1 5.2 S05
S42 S32 S22 1
5.1
b2 c2 d2 5.3
5.2
S33 S23 S13 '0' 2
5.3
c3 d3 e3 5.4
5.4 3
S24 S14 S04
half
adder 4
d4 e4 f4
S15 S05
5.5 5
e5 f5 5.5
full
adder P5 6
'0'
f6 (c)
P6 P5 P4 P5
(a) (b)
S54S45 S53S44 S52S43 S51S42 S50 S41 S23S14 S22S13 S21S12 S20S11 S10'0' S00
1 S S S S S S S S S
1 35 2 34 3 33 4 32 5 05 6 04 7 03 8 02 9 01
S25 S15
S S31 S30 P1 P0
2
10 11 12 24 13 14 15 16 '0'
'0'
S40 P2
3 17 18 19 20 21 '0'
P3
4 '0' 0
22 23 24 '0'
P4 1
5 25
2
6 P5 3
26
4
S55 A B
7 5
27 28 29 30 P6 COUT CIN
FA 6
full 7
P11 P10 P9 P8 P7 adder
P5
Sum
0
S25 S34 S15 S24 S42 S51 S05 S14 S32 S41 S04S13 S00
1
S43 S33 S23 '0'
1 2 3 '0' 4 5 6 '0'
2
3 S35 S44 S52 S22 S03 S12 P0
4 7 8 9 10 11 S31 12 '0'
S45 S54 S53 S50 S40 S21S02 S11
13 14 15 16 17 18 19 S30 20 S20
S55 '0' S10S01
21 22 23 24 25 26 27 28 29 30 '0'
P10 P9 P8 P7 P6 P5 P4 P3 P2 P1
P11
The number of stages and thus delay (in units of an FA delay—excluding the CPA) for an n-bit
tree-based multiplier using (3, 2) counters is
log1.5 n = log10 n/log10 1.5 = log10 n/0.176
ASICs... THE COURSE 2.6 Datapath Logic Cells 31
A3
S32 two-input 2-bit A0 Z'0
AND submultiplier B0
B2
A3 A1 A3 A1 A1
A2 A0 A2 A0 B0 Z'1
B0 (3, 2) B0 A0
S32 B1 counter Z0 B1
B2 B1 B1 Z'2
B3
B2
(3, 2) A0
counter B3 B0 Z'4
A1
B1
(a) (b) (c)
CLK PRE A
Z[MSB:0]
D[MSB:0] Q[MSB:0]
A[MSB:0] Z[MSB:0] B[MSB:0]
B[MSB:0]
(c)
(a) (b)
A[MSB:0] + S[MSB:0]
S Σ
A[MSB:0] Z[MSB:0] Z[MSB:0] Z Z
0 +/-1 =0 =1 B[MSB:0] +/-
B[MSB:0] 1
(d) (e) (f) (g) (h)
NR1
DATAin
to core I1
logic
2.9 Summary
• The use of transistors as switches
• The difference between a flip-flop and a latch
• The meaning of setup time and hold time
36 SECTION 2 CMOS LOGIC ASICS... THE COURSE
2.10 Problems
Suggested homework: 2.1, 2.2, 2.38, 2.39 (from ASICs... the book)