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)
2 ISMP’2000 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
3 ISMP’2000 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) RAR(2-buffer block) = RAR(buffer) 0.8 for high-end designs 0.8 for high-end designs Buffer block planning: Given circuit block placement and global netlist Given circuit block placement and global netlist Plan shape/location of buffer blocks minimally impacting existing floorplan Plan shape/location of buffer blocks minimally impacting existing floorplan
4 ISMP’2000 Global buffering problem BB
5 ISMP’2000 Global buffering problem Given planar region with rectangular obstacles containing buffer blocks with given capacity planar region with rectangular obstacles containing buffer blocks with given capacity set of 2-pin nets (s(k),t(k)), each net has set of 2-pin nets (s(k),t(k)), each net has t non-negative importance (criticality) coefficient t parity requirement = parity on # buffers b/w source and sink t 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] distances b/w repeaters (pins) are in given interval [L,U] # buffers for any net satisfy given constraints # buffers for any net satisfy given constraints # of nets passing through buffer block capacity # of nets passing through buffer block capacity
6 ISMP’2000 Global buffering problem BB
7 ISMP’2000 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) | p P} subject to { q(p,v) f(p) | p P} c(v) v V f(p) {0,1} p P f(p) {0,1} p P
8 ISMP’2000 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 w(v) = , f(k,v) = 0 for all v in V and k = 1,…,K For i = 1 to N do For i = 1 to N do t for k = 1,…,K do t find shortest path p in P(k) t while w(p) < min{ 1, (1+2 )^i} do u f= f+1 u for all v in p f(k, v) = f(k,v)+1 (+2 if v is loop in p) u find p shortest path in P(k) output f/N and f(k,v)/N for all v in V and k = 1,…,K output f/N and f(k,v)/N for all v in V and k = 1,…,K -MCF algorithm is (1+ 8 )-approximation
9 ISMP’2000 Rounding fractional MCF Raghavan-Thompson: random walk from source probability of choosing an arc/node proport. node flow probability of choosing an arc/node proport. node flow Probability of routing net proportional net flow Algorithm decrease flow by (1- ) decrease flow by (1- ) route nets with randomized rounding route nets with randomized rounding With high probability no node capacity violations
10 ISMP’2000 Greedy deletion/addition Greedy addition routing if there exists (s(i)-t(i))-path satisfying constraints if there exists (s(i)-t(i))-path satisfying constraints t find shortest path t decrement capacity of all nodes on path t if capacity of node = 0, then delete it from graph Greedy deletion = opposite to addition
11 ISMP’2000 Implemented heuristics -MCF algorithm with greedy enhancement solve fractional MCF with approximation solve fractional MCF with approximation round fractional solution via random walks round fractional solution via random walks apply greedy deletion/addition to get feasible solution apply greedy deletion/addition to get feasible solution 1-shot heuristic assign weight w=1 to each BB assign weight w=1 to each BB repeat until total overused capacity does not decrease repeat until total overused capacity does not decrease t for each pair find shortest path t for each BB r increase weight by w c(r) / C(r) apply greedy deletion/addition to get feasible solution apply greedy deletion/addition to get feasible solution
12 ISMP’2000 Experimental results # nets Greedy 1-shot -MCF =0.16 =0.02 =0.16 = Catching fully routable instances Reduce manual work when unroutable
13 ISMP’2000 Extensions/Conclusions Enhancing with edge capacities = channel capacity Multi-pin nets => Steiner trees in dags approximate directed Steiner trees approximate directed Steiner trees rounding of trees: reduction to random walks rounding of trees: reduction to random walks Combining with compaction increasing/decreasing capacities increasing/decreasing capacities sum-capacity constraints sum-capacity constraints Covering LP approximation improves drastically many routing parameters
14 ISMP’2000 Combining with compaction BB