Presentation is loading. Please wait.

Presentation is loading. Please wait.

F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global.

Similar presentations


Presentation on theme: "F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global."— Presentation transcript:

1 F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global Buffering Using an Available Buffer Block Plan

2 Global Buffering via Buffer Blocks VDSM  buffer / inverter insertion for all global nets –50nm technology  10^6 buffers Buffer Block (BB) methodology –isolate buffer insertion from block implementations –improve routing area resources (RAR) utilization RAR(2k-buffer block) =   RAR(k-buffer block) For high-end designs   1.6 Buffer block planning [Cong+99] [TangW00] –given block placement + nets –find shape and location of BBs Global buffering via BBs –given nets + BB locations and capacities –find buffered routing for each net

3 Global Buffering via Buffer Blocks

4 Global Buffering Problem Given: Pin & BB locations, BB capacities list of 2-pin nets, each net has upper-bound on #buffers parity requirement on #buffers [non-negative weight (criticality coefficient)] L/U bounds on wirelength b/w consecutive buffers/pins Find: buffered routing of a maximum [weighted] number of nets subject to the given constraints

5 Global Buffering Problem Given: Pin & BB locations, BB capacities list of 2-pin nets, each net has upper-bound on #buffers new parity requirement on #buffers new [non-negative weight (criticality coefficient)] new L/U bounds on wirelength b/w consecutive buffers/pins Find: buffered routing of a maximum [weighted] number of nets subject to the given constraints Previous work: 1 buffer per connection, no weights

6 Outline of Results Provably good algorithm for the Global Buffering Problem –integer node-capacitated multi-commodity flow (MCF) formulation –approximation algorithm for solving fractional relaxation –provably good randomized rounding based on [RaghavanT87] –allows tradeoff between run-time and solution quality Fast heuristic based on ideas from the approximation algorithm superior to simpler greedy approaches almost matches the provably good algorithm for loosely constrained instances

7 Integer Program Formulation

8 High-Level Approach Solve fractional relaxation + rounding –first introduced for global routing [RaghavanT87] –fractional relaxation = node-capacitated multi-commodity flow (MCF) can be solved exactly using Linear Programming (LP) techniques exact LP algorithms are not practical for large instances Key idea: approximate solution to the relaxation –we generalize edge-capacitated MCF approximation of [GargK98, F99] –[GargK98] successfully applied to global routing by [Albrecht00]

9 Approximating the Fractional MCF  -MCF algorithm w(v) = , f = 0 For i = 1 to N do For k = 1, …, #nets do Find a shortest path p  P for net k While w(p) < min{ 1,  (1+2  )^I } do f(p)= f(p) + 1 For every v  p do w(v)  ( 1 +  /c(v) ) * w(v) End For End While End For Output f/N Run time for  -approximation =

10 Random walk algorithm [RaghavanT87] –probability of routing a net proportional to net’s flow –probability of choosing an arc proportional to fractional flow along arc –run time = O( #inserted buffers ) –To avoid BB overuse, scale-down fractional flow by 1-  before rounding Rounding to an Integer Solution Modifications approximate MCF underestimates optimum  few violations + unused BB capacity for large  resolve capacity violations by greedily deleting paths greedily route remaining nets using unused BB capacity

11 Implemented Heuristics  -MCF w/ greedy enhancement –solve fractional MCF with  approximation –round fractional solution via random walks –apply greedy deletion/addition to get feasible solution Greedy –sequentially route nets along shortest available paths 1-shot integer MCF –assign weight w=1 to each BB –repeat until total overused capacity does not decrease for each net find shortest path for each BB r increase weight by factor (1 +  usage(r) / cap(r)) – apply greedy deletion/addition to get feasible solution

12 Experimental Setup Test instances extracted from next-generation SGI microprocessor ~4,000 nets U=4,000  m, L=500-2,000  m 50 buffer blocks BB capacity –400 (fully routable instances) –50 (hard instances, 50-60% routable)

13 Fully Routable Instance (4212 nets)

14 Greedy1-Shot

15 Running Time vs. Solution Quality

16 ~57% Routable Instance (4212 nets) Greedy1-Shot

17 Conclusions and Ongoing Work Provably good algorithm based on node- capacitated MCF approximation Extensions: –combine global buffering with BB planning combine with compaction

18 Combining with compaction

19

20 Sum-capacity constraints: cap(BB1) + cap(BB2)  const.

21 Conclusions and Ongoing Work Provably good algorithm based on node- capacitated MCF approximation Extensions: –combine global buffering with BB planning combine with compaction –enforce channel capacity constraints –multi-terminal nets (ASPDAC-01)


Download ppt "F.F. Dragan (Kent State) A.B. Kahng (UCSD) I. Mandoiu (Georgia Tech/UCLA) S. Muddu (Silicon Graphics) A. Zelikovsky (Georgia State) Provably Good Global."

Similar presentations


Ads by Google