New Modeling Techniques for the Global Routing Problem
description
Transcript of New Modeling Techniques for the Global Routing Problem
![Page 1: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/1.jpg)
New Modeling Techniques for the Global
Routing Problem
Anthony VannelliDepartment of Electrical and Computer EngineeringUniversity of WaterlooWaterloo, [email protected]
November 2, 2004
![Page 2: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/2.jpg)
Outline
Introduction
Optimization Techniques
Modeling Techniques
Global Routing
Summary and Conclusions
2
![Page 3: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/3.jpg)
Major Contributions
• Development of route construction techniques based on congestion.
• Development of congestion estimation techniques.
• Development of flexible and powerful multi-objective formulations.
• Enhancement of numerical techniques to solve the global routing problem.
41
![Page 4: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/4.jpg)
Introduction• Today’s ICs contain millions of transistors.• VLSI: “Very Large Scale Integration” .
• Performance criteria: Delay Power Size
• Routing is one of the most important factors in VLSI design.
3
![Page 5: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/5.jpg)
Intel Microprocessors
microprocessor Date of introduction
Number of transistors
Feature size(microns)
80286 1982 134,000 1.5
80386 1985 275,000 1.5
80486 1989 1,200,000 1.0
Pentium 1993 3,100,000 0.8
Pentium Pro 1995 5,500,000 0.6
Pentium 4 2000 46,000,000 0.18
Why Is Routing Important?
4
![Page 6: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/6.jpg)
VLSI Design
Architectural design
Logic design
Circuit design
Physical design
Fabrication
Inp
ut-
Outp
ut
Memory
Data Path
ControlUnit
5
![Page 7: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/7.jpg)
VLSI Design
Architectural design
Logic design
Circuit design
Physical design
Fabrication
5
![Page 8: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/8.jpg)
VLSI Design
AA
B B
CC
Sum Sum
ACC
B
CoutCout
B
A
A
A A
Architectural design
Logic design
Circuit design
Physical design
Fabrication
5
![Page 9: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/9.jpg)
VLSI Design
Architectural design
Logic design
Circuit design
Physical design
Fabrication
5
![Page 10: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/10.jpg)
VLSI Design
Architectural design
Logic design
Circuit design
Physical design
Fabrication
5
![Page 11: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/11.jpg)
Circuit Layout
Places the modules. Runs the wires that
connect them.
L
L B
H
E
J
A
E
T
H
A
6
![Page 12: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/12.jpg)
Circuit Layout
Places the modules. Runs the wires that
connect them.
LL HEA
B JE H A T
L
L B
H
E
J
A
E
T
H
A
6
![Page 13: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/13.jpg)
Circuit Layout
Places the modules. Runs the wires that
connect them.
Typical Objectives: Minimize the wire length Minimize the delay Minimize the power
LL HEA
B JE H A T
L
L B
H
E
J
A
E
T
H
A
6
![Page 14: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/14.jpg)
Circuit Layout
Normally divided into steps
Partitioning
Placement
Routing
7
![Page 15: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/15.jpg)
Circuit Layout
Normally divided into steps
Partitioning
Placement
Routing
8
![Page 16: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/16.jpg)
Circuit Layout
Normally divided into steps
Partitioning
Placement
Routing
8
![Page 17: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/17.jpg)
Circuit Layout
Normally divided into steps
Partitioning
Placement
Routing
8
Global Routing
![Page 18: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/18.jpg)
Circuit Layout
Normally divided into steps
Partitioning
Placement
Routing
8
Detailed Routing
![Page 19: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/19.jpg)
Global Routing
• Global routing is used to find an approximate path for the wires connecting the modules.
• NP-hard problem (i.e. difficult to solve for large problems).
• Solution quality can effect the performance of the circuit.
9
![Page 20: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/20.jpg)
Illustrative Example
Net 1 terminals:
Objective: Minimize the total wire length
Net 2 terminals:
10
![Page 21: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/21.jpg)
Illustrative Example
Net 1 terminals:
Objective: Minimize the total wire length
Net 2 terminals:
10
Total wire length= 8
![Page 22: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/22.jpg)
Global Routing Techniques
Two main techniques:
Sequential Routing technique: Nets are routed sequentially.
Mathematical Programming technique:
All nets are routed at the same time.
11
![Page 23: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/23.jpg)
Sequential Routing
Nets are ordered according to importance. Each net is routed separately.
1. Net 1 2. Net 2
Priority List
12
![Page 24: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/24.jpg)
Sequential Routing
Nets are ordered according to importance. Each net is routed separately.
1. Net 1 2. Net 2
Length of net 1 = 4
Priority List
12
![Page 25: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/25.jpg)
Sequential Routing
Nets are ordered according to importance. Each net is routed separately.
1. Net 1 2. Net 2
Length of net 1 = 4Length of net 2 = 5
Priority List
12
![Page 26: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/26.jpg)
Sequential Routing
Total wire length:9
The solution is dependent on net ordering
Drawback:
13
![Page 27: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/27.jpg)
Mathematical Programming
A set of routes is made for each net. Each route is assigned a binary variable.
Route 2
Route 1
Route 3
Route 1: Y1
Route 2: Y2
Route 3: Y3
Net 1 Routes:
Y =1 - Route selected0 - Otherwise{
14
![Page 28: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/28.jpg)
Mathematical Programming
An Integer Linear Programming (ILP) problem is written:
min L yi
Subject to:
• For each net only one route can be chosen.
• Number of routes passing through a channel can not exceed the maximum channel capacity.
• Binary constraints on routes.
15
![Page 29: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/29.jpg)
Drawbacks
The total number of possible routes can be very large.
Each route is a binary variable in the optimization problem.
Optimization problem becomes very large and hard to solve.
Example: MCNC Fract Test Circuit
147 nets more than 28,000 possible routes
16
![Page 30: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/30.jpg)
Modeling Techniques
Develop congestion estimation techniques to construct an optimal set of routes:
• Least number of routes possible.• Least amount of congestion.
Develop multi-objective modeling techniques.
17
![Page 31: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/31.jpg)
Route Construction
Initial approach: Limit the number of routes considered by making only
minimum-length minimum-bend routes.
Can result in sub-optimal and infeasible solutions.
18
![Page 32: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/32.jpg)
Route Construction
Proposed enhancement: Use congestion techniques to estimate
where additional possible routes should be generated.
Limits the size of the problems. Gives feasible and optimal
solutions.
19
![Page 33: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/33.jpg)
Congestion
Definition:
In the final solution, there are toomany routes in a given channel.
Congested areas can cause: Infeasibility Hotspots
20
![Page 34: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/34.jpg)
Example: MCNC BIO Test Circuit
Vertical Channels
Hori
zonta
l C
han
nels
21
![Page 35: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/35.jpg)
Example: MCNC BIO Test Circuit
Vertical Channels
Hori
zonta
l C
han
nels
21
![Page 36: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/36.jpg)
Congestion Estimation Model
Data: Number of routes produced for each
net. Which edge each route passes through.
Objective: To estimate the number of routes that
might pass through each edge.
22
![Page 37: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/37.jpg)
Routing Demand
Definition:
• The probability of each route to be chosen:
• Routing Demand, r(e), of each edge is the sum of the probabilities of the routes that pass through the edge.
net ain routes ofnumber
1)( Yp
23
![Page 38: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/38.jpg)
Proposed Approach
Calculated routing demands are used to identify congested areas;
1. Generate additional routes for the nets in the areas where congestion is most likely to occur.
2. Construct additional routes through areas where congestion is less likely to occur.
24
![Page 39: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/39.jpg)
Set of Possible Routes
25
Set of all possible routes
Produced based on congestion
Minimum length routes
![Page 40: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/40.jpg)
Proposed Route Construction
Congestion Based Route Construction
Construct minimum length routes
Estimate congestion
Construct additional routes for congested nets
26
![Page 41: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/41.jpg)
Illustrative Example
Net 1: Route Y1 p(Y1) = 1
Net 2:Route Y2, p(Y2) = 1/2
Route Y3, p(Y3) = 1/2
e1
e3
e2
27
![Page 42: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/42.jpg)
Illustrative Example
Routing Demands:
r(e1) = p(Y2)=1/2
r(e2) = p(Y1)+p(Y3) = 3/2
r(e3) = 0
27
e1
e3
e2
![Page 43: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/43.jpg)
Illustrative Example
Additional Trees:
For net 1 Y4 p(Y4)
p(Y1) = 1/2p(Y4) = 1/2
27
e1
e3
e2
![Page 44: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/44.jpg)
Illustrative Example
27
e1
e3
e2
Routing Demands:
r(e1) = p(Y2)=1/2
r(e2) = p(Y1)+p(Y3) = 1/2+1/2=1
r(e3) = p(Y4) = 1/2
![Page 45: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/45.jpg)
Test Circuits
28
Name # nets Grid sizes
Case 1 bio 5742 46x46
Case 2 ind1 2478 27x27
Case 3 ind2 13419 71x71
Case 4 ind3 21938 54x54
Case 5 avq.small 22124 66x66
Case 6 avq.large 25384 66x66
![Page 46: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/46.jpg)
Numerical Results
0
5000
10000
15000
20000
25000
30000
35000
40000
45000
50000
Num
ber o
f Rou
tes
1 2 3 4 5 6
Case Number
Original Number ofRoutesAdditional Routes for allnetsAdditional Routes basedon Congestion
29
![Page 47: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/47.jpg)
Numerical Results
0
5
10
15
20
25
30
35
40
45
50
Max
imum
Rou
ting
Dem
and
1 2 3 4 5 6
Case Number
Original Routes
Additional Routes for allnetsAdditional RoutesBased on Congestion
30
![Page 48: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/48.jpg)
Numerical Results
31
Before constructing additional trees
After constructing additional trees
Routi
ng d
em
and
Routi
ng d
em
and
![Page 49: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/49.jpg)
Modeling Formulations
Traditional Approaches: Consider only wire length
Proposed Multi-Objective Approaches: Wire length Congestion Number of bends Channel Capacity
32
![Page 50: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/50.jpg)
Numerical Results
0
10
20
30
40
50
60
Max
imum
Cha
nnel
Cap
acity
1 2 3 4 5 6
Case Number
Wire Length Appoach
Combined Approach
33
![Page 51: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/51.jpg)
Numerical Results
0
5
10
15
20
25
30
35
40
Wire
Len
gth
(m)
1 2 3 4 5 6
Case Number
Wire Length Approach
Combined Approach
34
![Page 52: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/52.jpg)
Optimization Techniques
Global routing problem is formulated as a Linear Programming (LP) problem.
Number of constraints is very high.
35
min wTxSubject to: A x b 0 x
![Page 53: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/53.jpg)
Interior Point Methods
•Interior Point methods are used to solve the global routing LP problem.
36
•One step in the Newton direction is taken at each iteration.
•The bottleneck of the IP method is in solving the Newton step.
Feasible region
Central pathInitial solution
Optimal solution
![Page 54: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/54.jpg)
Matrix Re-ordering
Objective:
Find a faster solution to the Newton equations by reordering the constraint matrix of the LP problem.
Proposed Approach:
Apply an eigenvalue based reordering technique to the constraint matrix.
Constraint matrix is only reordered atthe start of the Interior Point solution.
37
![Page 55: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/55.jpg)
Matrix Re-ordering
38Before reordering After reordering
The constraint matrix of the global routing problem is a 0/1 matrix.
![Page 56: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/56.jpg)
Programs Developed• C Program to convert placement results to
routing grid model.• C++ program to produce routes.• C++ program to estimate congestion.• C++ program to produce objective function
and constraint matrix of the global routing problem.
• Matlab program to perform matrix reordering.
• Matlab program to for rounding.• Matlab program for visual illustration of
channel capacities.40
![Page 57: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/57.jpg)
Numerical Results
0
1000
2000
3000
4000
5000
6000
7000
Tim
e to
Sol
ve L
P (s
)
1 2 3 4 5 6
Case Number
Without reodering
With reordering
Reordering time
39
![Page 58: New Modeling Techniques for the Global Routing Problem](https://reader036.fdocuments.in/reader036/viewer/2022062500/56815a7a550346895dc7e4ea/html5/thumbnails/58.jpg)
Conclusions and Summary
• Incorporating congestion in global routing leads to compact problems that give high quality solutions.
• Results obtained from benchmarks show the multi-objective formulation results in less congestion and reduces the wire length.
• Matrix reordering is effective in reducing the solution time of the LP problem.
40