VLSI Routing. Routing Problem Given a placement, and a fixed number of metal layers, find a valid...
-
date post
20-Dec-2015 -
Category
Documents
-
view
224 -
download
4
Transcript of VLSI Routing. Routing Problem Given a placement, and a fixed number of metal layers, find a valid...
VLSI Routing
Routing
• Problem Given a placement, and a fixed number of metal
layers, find a valid pattern of horizontal and vertical wires that connect the terminals of the nets
Levels of abstraction:o Global routingo Detailed routing
• Objectives Cost components:
o Area (channel width) o Wire delays o Number of layerso Additional cost components: number of bends, vias
Global vs. Detailed Routing• Global routing
Input: detailed placement, with exact terminal locations
Determine “channel” (routing region) for each net
Objective: minimize area (congestion), and timing (approximate)
• Detailed routing Input: channels and approximate
routing from the global routing phase Determine the exact route and layers
for each net Objective: valid routing, minimize
area (congestion), meet timing constraints
Additional objectives: min via, power Figs. [©Sherwani]
Routing Environment
• Chip architecture Full-custom Standard cell Gate Array
Routing Environment
• Chip architecture Full-custom:
o No constraint on routing regions
Objective functions are the objective functions of general routing problem.
•Routability•Area Minimization•Total wire length minimization•Maximum wire length minimization
Routing Environment
• Chip architecture Standard cell:
o Variable channel height?
o Feed-through cells connect channels
Failed netChannel
Feedthroughs
•Channels do not have predetermined capacity•Feedthroughs have predetermined capacty
•Area minimization•Minimization to total wire length•Minimization of maximum wire lenght
Routing Environment
• Chip architecture Gate Array:
o Fixed channel height
o Limited switchbox connections
o Prefabricated wire segments have different weights
Figs. [©Sherwani]
Tracks
Failed connection
•Routability•Minimize total wire length•Minimize maximum wire length
Maze Routing (Lee Algorithm)• Similar to breadth-first search
Very simple algorithm Works on grid graph Time complexity: grid size (NxN)
• Algorithm Propagate a “wave” from source
until hit the sink(implemented using a queue)
Trace back to find the path• Guaranteed to find the optimal solution
Usually multiple optimal solutions exist• More than two terminals?
For the third terminal, use the path between the first two as the source of the wave
s 1
1
1
22
22
23
3 3
3
3
3
4
4
4
44
4
5
5
5
5
55
5
5t
1
1
2
22
3
3
3
3 4
4
44
4
5
Multiple Terminal Nets
A
E
B
C
D
1
1
2
22
3
3
3
3 4
4
44
4
5
Multiple Terminal NetsD
E
C
B
A
1
2
1
1
2
1
1
2
2
11
2
22
3
D
E
C
B
A
Multiple Terminal Nets
2
1
1
2
1
1
2
2
11
1
1
1
D
E
C
B
A
Multiple Terminal Nets
1
12
2
2
2
2
2
2
Finding More Desirable Paths
2
3 3
21
2
2 2 1
3
1
3 3
Finding More Desirable Paths
1 2 2
2 2
2
22
33
3
3
3 33
3 3 3 3 33
3
3 3 3 3 3 33
222222 2 3
2
3 3
21
2
2 2 1
3
1
3 3
Finding More Desirable Paths
1 2 2
2 2
2
22
33
3
3
3 33
3 3 3 3 33
3
3 3 3 3 3 33
222222 2 3
1
5
Finding More Desirable Paths
2 2
2
3
5
5
5
4
1
5
8
Finding More Desirable Paths
2 2
2
6
35
8
58
85
5
4
11 9 7 1
5
8
Finding More Desirable Paths
15 2 2
16 2
6
35
811
5
14
11 814
17 14 11 85
5
1113 9
4
11 9 7 1
5
8
Finding More Desirable Paths
15 2 2
16 2
6
35
811
5
14
11 814
17 14 11 85
5
1113 9
412
11 9 7 1
5
8
Finding More Desirable Paths
13 2 2
16 2
6
35
811
5
14
11 814
17 14 11 85
5
1113 9
412
Speed Improvement
S T
Hadlock’s Algorithm
S
T
01
1
1
1 1
1
1
1
2 2 2
2
2
112
22
2
22 2 2
Soukup’s Algorithm
S
T
0
0
11
1
1
1
1
2 2 2
0 1
1
Line Search (Probe) AlgorithmMikami-Tabuchi’s Algorithm
0
0
11
1
1
1
1
2 2 2
0 1
1
Line Search (Probe) AlgorithmHightower’s Algorithm
Multi Terminal Nets
Steiner Tree
Steiner tree
Steinerpoint
MST
Rectilinear Steiner Tree
Minimize Wire length