Presentation is loading. Please wait.

Presentation is loading. Please wait.

© Yamacraw, 2001 Minimum-Buffered Routing of Non-Critical Nets for Slew Rate and Reliability A. Zelikovsky GSU Joint work with C. Alpert.

Similar presentations


Presentation on theme: "© Yamacraw, 2001 Minimum-Buffered Routing of Non-Critical Nets for Slew Rate and Reliability A. Zelikovsky GSU Joint work with C. Alpert."— Presentation transcript:

1 © Yamacraw, 2001 Minimum-Buffered Routing of Non-Critical Nets for Slew Rate and Reliability A. Zelikovsky (alexz@cs.gsu.edu), GSU Joint work with C. Alpert (IBM), A. B. Kahng, B. Liu, I. Mandoiu (UCSD)

2 © Yamacraw, 2001 Abstract This poster introduces a new minimum-buffered routing problem formulation which requires that the capacitive load of each buffer and of the source driver be upper-bounded by a given constant. Our contributions include: - A linear time greedy algorithm for optimally buffering a given tree with a single non-inverting buffer type - A linear time dynamic programming algorithm for optimally buffering a given tree with a single inverting buffer type - A dynamic programming algorithm for optimally buffering a given tree under additional buffer skew constraints - Provably good algorithms with approximation ratios of 2(1+  ) and 4(1+  ) for simultaneous routing and buffering with single non-inverting, respectively inverting, buffer type - Heuristics with improved practical performance for simultaneous routing and buffering REFERENCES C. J. Alpert, A.B. Kahng, B. Liu, I. Mandoiu and A. Zelikovsky, “Minimum-Buffered Routing for Slew Rate and Reliability Control”, to appear in ICCAD-2001 C. Albrecht, A. B. Kahng, B. Liu, I. Mandoiu and A. Zelikovsky, “On the Skew Bounded Minimum Buffer Routing Tree Problem”, to appear in SASIMI-2001

3 © Yamacraw, 2001 Motivation In order to initiate meaningful placement and timing optimizations, any design flow requires early elimination of all electrical violations (e.g., cap load and slew violations), even for non-critical nets. Bounds on load caps - Serve as proxies for signal slew rate bound - Improve coupling noise immunity - Reduce delay uncertainty due to coupling noise - Improve reliability with respect to hot-carrier and AC self-heating effects - Facilitate technology migration since designs are more balanced - Guarantee bounded input rise/fall times at buffers and sinks To make progress with any methodology, it is crucial to have a fast and resource efficient method for fixing buffer load violations. Of particular interest are practical methods for buffering non-critical nets that have up to tens of thousands of sinks (e.g., scan enable). In clock-tree routing it is also necessary to bound the buffer skew, i.e., the difference between the maximum and the minimum number of buffers over all source-to-sink paths in a routing tree, since buffer skew directly affects the actual clock skew.

4 © Yamacraw, 2001 Given: net N with –Source r, sinks S –Input capacitance C s for each sink s in S –Unit length wire capacitance C w –Inverting or non-inverting buffer type, with Buffer input capacitance C b Load cap upper-bound C U –Sink polarities (optional) –Buffer-skew bound  (optional) Find: buffered routing tree for N such that –Load cap of each buffer and of the source r is at most C U –Sink polarity constraints are satisfied –Buffer-skew is at most  –The number of inserted buffers is minimized Tree buffered with inverters Tree with zero buffer-skew Bounded-load Buffered tree Min-Buffered Routing CUCU 0.75C U C w =C b =0 +C U +0.75C U C w =C b =0 CUCU 0.75C U C w =C b =0  =0

5 © Yamacraw, 2001 Optimal buffering of the rectilinear Steiner minimum tree (RSMT) is not always optimal Optimal solution not always on Hanan grid NP-hard to approximate within a constant factor better than 2 - Proof by reduction from the RSMT problem source 17 71 3 Optimum solution source 62 3 Hanan grid solution 1 7 Optimum topology not on Hanan gridRSMT topology may be sub-optimal Hardness Results Buffered RSMT source 2 S3 4 S1 S2 12 5 RSMTOptimum source 2 S3 4 S1 S2 12 5 source 2 S3 4 S1 S2 12 5 C U = 8, sink/buffer input cap = 1 C U = 14, sink/buffer input cap = 0

6 © Yamacraw, 2001 Linear time greedy algorithm (extends tree-partition algorithm of Kundu&Misra): –Find a critical vertex p, i.e., a bottom-most vertex p such that c(T p ) > C U by a post-order traversal of the tree –Find a heaviest child u of p, i.e., a vertex u such that c(T u ) + c(u,p)  c(T v ) + c(v,p) for every other child v of p –Insert buffer b on edge (u,p) such that c(u,b) = min{C U -c(T u ), c(u,p)} –Recursively find an optimum buffering B’ of T -- T b –Return B = B’ U {b} Insert buffer on edge (u,p) if C U  c(T u )+c(u,p) Insert buffer at top of heaviest edge if C U > c(T u )+c(u,p) Non-Inverting Buffering

7 © Yamacraw, 2001 Linear time dynamic programming algorithm (DPI): –Traverse tree in postorder –Insert buffer b on edge (u,p) if c(T u ) < C U < c(T u ) + c(u,p) –For each branching point u Try to insert 0,1 or 2 buffers at the head of each branch (9 cases for binary tree) For each case –Check feasibility w.r.t. polarity constraints –Replace subtree u by an equivalent edge (u,v) with parameters ( , nb, rc), where  is polarity at u, nb is number of buffers and rc is residual capacitance of subtree u –find solutions with minimum number of buffers and topmost buffer polarity  =+/- –Find the solution at root with min number of buffers –Insert buffers in top-down order Inverting Buffering

8 © Yamacraw, 2001 Optimal dynamic programming algorithm (runs in O(n  3 OPT 2 ) time): - Traverse tree T in postorder - Buffer each edge if necessary - Buffer each branching point with all possible skew combinations - Return min-cost buffering Skew-Bounded Buffering Tellez and Sarrafzadeh (TCAD’97) suggest a greedy algorithm with runtime O(n+OPT), where n is the number of sinks and OPT is the optimum number of buffers. However, greedy is suboptimal for any buffer skew  > 0: Greedy bufferingOptimum buffering CUCU Buffer skew  = 1, sink input cap C u =C U, C v =C x =0.75C U Interconnect and buffer have zero cap 0.75C U CUCU

9 © Yamacraw, 2001 source 1 RSMT + KM 2 1 6 3 2 source 3 2 5 1 5 Fill heuristic Routing and Buffering Provably good algorithms: - Construct an  -approximate Steiner tree T - Apply the greedy KM algorithm on T - (Replace each buffer by 1 or 2 inverting buffers) Theorem: Approximation ratio is 2  (1+  ) for non- inverting, and 4  (1+  ) for inverting buffer type. Fill heuristic: - Repeat until source load cap < C U Find Steiner tree and add first buffer b using KM Fill b’s subtree with nearby sinks up to cap = C U Cut&Connect heuristic: - Find Steiner tree, add buffers using KM - For each buffer b with load cap < C U Cut b’s subtree, then reconnect it and relocate b such that driven cap is as close to C U as possible C U = 8, sink/buffer input cap = 1

10 © Yamacraw, 2001 Benchmark MST+KM MST+Cut&Connect MST+ Fill MST+DPI Lower #sinks C U #buffers runtime #buffers runtime #buffers runtime #buffers runtime Bound 12000 500 244 2.63 236 9.27 222 106.83 420 3.05 184 12000 1000 116 2.63 113 11.54 106 46.90 207 3.05 88 12000 4000 28 2.64 28 13.32 25 10.59 55 3.06 20 12000 8000 13 2.63 13 8.10 12 5.82 26 3.07 9 22000 500 1418 4.39 1395 21.62 1305 1172.75 2094 5.10 1197 22000 1000 674 4.39 656 30.36 613 540.28 1126 5.10 575 22000 4000 164 4.39 159 95.40 146 121.24 297 5.11 139 22000 8000 80 4.39 78 106.98 72 60.33 145 5.14 68 34000 500 806 6.59 778 39.13 729 890.01 1387 7.74 591 34000 1000 388 6.58 374 58.55 350 424.81 696 7.76 283 34000 4000 95 6.57 92 147.62 84 103.59 179 7.74 68 34000 8000 45 6.57 44 113.80 42 49.25 85 7.76 33 Fill, Cut&Connect and KM show different runtime/quality tradeoffs with the best quality achieved by Fill heuristic and the best runtime by KM Significant more buffers are needed with polarity constraints (but inverters are smaller than non-inverting buffers) Reference implementations are being added to the GSRC bookshelf to facilitate fast dissemination and easy comparison with future competing heuristics Experimental Results


Download ppt "© Yamacraw, 2001 Minimum-Buffered Routing of Non-Critical Nets for Slew Rate and Reliability A. Zelikovsky GSU Joint work with C. Alpert."

Similar presentations


Ads by Google