Upload
mkachhap
View
221
Download
0
Embed Size (px)
Citation preview
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
1/97
DES/EDA609 :
Principles of ASIC Design
Jayaraj NarayanaOct 3rd 2010
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
2/97
Last Class
Course Information
History : Transistors, ICs, Moores Law, etc.
ASICs : Introduction and Types Full-custom, semi-custom ICs Standard-cell, Gate-array
Programmable ASICs
Design Methodology / Flow : ASIC
FPGAs : Introduction
ASICs vs FPGAs : A comparison
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
3/97
Agenda
ASIC Cell Libraries
CMOS Logic :Logic Levels, Design Rules
Layout, Stick diagrams
Sequential & Data Path Logic Cells
Residue Number Systems I/O Cells
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
4/97
ASIC Cell Libraries
Cell Library is key part of ASIC design
Options: Design kit , ASIC vendor, third party library
ASIC vendor Library
Phantom library ( empty boxes)
ASIC vendor fills empty boxes after layout hand off
Buy or build library : A Decision
Target for a qualified cell library ( can buy )
Develop a cell library in house
Views : Physical layout, models ( behavioral / timing/ wire-load/routing), Circuit
schematic, test strategy, cell icon.
Characterization : Simulation of each cell with extracted parasitics to determine
switching delays
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
5/97
CMOS Logic, Layout, Design Rules
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
6/97
3D Perspective of nMOS Transistor
Polysilicon Aluminum
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
7/97
Complementary CMOS
Complementary CMOS logic gates
nMOSpull-down network
pMOSpull-up network
a.k.a. static CMOS
pMOS
pull-upnetwork
output
inputs
nMOSpull-down
network
X (crowbar)0Pull-down ON
1Z (float)Pull-down OFF
Pull-up ONPull-up OFF
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
8/97
Signal Strength
nMOS pass strong 0 But degraded or weak 1
pMOS pass strong 1 But degraded or weak 0
Thus NMOS are best for pull-down network
Thus PMOS are best for pull-up network
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
9/97
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
10/97
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
11/97
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
12/97
Conduction Complement Complementary CMOS gates always produce 0 or 1
Ex: NAND gate Series nMOS: Y=0 when both inputs are 1
Thus Y=1 when either input is 0
Requires parallel pMOS
Rule ofConduction Complements Pull-up network is complement of pull-down
Parallel -> series, series -> parallel
A
B
Y
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
13/97
CMOS Gate Design
A 4-input CMOS NOR gate
A
B
C
DY
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
14/97
Example: O3AI
DCBAY ++= )(
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
15/97
Example: O3AI
A B
Y
C
D
DC
BA
DCBAY ++= )(
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
16/97
Layout of Inverter : Detailed Steps
Gnd
Vp
xx
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
17/97
Inverter Cross-section
Typically use p-type substrate for nMOS transistors
Requires n-well for body of pMOS transistors
n+
p substrate
p+
n well
A
YGND V
DD
n+ p+
SiO2
n+ diffusion
p+ diffusion
polysilicon
metal1
nMOS transistor pMOS transistor
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
18/97
Layer Types
p-substrate
n-well
n+
p+
Gate oxide
Gate (polysilicon) Field Oxide
Insulated glass
Provide electrical isolation
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
19/97
CMOS Process LayersLayer
Polysilicon
Metal1
Metal2
Contact To Poly
Contact To Diffusion
Via
Well (p,n)
Active Area (n+,p+)
Color Representation
Yellow
Green
Red
Blue
Magenta
Black
Black
Black
Select (p+,n+)Green
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
20/97
Gate Layout
Layout can be very time consuming
Design gates to fit together nicely
Build a library of standard cells
Standard cell design methodology
VDD and GND should abut (standard height)
Adjacent gates should satisfy design rules
nMOS at bottom and pMOS at top
All gates include well and substrate contacts
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
21/97
Layout
Chips are specified with set of masks
Minimum dimensions of masks determine transistor size (and hence
speed, cost, and power)
Feature sizef= distance between source and drain Set by minimum width of polysilicon
Feature size improves 30% every 3 years or so
Normalize for feature size when describing design rules
Express rules in terms of l =f/2
E.g. l = 0.3 mm in 0.6 mm process
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
22/97
Inverter Layout
Transistor dimensions specified as Width / Length
Minimum size is 4l / 2l, sometimes called 1 unit
Inf= 0.6 mm process, this is 1.2 mm wide, 0.6 mm long
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
23/97
Example: Inverter
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
24/97
Example: NAND3
Horizontal N-diffusion and p-diffusion strips
Vertical polysilicon gates
Metal1 VDD rail at top Metal1 GND rail at bottom
32 by 40
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
25/97
NAND3 (using Electric), contd.
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
26/97
Stick Diagrams
Cartoon of a layout.
Shows all components.
Does not show exact placement, transistor sizes,
wire lengths, wire widths, boundaries, or anyother form of compliance with layout or design rules.
Useful for interconnect visualization, preliminary layout
layout compaction, power/ground routing, etc.
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
27/97
Stick Diagrams
Stick diagrams help plan layout quickly
Need not be to scale
Draw with color pencils or dry-erase markers
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
28/97
Stick Diagrams
Stick diagrams help plan layout quickly
Need not be to scale
Draw with color pencils or dry-erase markers
VinVout
VDD
GND
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
29/97
Stick Diagrams
Metal
poly
ndiff
pdiff
Can also draw
in shades of
gray/line style.
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
30/97
Stick Diagram - Example I
NOR Gate
OUT
B
A
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
31/97
Stick Diagrams
Stick diagrams help plan layout quickly
Need not be to scale
Draw with color pencils or dry-erase markers
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
32/97
Sticks Diagram
1
3
In Out
VDD
GND
Stick diagram of inverter
Dimensionless layout entities Only topology is important Final layout generated by
compaction program
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
33/97
Activity 2
Sketch a stick diagram for a 4-input NOR
gate
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
34/97
Activity 2 Sketch a stick diagram for a 4-input NOR gate
AVDD
GND
B C
Y
D
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
35/97
Design Rules
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
36/97
Design Rules
Interface between designer and process engineer
Guidelines for constructing process masks
Unit dimension: Minimum line widthscalable design rules: lambda parameter
absolute dimensions (micron rules)
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
37/97
Wiring Tracks
A wiring trackis the space required for a wire 4 l width, 4 l spacing from neighbor = 8 l pitch
Transistors also consume one wiring track
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
38/97
Well spacing Wells must surround transistors by 6 l
Implies 12 l between opposite transistor flavors
Leaves room for one wire track
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
39/97
Area Estimation Estimate area by counting wiring tracks
Multiply by 8 to express in l
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
40/97
Example: O3AI
Sketch a stick diagram for O3AI and estimate area
DCBAY ++= )(
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
41/97
Example: O3AI
Sketch a stick diagram for O3AI and estimate area
DCBAY ++= )(
E l O3AI
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
42/97
Example: O3AISketch a stick diagram for O3AI and estimate area
DCBAY ++= )(
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
43/97
Simplified Design Rules
Conservative rules to get you started
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
44/97
Intra-Layer Design Rules
Metal24
3
1 0
90
W e l l
A c t i v e3
3
P o l y s i l i c o n
2
2
D i f f e r e n t P o t e n t i a lS a m e P o t e n t i a l
M e t a l 1 3
3
2
C o n t a c to r V i a
S e l e c t
2
o r6
2H o l e
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
45/97
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
46/97
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
47/97
Sequential Logic Cells
Latch
Flip-Flop
Clocked Inverter
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
48/97
D Latch Design
Multiplexer chooses D or old Q
1
0
D
CLK
Q CLK
CLKCLK
CLK
DQ Q
Q
Old Q
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
49/97
D Latch When CLK = 1, latch is transparent
Q follows D (a buffer with a Delay)
When CLK = 0, the latch is opaque
Q holds its last value independent of D
a.k.a. transparent latch orlevel-sensitive latch
CLK
D QLatch D
CLK
Q
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
50/97
D Latch Operation
CLK = 1
D Q
Q
CLK = 0
D Q
Q
D
CLK
Q
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
51/97
D Flip-flop
When CLK rises, D is copied to Q
At all other times, Q holds its value
a.k.a.positive edge-triggered flip-flop, master-slave flip-flop
Flop
CLK
D Q
D
CLK
Q
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
52/97
D Flip-flop Design
Built from master and slave D latches
QM
CLK
CLKCLK
CLK
Q
CLK
CLK
CLK
CLK
D
Latch
Latch
D QQM
CLK
CLK
A negative level-sensitive latch A positive level-sensitive latch
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
53/97
D Flip-flop Operation
CLK = 1
D
CLK = 0
Q
D
QM
QMQ
D
CLK
Q
Inverted version of D
Q -> NOT(NOT(QM))
Holds the last value of NOT(D)
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
54/97
Race Condition
Back-to-back flops canmalfunction from clock skew
Second flip-flop fires Early
Sees first flip-flop change
and captures its result
Called hold-time failure or
race condition
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
55/97
Timing ConstraintsR1
D QCombinational
Logic
In
CLK tCLK1
R2
D Q
tCLK2
tc qtc q, cdtsu, thold
tlogict
Minimum cycle time:
T - = tc-q + tsu + tlogic
Worst case is when receiving edge arrives early (positive )
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
56/97
Timing ConstraintsR1
D QCombinational
Logic
In
CLK tCLK1
R2D Q
tCLK2
tc qtc q, cdtsu, thold
tlogict
Hold time constraint:
t(c-q, cd) + t(logic, cd) > thold +
Worst case is when receiving edge arrives late
Race between data and clock
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
57/97
Nonoverlapping Clocks
Nonoverlapping clocks can prevent races As long as nonoverlap exceeds clock skew
Good for safe design
Industry manages skew more carefully instead 1
1 1
1
2
2 2
2
2
1
QMQD
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
58/97
Clocked Inverter
A series combination of an inverter and a transmissiongate
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
59/97
Datapath Logic Cells
Adder
Ripple, Carry Save, Carry Bypass, Carry Skip
Carry Look ahead Adders ( Brent-Kung)
Carry Select and Conditional Sum adder
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
60/97
Adders
A. Conventional number system.
Carry-propagate adders / Ripple carry Adders (CPA / RCA)
Carry-skip adder
Carry-lookahead adder
Carry-select adder
Conditional-sum adder
B. Redundant number system : limited carry propagation
Carry-save adder
F ll Add
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
61/97
Full-Adder
A B
Cout
Sum
Cin Fulladder
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
62/97
Full Adder Implementations
Th Bi Add
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
63/97
The Binary Adder
S A B Ci
=
A= BCi A BCi AB Ci A B Ci+ + +
Co
A B B Ci
A Ci
+ +=
A B
Cout
Sum
Cin Fulladder
d f i f
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
64/97
Express Sum and Carry as a function of P, G, D
Define 3 new variable which ONLY depend on A, B
Generate (G) = AB
Propagate (P) = A B
Delete/Kill= A
B
Can also derive expressions forSand Co based on D and P
Propagate (P) = A + BNote that we will be sometimes using an alternate definition for
Th Ri l C Add
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
65/97
The Ripple-Carry Adder
Worst case delay linear with the number of bits
Goal: Make the fastest possible carry path circuit
FA FA FA FA
A0 B0
S0
A1 B1
S1
A2 B2
S2
A3 B3
S3
Ci,0 Co,0
(= Ci,1)
Co,1 Co,2
td= O(N)
tadder= (N-1)tcarry+ tsum
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
66/97
C B Add
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
67/97
Carry-Bypass Adder
FA FA FA FA
P0 G1 P0 G1 P2 G2 P3 G3
Co,3Co, 2Co ,1Co,0Ci,0
F A FA FA FA
P0 G1 P0 G1 P2 G2 P3 G3
Co,2Co, 1Co ,0Ci,0
Co,3
Multiplexer
BP=PoP1P2P3
Idea: If (P0 and P1 and P2 and P3 = 1)
then Co3 = C0, else kill or generate.
Also called
Carry-Skip
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
68/97
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
69/97
Carry Skip Adder
L kAh d B i Id
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
70/97
LookAhead - Basic Idea
Co k, f A k Bk Co k, 1, ,( )Gk P kCo k 1,+= =
AN-1, BN-1A1, B1
P1
S1
SN-1
PN-1Ci, N-1
S0
P0Ci,0 Ci,1
A
L k Ah d T l
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
71/97
Look-Ahead: Topology
Co k,Gk Pk Gk 1 Pk 1 Co k 2,
+( )+=
Co k, Gk Pk Gk 1 P k 1 P1 G0 P0 Ci 0,+( )+( )+( )+=
Expanding Lookahead equations:
All the way:
Co,3
Ci,0
VDD
P0
P1
P2
P3
G0
G1
G2
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
72/97
Carry Lookahead Trees
Co 0, G0 P0Ci 0,+=
Co 1,
G1
P1
G0
P1
P0
Ci 0,
+ +=
Co 2, G2 P2G1 P2 P1G0 P+ 2 P1P0C i 0,+ +=
G2 P2G1+( )= P2P1( )G0 P0Ci 0,+( )+ G 2:1 P2:1Co 0,+=
Can continue building the tree hierarchically.
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
73/97
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
74/97
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
75/97
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
76/97
Multipliers
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
77/97
Multipliers
The Binary Multiplication
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
78/97
The Binary Multiplication
x
+
Partial products
Multiplicand
Multiplier
Result
1 0 1 0 1 0
1 0 1 0 1 0
1 0 1 0 1 0
1 1 1 0 0 1 1 1 0
0 0 0 0 0 0
1 0 1 0 1 0
1 0 1 1
Canonical Signed Digit Vector
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
79/97
Note : B = Binary Number, D= CSD vector
Ci+1 is the Carry from the sum of Bi+1 + Bi + Ci ( start with C0=0)
Canonical Signed Digit Vector
Booths Algorithm
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
80/97
Booth s Algorithm
Booths Algorithm Rules
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
81/97
g
Booths Algorithm An Example
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
82/97
Booth s Algorithm An Example
Radix-4 Modified Booths Algorithm
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
83/97
g
Radix-4 Booths Algorithm Rules
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
84/97
Radix-4 Versus Radix-2 Booths Algorithm
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
85/97
Residue Number System: Continued
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
86/97
A residue number system (RNS)represents a large integer using a set of
smaller integers, so that computation
may be performed more efficiently
We add, subtract or multiply residue
numbers using modules of each bitposition - without any carry.
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
87/97
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
88/97
Other Datapath Operators
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
89/97
Subtracter
Barrel-Shifter
Leading-one detector
Priority Encoder Accumulator
Decrementer
All-zeros / ones detector
Register File
FIFO
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
90/97
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
91/97
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
92/97
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
93/97
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
94/97
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
95/97
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
96/97
Summary
ASIC Cell Libraries
CMOS Logic :Logic Levels, Design Rules
Layout, Stick diagrams
Sequential & Data Path Logic Cells
Residue Number Systems
I/O Cells
8/8/2019 DES_EDA_609_Lecture2_Oct03_2010
97/97
Next Class
ASIC Library Design:
Logical Effort,
Library-Cell Design,
Gate-Array Design,
Standard-Cell Design.