1 / 22

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** *Dept of Electrical and Computer Engineering, Michigan Technological University **IBM Austin Research Lab. Outline. Motivation Problem Formulation

infinity
Download Presentation

A Polynomial Time Approximation Scheme For Timing Constrained Minimum Cost Layer Assignment

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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. Outline • Motivation • Problem Formulation • Algorithm • Experimental Results • Conclusion

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

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

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

  6. IP IP Impact to Routing/Buffering

  7. Example: Considering Layer Assignment In Buffering

  8. Can be different layers Same Layer Problem Formulation • 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. • Between any buffers, one wire layer is used. Wire tapering is not desired in practice.

  9. 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

  10. 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)

  11. 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

  12. q(v,w) is propagated toward the source 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 • Add Wire • Branch Merge • Increment w. Repeat the above process until w reaches W

  13. Propagating q(v,w): Add Wire • q(v2,w) is max of • q(v2,w-1) • updating q(v1,w) by wire delay and wire cost in the same layer x q(v1, w1) q(v2, w2)

  14. Propagating q(v,w): Branch Merge • Merge q(vl,w) and q(vr,w) to get q(v,w) • q(v,w) is max of • q(v,w-1) • min of q(vl,w) and q(vr,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(mnW2) time. q(vl,w) q(vr,w)

  15. 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

  16. 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)

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

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

  19. Speedup Compared to DP Speedup Approximation Ratio ɛ

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

  21. 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

  22. Thanks

More Related