1
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
Congestion Reduction During Placement Congestion Reduction During Placement Based on Integer ProgrammingBased on Integer Programming
Xiaojian Yang Ryan Kastner Majid Sarrafzadeh
Embedded and Reconfigurable System Lab
Computer Science Department, UCLA
Xiaojian Yang Ryan Kastner Majid Sarrafzadeh
Embedded and Reconfigurable System Lab
Computer Science Department, UCLA
2
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
OutlineOutlineOutlineOutline
Introduction Previous Work on Congestion Integer Linear Programming(ILP) Formulation Approximation Algorithms Congestion Reduction based on ILP solution Experimental Results Conclusion
Introduction Previous Work on Congestion Integer Linear Programming(ILP) Formulation Approximation Algorithms Congestion Reduction based on ILP solution Experimental Results Conclusion
3
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
IntroductionIntroductionIntroductionIntroduction
Main Goals in Placement: Minimizing Chip Area (old) Routability and Timing (modern)
Objectives/Cost for Routability Cut, Wirelength, Congestion
Why congestion? Shorter Bounding Box Better Routability Congestion models routability better
Main Goals in Placement: Minimizing Chip Area (old) Routability and Timing (modern)
Objectives/Cost for Routability Cut, Wirelength, Congestion
Why congestion? Shorter Bounding Box Better Routability Congestion models routability better
4
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
Previous Work on CongestionPrevious Work on CongestionPrevious Work on CongestionPrevious Work on Congestion
Mayrhofer and Lauther, ICCAD’90. Partitioning based method
Cheng, ICCAD’94 “RISA” model used in Simulated Annealing
Parakh et. al., DAC’98 Quadratic Placement combined with Area Router
Wang and Sarrafzadeh, ISPD’99, ISPD’00 Post-processing after global placement
Congestion Estimation Yang et.al, Congestion Estimation at early placement based on
Rent’s Rule Lou et. al, Congestion Estimation at late placement stages
using probabilistic analysis
Mayrhofer and Lauther, ICCAD’90. Partitioning based method
Cheng, ICCAD’94 “RISA” model used in Simulated Annealing
Parakh et. al., DAC’98 Quadratic Placement combined with Area Router
Wang and Sarrafzadeh, ISPD’99, ISPD’00 Post-processing after global placement
Congestion Estimation Yang et.al, Congestion Estimation at early placement based on
Rent’s Rule Lou et. al, Congestion Estimation at late placement stages
using probabilistic analysis
5
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
Our ContributionOur ContributionOur ContributionOur Contribution
Work Summary Post-processing step to reduce congestion Routing-estimation for congestion cost Reduce congestion in an enlarged area by moving
cells Our Main Contribution
Global Picture for Congestion Problem ILP based congested spot expansion to alleviate
congestion Approximation algorithm for ILP
Work Summary Post-processing step to reduce congestion Routing-estimation for congestion cost Reduce congestion in an enlarged area by moving
cells Our Main Contribution
Global Picture for Congestion Problem ILP based congested spot expansion to alleviate
congestion Approximation algorithm for ILP
6
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
Congestion CostCongestion CostCongestion CostCongestion Cost
Routing Estimation --- Bounding Box Model Routing Estimation --- Bounding Box Model
k-termimal nets:k-termimal nets:Net weight q(k)Net weight q(k)k-termimal nets:k-termimal nets:Net weight q(k)Net weight q(k)
k 2 3 4 5 …q(k) 1.00 1.08 1.15 1.22 …
Cheng ICCAD’94Cheng ICCAD’94Cheng ICCAD’94Cheng ICCAD’94
7
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
Congestion CostCongestion CostCongestion CostCongestion Cost
Routing Estimation --- Bounding Box Model Routing Estimation --- Bounding Box Model
W
H
k-termimal nets:k-termimal nets:Net weight q(k)Net weight q(k)k-termimal nets:k-termimal nets:Net weight q(k)Net weight q(k)
k 2 3 4 5 …q(k) 1.00 1.08 1.15 1.22 …
Cheng ICCAD’94Cheng ICCAD’94Cheng ICCAD’94Cheng ICCAD’94
H
kqCv
)(
W
kqCh
)(
8
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
Congestion CostCongestion CostCongestion CostCongestion Cost
Congestion Cost Function Congestion Cost Function
)0,( vv CapCMaxOF
2OFCCost v
vC
Bin congestion degreeBin congestion degreeBin congestion degreeBin congestion degree
vCap
9
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
Congested SpotCongested SpotCongested SpotCongested Spot
Identify congested spots Alleviate congestion in the expanded area
Identify congested spots Alleviate congestion in the expanded area
10
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
Congestion AlleviationCongestion AlleviationCongestion AlleviationCongestion Alleviation
Conflict between expanded areas How big the expanded area should be?
Conflict between expanded areas How big the expanded area should be?
11
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
ProblemProblemProblemProblem
Two expansion areas for each congested spot Congestion degree after expanding Minimize the maximum congestion degree over
the entire area
Two expansion areas for each congested spot Congestion degree after expanding Minimize the maximum congestion degree over
the entire area
12
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
ILP Based ApproachILP Based ApproachILP Based ApproachILP Based Approach
For congested spot k: xk=0 small expansion, xk=1 large expansion
For bin (i, j), define incremental degree
For congested spot k: xk=0 small expansion, xk=1 large expansion
For bin (i, j), define incremental degree
0
00, ijkij
Cdd
0
11, ijkij
Cdd
bin(i,j)
13
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
ILP Based ApproachILP Based ApproachILP Based ApproachILP Based Approach
maxC
max1,
1
0, ))1(( CxdxdC kkij
K
kk
kijij
MinimizeMinimizeMinimizeMinimize
Subject to:Subject to:Subject to:Subject to:
}1,0{kx Kk ,...,1bin(i,j)
14
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
Approximation AlgorithmApproximation AlgorithmApproximation AlgorithmApproximation Algorithm
Threshold RoundingThreshold RoundingThreshold RoundingThreshold Rounding
5.0 if 1
5.0 if 0
k
kk x
xx
]1,0[kx
Solve the LPSolve the LPSolve the LPSolve the LP
Relaxation:Relaxation:Relaxation:Relaxation:
Rounding:Rounding:Rounding:Rounding:
}1,0{kx
2-approximation algorithm2-approximation algorithm2-approximation algorithm2-approximation algorithm*
lg 2CCa
15
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
α-α-Approximation AlgorithmApproximation Algorithmα-α-Approximation AlgorithmApproximation Algorithm
KCBAp ))1
()1
()1
(( 23
α-approximation algorithmα-approximation algorithmα-approximation algorithmα-approximation algorithm )'(' xfp
'1
1
x
Proof:Proof:Proof:Proof:
αα =1.5 at p=0.22 =1.5 at p=0.22αα =1.5 at p=0.22 =1.5 at p=0.22
16
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
Congestion Reduction FlowCongestion Reduction FlowCongestion Reduction FlowCongestion Reduction Flow
Wirelength Minimization
Placement
Routing Estimation & Congested Spot
Identification
Assign two expansion areas for
each spot
Formulating and solving ILP
Local congestion reduction based on the expansion area
Finalization to a new placement
17
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
Experimental SetupExperimental SetupExperimental SetupExperimental Setup
Wirelength Minimization
Congestion Reduction
CircuitsCircuitsCircuitsCircuits Global Routing
(Dragon)(Dragon)(Dragon)(Dragon) (Labyrinth)(Labyrinth)(Labyrinth)(Labyrinth)
output1output1output1output1
Global Routing
output2output2output2output2
Compare:Compare:Compare:Compare: OverflowOverflowOverflowOverflow
Bounding Box WirelengthBounding Box WirelengthBounding Box WirelengthBounding Box Wirelength
Routed WirelengthRouted WirelengthRouted WirelengthRouted Wirelength
Dragon produces comparable placement with commercial toolsDragon produces comparable placement with commercial toolsDragon produces comparable placement with commercial toolsDragon produces comparable placement with commercial tools
18
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
Experimental ResultsExperimental ResultsExperimental ResultsExperimental Results
0
100
200300
400
500
600
700800
900
1000
ibm01 ibm02 ibm03 ibm04 ibm05 ibm06 ibm07 ibm08 ibm09 ibm10
Ove
rflo
w
Before congestion reduction after congestion reduction
Congestion reduction in placement affects routing resultCongestion reduction in placement affects routing result
Runtime: 11s—389s for circuit size 12,000 – 67,000 (Pentium 733MHz)Runtime: 11s—389s for circuit size 12,000 – 67,000 (Pentium 733MHz)
Congestion reduction in placement affects routing resultCongestion reduction in placement affects routing result
Runtime: 11s—389s for circuit size 12,000 – 67,000 (Pentium 733MHz)Runtime: 11s—389s for circuit size 12,000 – 67,000 (Pentium 733MHz)
19
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
Bounding Box Wire LengthBounding Box Wire LengthBounding Box Wire LengthBounding Box Wire Length
0.00%
-0.70%
0.00%0.10%
0.00%
-0.10%
0.10%
-0.10% -0.10%
1.10%
-0.008
-0.006
-0.004
-0.002
0
0.002
0.004
0.006
0.008
0.01
0.012
ibm01 Ibm02 Ibm03 Ibm04 Ibm05 Ibm06 Ibm07 Ibm08 Ibm09 ibm10
Bounding Box WL Change with Congestion Reduction
Wirelength is no longer a good measurement of routabilityWirelength is no longer a good measurement of routabilityWirelength is no longer a good measurement of routabilityWirelength is no longer a good measurement of routability
20
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
Routed Wire Length Routed Wire Length Routed Wire Length Routed Wire Length
-0.90%
-2.40%-1.80%
-0.70%
-9.80%
-0.90%
0.40%
-0.20%
-1.20%-0.30%
-10.00%
-8.00%
-6.00%
-4.00%
-2.00%
0.00%
2.00%
ibm01 Ibm02 Ibm03 Ibm04 Ibm05 Ibm06 Ibm07 Ibm08 Ibm09 ibm10
Routed WL Change with Congestion Reduction
Congestion models routability betterCongestion models routability betterCongestion models routability betterCongestion models routability better
21
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
Experimental Results (cont’d)Experimental Results (cont’d)Experimental Results (cont’d)Experimental Results (cont’d)
Comparison between single expansion Comparison between single expansion and double expansionand double expansionComparison between single expansion Comparison between single expansion and double expansionand double expansion
circuit: ibm02circuit: ibm02circuit: ibm02circuit: ibm02
396
439
457
300 350 400 450 500
overflow
double
large single
small single
22
International Conference on Computer-Aided Design San Jose, CA Nov. 2001
ERER UCLAUCLA
SummarySummarySummarySummary
Congestion reduction as a post-processing ILP based congestion reduction control Approximation algorithms with good bound Future Work
Extend the approach using ILP instead of 0-1 ILP
Web site: http://www.cs.ucla.edu/~xjyang/iccad
Congestion reduction as a post-processing ILP based congestion reduction control Approximation algorithms with good bound Future Work
Extend the approach using ILP instead of 0-1 ILP
Web site: http://www.cs.ucla.edu/~xjyang/iccad