A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical and Computer Engineering, Michigan Technological University **IBM Austin Research Lab Outline Motivation Problem Formulation Algorithm Experimental Results Conclusion 2 Layer Assignment 4X 2X 1X In 65nm/45nm technology, layer assignment is critical for timing and buffer area optimization. 3 Wire RC and Delay M2 M4 M2 M6 M6 2.50E+02 Capacitance 2.00E+00 1.50E+00 1.00E+00 5.00E-01 2.00E+02 1.50E+02 1.00E+02 5.00E+01 0.00E+00 0.00E+00 90 80 70 wire delay Resistance M4 60 M2 M4 M6 50 40 30 Wire in higher layer has much smaller delay 20 10 0 0.1 0.2 0.3 0.4 wire length 0.5 0.6 0.7 4 Impact to Buffering A buffer can drive longer distance in higher layer Timing is improved Fewer buffers are needed 5 Impact to Routing/Buffering IP IP 6 Example: Considering Layer Assignment In Buffering 7 Problem Formulation Can be different layers Given – A Buffered Steiner tree – Timing constraint – Wire layers with RC parameters and cost Same Layer Find a minimal cost layer assignment such that the timing constraint is satisfied. – Between any buffers, one wire layer is used. Wire tapering is not desired in practice. 8 Polynomial Time Approximation Scheme The problem is NP-hard A Polynomial Time Approximation Scheme (PTAS) – Provably Good – Within (1+ɛ) the optimal cost for any ɛ>0 – Runs in time polynomial in n (nodes), m (layers), and 1/ɛ – Ultimate solution for an NP-hard problem in theory – Works well in practice for layer assignment problem 9 Algorithmic Flow Denote by W* the cost of the optimal layer assignment Oracle (x): able to decide whether x>W* or not – Without knowing W* – Answer efficiently Setup upper and lower bounds of cost W* Run a binary search on the bounds Oracle (x) 10 Oracle Construction by Dynamic Programming Oracle (x) – Constructed by dynamic programming (DP) – Only interested in whether there is a solution with cost up to x satisfying timing constraint Denote by W the maximum cost W=x Runs in polynomial time in terms of W 11 Dynamic Programming 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 q(v,w) is propagated toward the source Add Wire Branch Merge Increment w. Repeat the above process until w reaches W 12 Propagating q(v,w): Add Wire q(v2, w2) x q(v1, w1) q(v2,w) is max of – q(v2,w-1) – updating q(v1,w) by wire delay and wire cost in the same layer 13 Propagating q(v,w): Branch Merge Merge q(vl,w) and q(vr,w) to get q(v,w) q(vl,w) q(vr,w) q(v,w) is max of DP: After q is propagated to driver, – q(v,w-1) w is incremented, repeat the process until w reaches W. – min of q(vl,w) and 2 Runs in O(mnW ) time. q(vr,w) in the same layer 14 Oracle Construction Given any input x in Oracle(x) – Scale and round each wire cost – DP is performed to the scaled problem with W=n/ɛ Yes, there is a solution satisfying the timing constraint. The optimal cost of the unscaled problem W*<(1+ɛ)x No, W*>x 15 Fast Logarithmic Scale Binary Search U (L): set all wires to the max (min) cost layers Loop – Set – Query Oracle(x) – Update U or L accordingly and repeat the process Runs in loglogM time where M=U/L The (1+ɛ) approximation runs in time Set upper bound U and lower bound L of W* Run a logarithmic scale binary search Oracle (x) 16 Experiments Experiment Setup – 500 buffered netlists – Compare between PTAS and dynamic programming (DP) 17 Cost Ratio Compared to DP Cost Ratio 0.5 0.45 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 PTAS 0.05 0.1 0.2 0.3 0.4 Approximation Ratio ɛ 0.5 18 Speedup Compared to DP 3 2.5 2 Speedup 1.5 PTAS 1 0.5 0 0.05 0.1 0.2 0.3 0.4 Approximation Ratio ɛ 0.5 19 Observations Compare PTAS with DP – Larger approximation ratio larger speedup and worse solution quality (i.e., worse actual approximation ratio) – As expected from theory 20 Conclusion Propose a provably good (1+ɛ) approximation for timing constrained minimum cost layer assignment running in time – 2x speedup in experiments – Few percent additional wire as guaranteed theoretically Future work – Make oracle run faster, i.e., faster DP – Reduce time for performing binary search style oracle queries since current PTAS depends on the ratio between upper and lower bounds of cost 21 Thanks 22
© Copyright 2025 Paperzz