140 likes | 258 Views
Provably Good Global Buffering Using an Available Buffer Block Plan. F. F. Dragan (Kent) A. B. Kahng (UCLA) I. Mandoiu (Gatech) S. Muddu (Silicon graphics) A. Zelikovsky (GSU). Outline. Global routing via buffer blocks Global buffering problem Integer multicommodity flow formulation (MCF)
E N D
Provably Good Global Buffering Using an Available Buffer Block Plan F. F. Dragan (Kent) A. B. Kahng (UCLA) I. Mandoiu (Gatech) S. Muddu (Silicon graphics) A. Zelikovsky (GSU)
Outline • Global routing via buffer blocks • Global buffering problem • Integer multicommodity flow formulation (MCF) • Approximation of node-capacitated MCF • Rounding fractional MCF • Implemented heuristics • Experimental results • Extensions & Conclusions
Global routing via buffer blocks • (V)DSM buffering all global nets • Block methodology buffers outside blocks • Buffer blocks use less routing/area resources (RAR) • RAR(2-buffer block) = RAR(buffer) • 0.8 for high-end designs • Buffer block planning: • Given circuit block placement and global netlist • Plan shape/location of buffer blocks minimally impacting existing floorplan
BB BB Global buffering problem
Global buffering problem • Given • planar region with rectangular obstacles containing buffer blocks with given capacity • set of 2-pin nets (s(k),t(k)), each net has • non-negative importance (criticality) coefficient • parity requirement = parity on # buffers b/w source and sink • maximum # buffers b/w source and sink • Route given nets maximizing total importance s.t. • distances b/w repeaters (pins) are in given interval [L,U] • # buffers for any net satisfy given constraints • # of nets passing through buffer block capacity
BB BB Global buffering problem
Integer MCF formulation • Graph G=(V,E), V=pins+BB’s, E = legal edges • P(k) = set of legal (s(k),t(k)) paths • P = union P(k) • q(p,v)= 0 if v p; = 1 if v p; = 2 if loop vv p maximize { f(p) | pP} subject to { q(p,v) f(p) | pP} c(v) v V f(p) {0,1} pP
Approximation of node-capacitated MCF • Garg/Konemann & Fleisher • -MCF algorithm • w(v) = , f(k,v) = 0 for all v in V and k = 1,…,K • For i = 1 to N do • for k = 1,…,K do • find shortest path p in P(k) • while w(p) < min{ 1, (1+2)^i} do • f= f+1 • for all v in p f(k, v) = f(k,v)+1 (+2 if v is loop in p) • find p shortest path in P(k) • output f/N and f(k,v)/Nfor all v in V and k = 1,…,K • -MCF algorithm is (1+ 8)-approximation
Rounding fractional MCF • Raghavan-Thompson: random walk from source • probability of choosing an arc/node proport. node flow • Probability of routing net proportional net flow • Algorithm • decrease flow by (1-) • route nets with randomized rounding • With high probability no node capacity violations
Greedy deletion/addition • Greedy addition routing • if there exists (s(i)-t(i))-path satisfying constraints • find shortest path • decrement capacity of all nodes on path • if capacity of node = 0, then delete it from graph • Greedy deletion = opposite to addition
Implemented heuristics • -MCF algorithm with greedy enhancement • solve fractional MCF with approximation • round fractional solution via random walks • apply greedy deletion/addition to get feasible solution • 1-shot heuristic • assign weight w=1 to each BB • repeat until total overused capacity does not decrease • for each pair find shortest path • for each BB r increase weight by wc(r) / C(r) • apply greedy deletion/addition to get feasible solution
Experimental results # nets Greedy 1-shot -MCF =0.16 =0.02 4212 4101 4207 4212 4212 3962 2148 2179 2325 2347 4191 2216 2236 2378 2394 4212 2223 2232 2378 2392 • Catching fully routable instances • Reduce manual work when unroutable
Extensions/Conclusions • Enhancing with edge capacities = channel capacity • Multi-pin nets => Steiner trees in dags • approximate directed Steiner trees • rounding of trees: reduction to random walks • Combining with compaction • increasing/decreasing capacities • sum-capacity constraints • Covering LP approximation improves drastically many routing parameters
BB BB BB BB Combining with compaction