Introduction: Min

advertisement
Boosting: Min-Cut Placement with
Improved Signal Delay
Andrew B. Kahng
Igor L. Markov
Sherief Reda
CSE & ECE Departments
University of CA, San Diego
La Jolla, CA 92093
abk@cs.ucsd.edu
EECS Department
University of Michigan
Ann Arbor, MI 48109
imarkov@eecs.umich.edu
CSE Department
University of CA, San Diego
La Jolla, CA 92093
sreda@cs.ucsd.edu
VLSI CAD Laboratory at UCSD
Outline
 Introduction and motivation
 Controlling wirelength distribution
 Boosting min-cut placement
 Effect of boosting on cut values
 Experimental results
 Conclusions
Introduction: Min-Cut Placement
 Min-cut objective: minimize cut partitions → minimizes total wirelength
with the help of terminal propagation
 Min-cut partitioning produces slicing outlines
Introduction: Min-Cut Placement
 Min-cut objective: minimize cut partitions → minimizes total wirelength
with the help of terminal propagation
 Min-cut partitioning produces slicing outlines
Motivation: Avoiding Global Interconnects
 Min-cut placers
 Sequentially minimize wirelength, i.e., the routing demand
 Do not treat global interconnects in any special way
 Global interconnects can
severely increase propagation delay since delay is
proportional to square of the wirelength
take part of critical paths and degrade performance
require buffering for electrical sanity
have a propagation delay that is equivalent to several
clock cycles
Conclusion: try to prevent global interconnects
Motivation: Example
Case A
Case B
 Cases A and B: same wirelength & number of cuts
 Case B: no global interconnects (cf. Case A)
Outline
 Introduction and motivation
 Controlling wirelength distribution
 Boosting min-cut placement
 Effect of boosting on cut values
 Experimental results
 Conclusions
Bounds on Net Length
 A net’s HPWL (Half Perimeter Wirelength) is bounded
 from below by distances between closest points of
incident partitions
 from above by distances between furthest points of
incident partitions
 These bounds are gradually refined
during top-down placement
 at the beginning lower bounds are ~0s,
upper bounds are determined by placement region
 at the end, the bounds are close to (or match) HPWL
Net L
Upper bound = ¾ chip width
Lower bound = ¼ chip width
Dichotomy of Lower and Upper bounds
Net L
Net L
Upper bound reduces; lower bound stays the same
Net L
Upper bound stays the same; lower bound increases
Net Extension Control
 Partitioning a block extends a net L if the next two equivalent
conditions occur:
(1) Cutting L increases the lower bound on its length
Or equivalently
(2) Not cutting L decreases the upper bound on its length
 We use the previous conditions to detect net extension and attempt to
curb it via boosting
Boosting Min-Cut Placement
 Boosting = multiplying a hyperedge (net) weight by a factor
boosting factor
 Boosting is used only when a cut can increase a lower bound
L
Boost net L with a boosting factor of 2
L
To Boost or Not to Boost?
BOOST? YES
BOOST? NO
BOOST? YES
BOOST? NO
Effect of Boosting on Cut Value
Case 1
v
u
 v is connected to a net eligible for boosting, u is not
 either can be moved to the right
 Boosting factor is 2: the gain of v grows from 1 to 2
 Tie is broken by moving v → no degradation in wirelength,
and a global wire is avoided
Effect of Boosting on Cut Value
Case 2
v
u
 v is connected to several nets eligible for boosting, u is not
 Boosting factor is 2 on each net: v’s gain grows from 3 to 6
 v has a higher priority → no degradation
in wirelength and a global interconnect is eliminated
Effect of Boosting on Cut Value
Case 3
v
u
 v is connected to 2 nets eligible for boosting
 Boosting factor is 2
 gain for v increases (from 2 to 4); gain for u is the same (3)
 v is moved → wirelength is degraded but global wires are prevented
Summary
 Boosting helps in eliminating global interconnects
 Boosting may degrade wirelength in some cases
 To reduce wirelength degradation, we only boost during first 8 levels
 That is where long wires are determined anyway
 At the 8th placement level:
→ The average block perimeter is 1/256 of the original chip perimeter
→ Global interconnects are already established
→ No point in further boosting
Outline
 Introduction and motivation
 Controlling wirelength distribution
 Boosting min-cut placement
 Effect of boosting on cut values
 Experimental results
 Conclusions
Experimental Setup
Benchmark Cells
Nets
Core region
Whitespace Metal
layers
Clock
period
A
21103
21230 2142x1969
13.5%
4
9.456
B
33917
39153 23157x12732 49.8%
4
30.962
C
9585
10398 8705x86968
5
37.515
29.7%
 Three industrial benchmarks
 Two experiments:
 Effect of boosting on the wirelength distribution
 Effect of boosting on timing
Experimental Results: Wirelength
Histogram (Design A)
Percentage
change in
number of
nets (%)
20
10
0
-10
-20
-30
-40
1
2
3
4
5
6
7
Bins (in terms of half the chip’s perimeter)
Boosting substantially reduces global interconnects
Experimental Results: Wirelength
Histogram (Design B)
Percentage
change in
number of
nets (%)
20
0
-20
-40
-60
-80
-100
1
2
3
4
5
6
7
8
Bins (in terms of half the chip’s perimeter)
Boosting substantially reduces global interconnects
Experimental Results: Timing
benchmark
A
Flow
TNS (ns)
Mode
Indust
NTD
3491503
-0.660
28.107
TD
3570024
-0.368
12.022
Regular
3335483
-0.607
23.360
Boost
3260184
-0.342
5.107
NTD
9080259
-31.793
68253.5
TD
9100552
-31.750
56618.6
Regular
8375939
-29.595
44951.8
Boost
8711281
-25.757
49627.6
NTD
839408
-1.882
1870.3
TD
841585
-1.878
1750.8
Regular
835962
-1.875
1810.6
boost
872089
-1.878
1799.5
Indust
Capo
C
Slack (ns)
Tool
Capo
B
Wirelength
Indust
Capo
Conclusions and Future work
 By tracking lower/upper bounds, we identify potential long wires
 By additionally increasing net weights, we decrease # of long wires
 This alters wirelength distribution and reduces global interconnects
 Routability is slightly affected, but generally preserved
 Boosting tends to improve circuit delay (timing)
measured by the worst slack and total negative slack (TNS)
 Ongoing work examines the impact of boosting
on the number of inserted buffers
Thank you for your attention
Download