Download - A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment
A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment
Shiyan Hu*, Zhuo Li**, Charles J. Alpert**Shiyan Hu*, Zhuo Li**, Charles J. Alpert***Dept of Electrical and Computer Engineering, Michigan Technological *Dept of Electrical and Computer Engineering, Michigan Technological
UniversityUniversity**IBM Austin Research Lab**IBM Austin Research Lab
2
Outline
MotivationMotivation Problem FormulationProblem Formulation AlgorithmAlgorithm Experimental ResultsExperimental Results ConclusionConclusion
3
Layer Assignment
1X
2X
4X
In 65nm/45nm technology, layer assignment In 65nm/45nm technology, layer assignment is critical for timing and buffer area is critical for timing and buffer area optimization.optimization.
4
Wire RC and Delay
0
10
20
30
40
50
60
70
80
90
0.1 0.2 0.3 0.4 0.5 0.6 0.7wire length
wire
del
ay
M2M4M6
Wire in Wire in higher layer higher layer has much has much smaller delaysmaller delay
0.00E+00
5.00E-01
1.00E+00
1.50E+00
2.00E+00
Resis
tanc
e
M2 M4 M6
0.00E+00
5.00E+01
1.00E+021.50E+02
2.00E+022.50E+02
Capa
cita
nce
M2 M4 M6
5
Impact to Buffering
A buffer can A buffer can drive longer drive longer distance in distance in higher layer higher layer Timing is Timing is
improvedimproved Fewer buffers Fewer buffers
are neededare needed
6
Impact to Routing/Buffering
IP
IP
7
Example: Considering Layer Assignment In Buffering
8
Problem Formulation
GivenGiven– A Buffered Steiner A Buffered Steiner
treetree– Timing constraintTiming constraint– Wire layers with RC Wire layers with RC
parameters and parameters and costcost
Find a Find a minimal costminimal cost layer assignment such layer assignment such that the timing constraint is satisfied.that the timing constraint is satisfied.– Between any buffers, one wire layer is used. Between any buffers, one wire layer is used.
Wire tapering is not desired in practice.Wire tapering is not desired in practice.
Same Layer
Can be different layers
9
Polynomial Time Approximation Scheme The problem is NP-hardThe problem is NP-hard A Polynomial Time Approximation Scheme A Polynomial Time Approximation Scheme
(PTAS)(PTAS)– Provably GoodProvably Good– Within (1+ɛ) the optimal cost for any ɛ>0Within (1+ɛ) the optimal cost for any ɛ>0– Runs in time polynomial in n (nodes), m Runs in time polynomial in n (nodes), m
(layers), and 1/ɛ(layers), and 1/ɛ– Ultimate solution for an NP-hard problem in Ultimate solution for an NP-hard problem in
theorytheory– Works well in practice for layer assignment Works well in practice for layer assignment
problem problem
10
Algorithmic Flow
Oracle (x)
Denote by W* the cost of the optimal layer Denote by W* the cost of the optimal layer assignmentassignment
Oracle (x): able to decide whether x>W* or notOracle (x): able to decide whether x>W* or not– Without knowing W*Without knowing W*– Answer efficientlyAnswer efficiently
Run a binary search on the bounds
Setup upper and lower bounds of cost W*
11
Oracle Construction by Dynamic Programming
Oracle (x)Oracle (x)– Constructed by dynamic programming (DP)Constructed by dynamic programming (DP)– Only interested in whether there is a Only interested in whether there is a
solution with cost up to x satisfying timing solution with cost up to x satisfying timing constraintconstraint
Denote by W the maximum costDenote by W the maximum cost W=xW=x Runs in polynomial time in terms of WRuns in polynomial time in terms of W
12
Dynamic Programming
q(v,w) is propagated toward the source
A loop starts with w=1– Propagate
q(v,w) from sinks to driver
– q(v,w): largest RAT at node v with total cost w
– Two operations Add Wire Branch Merge
Increment w. Repeat the above process until w reaches W
13
Propagating q(v,w): Add Wire
q(vq(v22,w) is max of ,w) is max of – q(vq(v22,w-1),w-1)– updating q(vupdating q(v11,w) by wire delay and wire cost in ,w) by wire delay and wire cost in
the same layerthe same layer
q(v1, w1)q(v2, w2)x
14
Propagating q(v,w): Branch Merge
q(vq(vll,w),w) q(vq(vrr,w),w) Merge q(vMerge q(vll,w) and ,w) and
q(vq(vrr,w) to get q(v,w),w) to get q(v,w) q(v,w) is max of q(v,w) is max of
– q(v,w-1)q(v,w-1)– min of q(vmin of q(vll,w) and ,w) and
q(vq(vrr,w) in the same ,w) in the same layerlayer
DP: After q is propagated to driver, w is incremented, repeat the process
until w reaches W.Runs in O(mnW2) time.
15
Oracle Construction
Given any input x in Oracle(x)Given any input x in Oracle(x)– Scale and round each wire costScale and round each wire cost– DP is performed to the scaled problem with DP is performed to the scaled problem with
W=n/ɛW=n/ɛ Yes, there is a solution satisfying the Yes, there is a solution satisfying the
timing constraint. The optimal cost of the timing constraint. The optimal cost of the unscaled problem W*<(1+ɛ)xunscaled problem W*<(1+ɛ)x
No, W*>xNo, W*>x
16
Fast Logarithmic Scale Binary Search U (L): set all wires to the max (min) cost layersU (L): set all wires to the max (min) cost layers LoopLoop
– SetSet– Query Oracle(x)Query Oracle(x)– Update U or L accordingly and repeat the processUpdate U or L accordingly and repeat the process
Runs in loglogM time where M=U/LRuns in loglogM time where M=U/L The (1+The (1+ɛɛ) approximation runs in time) approximation runs in time
Oracle (x)
Run a logarithmic scale binary search
Set upper bound U and lower bound L of W*
17
Experiments
Experiment SetupExperiment Setup– 500 buffered netlists500 buffered netlists– Compare between PTAS and Compare between PTAS and
dynamic programming (DP)dynamic programming (DP)
18
Cost Ratio Compared to DP
Approximation Ratio ɛ
Cost Ratio
00.050.1
0.150.2
0.250.3
0.350.4
0.450.5
0.05 0.1 0.2 0.3 0.4 0.5
PTAS
19
Speedup Compared to DP
Approximation Ratio ɛ
Speedup
0
0.5
1
1.5
2
2.5
3
0.05 0.1 0.2 0.3 0.4 0.5
PTAS
20
Observations
Compare PTAS with DPCompare PTAS with DP– Larger approximation ratio larger speedup and Larger approximation ratio larger speedup and
worse solution quality (i.e., worse actual approximation worse solution quality (i.e., worse actual approximation ratio)ratio)
– As expected from theoryAs expected from theory
21
Conclusion
Propose a provably good (1+ɛ) approximation Propose a provably good (1+ɛ) approximation for timing constrained minimum cost layer for timing constrained minimum cost layer assignment running in assignment running in time time– 2x speedup in experiments2x speedup in experiments– Few percent additional wire as guaranteed Few percent additional wire as guaranteed
theoreticallytheoretically Future workFuture work
– Make oracle run faster, i.e., faster DPMake oracle run faster, i.e., faster DP– Reduce time for performing binary search Reduce time for performing binary search
style oracle queries since current PTAS style oracle queries since current PTAS depends on the ratio between upper and depends on the ratio between upper and lower bounds of costlower bounds of cost
22
Thanks