220 likes | 352 Vues
This paper presents a Polynomial-Time Approximation Scheme (PTAS) for the NP-hard problem of minimum cost layer assignment under timing constraints. The proposed algorithm efficiently determines a layer assignment that satisfies specified timing requirements while minimizing overall costs. Utilizing dynamic programming and binary search techniques, the algorithm operates in polynomial time concerning the number of nodes and layers. Experimental results demonstrate significant speedups and superior performance compared to traditional dynamic programming approaches. Future work aims to enhance oracle efficiency and reduce computational time for layer assignment tasks.
E N D
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
4X 2X 1X Layer Assignment • In 65nm/45nm technology, layer assignment is critical for timing and buffer area optimization.
Wire RC and Delay Wire in higher layer has much smaller delay
Impact to Buffering • A buffer can drive longer distance in higher layer • Timing is improved • Fewer buffers are needed
IP IP Impact to Routing/Buffering
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.
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
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)
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
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
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)
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)
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
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)
Experiments • Experiment Setup • 500 buffered netlists • Compare between PTAS and dynamic programming (DP)
Cost Ratio Compared to DP Cost Ratio Approximation Ratio ɛ
Speedup Compared to DP Speedup Approximation Ratio ɛ
Observations • Compare PTAS with DP • Larger approximation ratio larger speedup and worse solution quality (i.e., worse actual approximation ratio) • As expected from theory
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