Chap 1
Chap 1
Chapter 1 – Introduction
Lienig
Chapter 1 – Introduction
© KLMH
1.1Electronic Design Automation (EDA)
1.2 VLSI Design Flow
1.3VLSI Design Styles
1.4Layout Layers and Design Rules
1.5 Physical Design Optimizations
1.6 Algorithms and Complexity
1.7 Graph Theory Terminology
1.8 Common EDA Terminology
Lienig
1.1 Electronic Design Automation (EDA)
© KLMH
Moore’s Law
Lienig
1.1 Electronic Design Automation (EDA)
© KLMH
Impact of EDA technologies on
overall IC design productivity and
IC design cost
Lienig
1.1 Electronic Design Automation (EDA)
© KLMH
Time Period Circuit and Physical Design Process Advancements
1965 -1975 Layout editors, e.g., place and route tools, first developed for
printed circuit boards.
1975 -1985 More advanced tools for ICs and PCBs, with more sophisticated
algorithms.
1990 -2000 First over-the-cell routing, first 3D and multilayer placement and
routing techniques developed. Automated circuit synthesis and
routability-oriented design become dominant. Start of parallelizing
workloads. Emergence of physical synthesis.
Lienig
1.2 VLSI Design Flow
© KLMH
System Specification
Partitioning
Architectural Design
ENTITY test is
port a: in bit;
end ENTITY test;
Functional Design Chip Planning
and Logic Design
Physical Design
Clock Tree Synthesis
Physical Verification
DRC and Signoff
LVS Signal Routing
ERC
Fabrication
Timing Closure
Chip
Lienig
1.3 VLSI Design Styles
© KLMH
Layout editor
Menu Bar Toolbar
Drawing Tools
Layer Palette
Locator
Cell Browser
Layout Windows
Status Bar
Lienig
1.3 VLSI Design Styles
© KLMH
Common digital cells
IN1 IN2 OUT IN1 IN2 OUT IN OUT IN1 IN2 OUT IN1 IN2 OUT
0 0 0 0 0 0 0 1 0 0 1 0 0 1
1 0 0 1 0 1 1 0 1 0 1 1 0 0
0 1 0 0 1 1 1 0 0 1 1 0 1 0
1 1 1 1 1 1 1 1 1 1 0 1 1 0
Lienig
1.3 VLSI Design Styles Vdd Contact
Metal layer
© KLMH
Vdd IN2 Poly layer
IN2
IN1 OUT Diffusion layer
OUT
IN1 p-type
transistor
n-type
GND
transistor
GND
IN1
OUT
IN2
Lienig
1.3 VLSI Design Styles Vdd Contact
Metal layer
© KLMH
Vdd IN2 Poly layer
IN2
IN1 OUT Diffusion layer
OUT
IN1 p-type
transistor
n-type
GND
transistor
GND
IN1
OUT
IN2 Power (Vdd)-Rail
© 2022 Springer Verlag
Ground (GND)-Rail
10
Lienig
1.3 VLSI Design Styles
© KLMH
Standard cell layout with Standard cell layout using
a feedthrough cell over-the-cell (OTC routing
A A
VDD VDD
GND
A’ GND
A’
Lienig
1.3 VLSI Design Styles
© KLMH
Layout with macro cells
RAM
PLA
VDD
RAM
Standard Cell GND
Block
PLA
12
Lienig
1.3 VLSI Design Styles
© KLMH
Field-programmable gate
array (FPGA)
Logic Element
LB LB LB
Switchbox Connection
SB SB
LB LB LB
SB SB
13
Lienig
1.4 Layout Layers and Design Rules
© KLMH
Layout layers of an inverter cell
with external connections
Inverter Cell
Vdd
Metal2 Contact
Metal1 Via
polysilicon
p/n diffusion
GND
14
Lienig
1.4 Layout Layers and Design Rules
© KLMH
Categories of design rules
· Size rules, such as minimum width: The dimensions of any component (shape), e.g.,
length of a boundary edge or area of the shape, cannot be smaller than given
minimum values. These values vary across different metal layers.
· Separation rules, such as minimum separation: Two shapes, either on the same
layer or on adjacent layers, must be a minimum (rectilinear or Euclidean diagonal)
distance apart.
· Overlap rules, such as minimum overlap: Two connected shapes on adjacent layers
must have a certain amount of overlap due to inaccuracy of mask alignment to
previously-made patterns on the wafer.
15
Lienig
1.4 Layout Layers and Design Rules
© KLMH
Categories of design rules
a
c
Minimum Width: a
Minimum Separation: b, c, d
e
Minimum Overlap: e
d
b
Lienig
1.5 Physical Design Optimizations
© KLMH
Types of constraints
· Technology constraints enable fabrication for a specific technology node and are
derived from technology restrictions. Examples include minimum layout widths and
spacing values between layout shapes.
· Electrical constraints ensure the desired electrical behavior of the design. Examples
include meeting maximum timing constraints for signal delay and staying below
maximum coupling capacitances.
17
Lienig
1.6 Algorithms and Complexity
© KLMH
Runtime complexity
18
Lienig
1.6 Algorithms and Complexity
© KLMH
Runtime complexity
19
Lienig
1.6 Algorithms and Complexity
© KLMH
Heuristic algorithms
· Deterministic: All decisions made by the algorithm are repeatable, i.e., not random.
One example of a deterministic heuristic is Dijkstra’s shortest path algorithm.
· Stochastic: Some decisions made by the algorithm are made randomly, e.g., using a
pseudo-random number generator. Thus, two independent runs of the algorithm will
produce two different solutions with high probability. One example of a stochastic
algorithm is simulated annealing.
20
Lienig
1.6 Algorithms and Complexity
© KLMH
Heuristic algorithms
Problem Instance
Constructive Algorithm
Initial Solution
Iterative Improvement
no
Termination
Criterion Met?
yes
Return Best-Seen Solution
21
Lienig
1.7 Graph Theory Terminology
© KLMH
Graph Hypergraph Multigraph
b b b
a e
f
a a
c d
e g f
d c c
Lienig
1.7 Graph Theory Terminology
© KLMH
Directed graphs with cycles Directed acyclic graph
c f c f
a a
a b
b d g b d g
e e
23
Lienig
1.7 Graph Theory Terminology
© KLMH
Undirected graph with maximum node degree 3 Directed tree
b a
a
f b c d
c
e g e f g h i j k
d
24
Lienig
1.7 Graph Theory Terminology
© KLMH
Rectilinear minimum spanning Rectilinear Steiner minimum
tree (RMST) tree (RSMT)
b (2,6) b (2,6)
Steiner point
c (6,4) c (6,4)
a (2,1) a (2,1)
Lienig
1.8 Common EDA Terminology
© KLMH
Netlist
26
Lienig
1.8 Common EDA Terminology
© KLMH
Connectivity graph
a x a x
N3 N5
N1 N2 z c z c
N4
y
b b y
27
Lienig
1.8 Common EDA Terminology
© KLMH
Connectivity matrix
a b x y z c
a 0 0 1 1 0 0
a b 0 0 1 1 0 0
x
x 1 1 0 2 1 0
N3 N5
N1 N2 z c y 1 1 2 0 1 0
N4
z 0 0 1 1 0 1
y
b c 0 0 0 0 1 0
28
Lienig
1.8 Common EDA Terminology
© KLMH
Distance metric between two points P1 (x1,y1) and P2 (x2,y2)
n n
d x2 x1 y2 y1
n
n = 1: Manhattan distance d M ( P1 , P2 ) x2 x1 y 2 y1
P1 (2,4) dM = 7
dE = 5
dM = 7 P2 (6,1)
29
Lienig
Summary of Chapter 1
© KLMH
· IC production experienced huge growth since the 1960s
- Exponential decrease in transistor size, cost per transistor, power per transistor, etc
30
Lienig