Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical.

Similar presentations


Presentation on theme: "A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical."— Presentation transcript:

1 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

2 2 Outline Motivation Motivation Problem Formulation Problem Formulation Algorithm Algorithm Experimental Results Experimental Results Conclusion Conclusion

3 3 Layer Assignment 1X1X 2X2X 4X4X In 65nm/45nm technology, layer assignment is critical for timing and buffer area optimization. In 65nm/45nm technology, layer assignment is critical for timing and buffer area optimization.

4 4 Wire RC and Delay Wire in higher layer has much smaller delay

5 5 Impact to Buffering A buffer can drive longer distance in higher layer A buffer can drive longer distance in higher layer Timing is improved Timing is improved Fewer buffers are needed Fewer buffers are needed

6 6 Impact to Routing/Buffering IP

7 7 Example: Considering Layer Assignment In Buffering

8 8 Problem Formulation Given Given –A Buffered Steiner tree –Timing constraint –Wire layers with RC parameters and cost Find a minimal cost layer assignment such that the timing constraint is satisfied. 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. Same Layer Can be different layers

9 9 Polynomial Time Approximation Scheme The problem is NP-hard The problem is NP-hard A Polynomial Time Approximation Scheme (PTAS) 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

10 10 Algorithmic Flow Oracle (x) Denote by W* the cost of the optimal layer assignment Denote by W* the cost of the optimal layer assignment Oracle (x): able to decide whether x>W* or not Oracle (x): able to decide whether x>W* or not –Without knowing W* –Answer efficiently Run a binary search on the bounds Setup upper and lower bounds of cost W*

11 11 Oracle Construction by Dynamic Programming Oracle (x) 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 Denote by W the maximum cost W=x W=x Runs in polynomial time in terms of W Runs in polynomial time in terms of W

12 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 13 Propagating q(v,w): Add Wire q(v 2,w) is max of q(v 2,w) is max of –q(v 2,w-1) –updating q(v 1,w) by wire delay and wire cost in the same layer q(v 1, w 1 ) q(v 2, w 2 ) x

14 14 Propagating q(v,w): Branch Merge q(v l,w) q(v r,w) Merge q(v l,w) and q(v r,w) to get q(v,w) Merge q(v l,w) and q(v r,w) to get q(v,w) q(v,w) is max of q(v,w) is max of –q(v,w-1) –min of q(v l,w) and q(v r,w) in the same layer DP: After q is propagated to driver, w is incremented, repeat the process until w reaches W. Runs in O(mnW 2 ) time.

15 15 Oracle Construction Given any input x in Oracle(x) 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 Yes, there is a solution satisfying the timing constraint. The optimal cost of the unscaled problem W*<(1+ ɛ )x No, W*>x No, W*>x

16 16 Fast Logarithmic Scale Binary Search U (L): set all wires to the max (min) cost layers U (L): set all wires to the max (min) cost layers Loop Loop –Set –Query Oracle(x) –Update U or L accordingly and repeat the process Runs in loglogM time where M=U/L Runs in loglogM time where M=U/L The (1+ ɛ ) approximation runs in time The (1+ ɛ ) approximation runs in time Oracle (x) Run a logarithmic scale binary search Set upper bound U and lower bound L of W*

17 17 Experiments Experiment Setup Experiment Setup –500 buffered netlists –Compare between PTAS and dynamic programming (DP)

18 18 Cost Ratio Compared to DP Approximation Ratio ɛ Cost Ratio

19 19 Speedup Compared to DP Approximation Ratio ɛ Speedup

20 20 Observations Compare PTAS with DP Compare PTAS with DP –Larger approximation ratio larger speedup and worse solution quality (i.e., worse actual approximation ratio) –As expected from theory

21 21 Conclusion Propose a provably good (1+ ɛ ) approximation for timing constrained minimum cost layer assignment running in time 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 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

22 22 Thanks


Download ppt "A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment Shiyan Hu*, Zhuo Li**, Charles J. Alpert** *Dept of Electrical."

Similar presentations


Ads by Google