An Algoihm fo Ineged Pin Aignmen nd Buffe Plnning Λ Hu Xing, Xioing Tng, nd D.F. Wong Univeiy of Tex Auin, Auin, TX Silion Peeive, A Cdene Comny, Sn Cl, CA fxingh, ng, wongg@.uex.edu ABSTRACT The uffe lok mehodology h eome ineingly oul moe nd moe uffe e needed in dee-umion deign, nd i led o mny hllenging olem in hyil deign. In hi e, we een olynomil-ime ex lgoihm fo ineged in ignmen nd uffe lnning fo ll wo-in ne fom one mo lok (oue lok) o ll ohe lok of given uffe lok ln well minimizing he ol o α W + β R fo ny oiive α nd β whee W i he ol wie lengh nd R i he nume of uffe. By lying hi lgoihm ieively (eh ime ik one lok he oue lok), i ovide olynomil-ime lgoihm fo in ignmen nd uffe lnning fo ne mong mulile mo lok. Exeimenl eul demone i effiieny nd effeivene. Cegoie nd Suje Deio B.. [Ineged Ciui]: Deign Aid Plemen nd ouing; J.[Comue Aliion]: Comue-Aided Engineeing Comue-ided deign ie mny hllenging olem in hyil deign. In hiehil oh, uffe e lueed ogehe uffe lok o filie flooln nd ouing. Cong e l.[], Tng nd Wong[] nd Sk e l.[] ooed lgoihm fo uffe lok lnning olem o minimize he hi e nd he nume of uffe lok. In wo een wok, Dgn e l.[][] gve lgoihm fo glol uffeed ouing olem wih fixed in. Thei wok i ed on muliommodiy flow whih i n NP-hd olem. In hi e, we dde he olem of imulneou Pin ignmen nd Buffe lnning (PB) fo given uffe lok ln. Ou lgoihm ue min-o flow omuion whih i olvle in olynomil ime. Genel Tem Algoihm, Deign, Pefomne, Theoy Keywod uffe ineion, in ignmen, min-o mximum flow. INTRODUCTION A hi ize gow lge nd minimum feue ize i edued, he ine nd eine of wie inee dmilly. Thi mke ineonne ly iil ole in hieving high efomne nd eduing iui omlexiy in dee-umion deign. Mny ehniue hve een ooed o edue ineonne dely. One effeive wy i uffe ineion[][] nd i i hevily ued in hi deign. I i eimed h he moun of ineed uffe fo on-hi ineonne my e u o, in nm ehnology[]. A he me ime, he inoduion of o mny uffe () Λ Thi wok w illy uoed y he Nionl Siene Foundion unde gn CCR-. Pemiion o mke digil o hd oie of ll o of hi wok fo eonl o loom ue i gned wihou fee ovided h oie e no mde o diiued fo ofi o ommeil dvnge nd h oie e hi noie nd he full iion on he fi ge. To oy ohewie, o eulih, o o on eve o o ediiue o li, euie io eifi emiion nd/o fee. DAC, June -,, New Olen, Louiin, USA. Coyigh ACM ---//...$.. () Figue : () Thee ne ue uffe nd he ol wie lengh i. () An oiml oluion wih uffe nd wie lengh. Infomlly, he olem n e deied follow: given lemen of mo lok nd uffe lok, ign in nd ln uffe ineion fo he given e of ne uje o he euied lowe nd ue ound of onneion inevl (i.e., he nge of llowle dine eween wo uffe o wo in o in nd uffe) well minimizing he ol o α W + β R whee W
i he ol wie lengh nd R i he nume of uffe. Figue how n exmle. The lemen inlude mo lok, nd uffe lok. Buffe lok my hve diffeen iie, i.e., he nume of uffe in uffe lok n e diffeen. h iy while he iie of nd e. A ne e inlude ne eween nd nd ne eween nd. The nge of llowle dine eween wo uffe o uffe nd in i ounded y Mnhn dine nd. Alo if he dine of wo in i longe hn, uffe hve o e ineed, i.e., he lowe nd ue ound fo he llowle dine eween wo in e nd. The uoe i o ign in nd ln uffe fo he ne while minimizing he nume of uffe nd he ol wie lengh. The gol of in ignmen i o find he ex loion of in on mo lok. Buffe lnning i o deide uffe uge long ne onneion o minin euied dely onin. The wo k e loely eled. Pin ignmen lone my negle mny imon fo ine ineonne i hd o edi, nd glol view of ne onneion i lwy helful. Figue () illue oluion y wo-e oh (i.e., in ignmen following uffe lnning). The in ignmen e deided oding o he hoe Mnhn dine. Tolly uffe e ued nd he wie lengh i. Figue () how n oiml oluion wih only one uffe nd he wie lengh i. In hi e, we een olynomil-ime ex lgoihm fo imulneou in ignmen nd uffe lnning fo ll wo-in ne fom one mo lok (oue lok) o ll ohe lok fo given uffe lok ln uh h eh ne ifie he lowe nd ue ound on onneion inevl well minimizing he ol o α W + β R fo ny oiive onn α nd β whee W i he ol wie lengh nd R i he nume of uffe. By lying hi lgoihm ieively (eh ime ik one lok he oue lok), i ovide olynomil-ime lgoihm fo in ignmen nd uffe lnning fo ne mong mulile mo lok. Exeimenl eul demone i effiieny nd effeivene. The e of he e i ognized follow. Seion define he PBO (Pin ignmen nd Buffe lnning fo One oue lok) olem whih imulneouly ign in nd ln uffe fo ne eween one mo lok nd ll ohe lok. In eion, we een newok flow fomulion o olve he PBO olem. Then we exend PBO olem o PB(Pin ignmen nd Buffe Plnning) olem whih onide ll ne mong mulile mo lok in eion. In eion, we lo ovide node lueing mehod o eed u he omuion. Finlly, we how he exeimenl eul in eion nd onlude he e in eion.. PIN-ASSIGNMENT AND BUFFER PLAN- NING FOR ONE SOURCE BLOCK (PBO) Given lemen of m + mo lok B = f ; ;:::; m g wih n uffe lok R = f ;:::; n g. (Fo onveniene, we ll oue lok nd ohe lok ink lok.) Eh uffe lok i (i = ;:::;n) i oied wih oiive inege i denoing he iy of i, i.e., uffe lok i n hold i uffe. Le N = N [ N [::: [ N m whee N i (i = ;:::;m) i he e of ne eween lok nd i ; P = P [ P [::: [ P m whee P i (i = ;;:::;m) i he e of ville in loion of lok i. The dine of wo oin u nd v on ln egion i denoed d uv.leuffe inevl e he llowle dine nge eween wo uffe o in nd uffe; nd in inevl e he llowle dine nge eween wo in. Fo onveniene, le onneion inevl efe o uffe inevl o in inevl. Suoe he lowe nd ue ound fo uffe inevl e L () () Figue : () A PBO olem wih mo lok nd uffe lok. The lowe nd ue ound of uffe inevl e nd eeively. And he in inevl e ounded nd. The iny ue xy on he oundie of mo lok e ville in loion. The ne e inlude one ne eween nd nd wo eween nd. () The oeonding flow newok gh. nd Ũ eeively; nd hoe fo in inevl e L nd Ū eeively. A vlid h men:. If he h i =( ; ;:::; k ; ) whee ; P nd i R (i = ;:::;k), hen he dine of eh h egmen i ounded y L nd Ũ, i.e., L» d» Ũ, L» d i i+» Ũ (i = ;:::;k ) nd L» d k» Ũ;. If he h i =( ; ) whee ; P, hen L» d» Ū. The lengh of h i he um of he dine of ll h egmen. Fo ny given oiive onn α nd β, he PBO olem i o find e of vlid h onneing nd ll ohe mo lok well minimizing he ol o α W + β R whee W i he ol lengh nd R i he nume of uffe. Eh h oeond o ne in N nd he wo end oin of he h e igned in loion fo hi ne. Figue () give imle exmle. Thee e mo lok nd uffe lok. The iie of he hee uffe lok,
nd e, nd eeively. Fo ny wo oin u nd v on he ln egion, hei oodine e (u x ;u y ) nd (v x ;v y ) eeively. Define dine d uv = ju x v x j + ju y v y j. The euied lowe nd ue ound fo uffe inevl e nd eeively; nd he ound fo in inevl e nd eeively. The uoe i o deide in nd uffe loion fo ne eween nd nd ne eween nd wih minimum o α W + β R.. THE ALGORITHM To olve he PBO olem, we fi onu newok gh, hen ly min-o flow lgoihm o ge he oluion. Given PBO olem, we onu he newok gh G = (V;E) wih iy U nd o C follow:. V = f;; ; ;:::; m g[r [P,whee i he oue node, i he ink node, nd i (i = ;:::;m) i uink node.. E = E [ E [ E [ E [ E [ E [ E,whee E = f(; )j P g, E = f( i ;)ji = ;;:::;mg, E = S m i= f(; i )j P i g, E = S m i= f( ; )j P ; P i ; L» d» Ūg, E = f( i ; j )ji = j;i; j = ;:::;n; L» d i j» Ũg, E = S n i= f( ; i )j P ; L» d i» Ũg, E = S n i= f( i ; )j P j ; j = ;:::;m; L» d i» Ũg. Edge Ciy: fo edge e( i ;), U(e) =jn i j,(i = ;:::;m); ohe edge e, U(e) =.. Node Ciy: fo i R, U( i )= i ; fo P, U() =; ohe node e inied.. Edge Co: fo e E [ E [ E, C(e) =; ohe edge e(u;v), C(e) =α d uv.. Node Co: fo R, C() =β; ohe node v, C(v) =. (U(v),C(v)) v (U(v),C(v)) v v" Figue : Node liing fo ied node. The new edge h iy U(v) nd o C(v). Figue () illue he onued newok gh fo he PBO olem in Figue (). Noe h whehe n edge (u;v) (u;v P [ R) hould e dded o G deend on whehe d uv fll in he nge [ L;Ũ] (o [ L;Ū]) o no. Fo exmle, he dine eween nd i, whih i le hn he lowe uffe inevl ound L =. Thu hee i no edge eween nd in he onued flow newok. Similly, he dine eween nd () () Figue : () flow f in he newok in Figue (), j f j =. () The oeonding oluion of in ignmen nd uffe lnning o he PBO olem of Figue (). i whih i lge hn he ue in inevl ound Ū =, hu he edge ( ; ) i no inluded. In he onued flow newok, evey node in P [ R h o nd iy. Howeve, lil newok flow olem only ign o nd iy o edge. Thi n e olved y liing he ied node v ino wo node v nd v. A new edge (v ;v ) i dded wih iy U(v) nd o C(v). Then hnge he oiginl edge (u;v) nd (v;w) ino edge (u;v ) nd (v ;w) eeively (efe o Figue ). Any flow in G n e med o in ignmen nd uffe lnning oluion fo ue of he given ne. The ued iie of R node in he flow e he nume of uffe needed in he oluion. Figue () illue flow f, j f j =. And Figue () i oluion of in ignmen nd uffe lnning deived fom he ove flow. If flow f exi nd j f j = jnj, hen we n find feile oluion of in ignmen nd uffe lnning fo ll of he ne in N. On he ohe hnd, given in ignmen nd uffe lnning oluion fo n ne, flow f (j f j = n) n lwy e found on he onued flow newok. Sine he ol iie of edge going ino ink node e m i= U( i;) = m i= jn ij = jnj, he mximum flow f mx in G, j f mx j»jnj. Thu if flow j f j < jnj, hen hee i no feile oluion o he oiginl PBO olem, whih euie onideing ll of he ne eween nd ll ohe mo lok.
() () () Figue : () A PB olem wih mo lok nd uffe lok. () The oeonding flow newok when i he oue lok. () The oeonding flow newok when i he oue lok. Fuhemoe, he o of he flow i lo he o of in ignmen nd uffe lnning oluion. Theefoe min-o mximum flow ign in nd ln uffe fo mny ne oile wih minimum ol o. The following heoem how h he PBO olem n e exly olved y min-o flow omuion on G. THEOREM. A min-o flow f, j f j = jnj, in G oeond o in ignmen nd uffe lnning oluion o PBO olem fo ll ne in N wih minimum ol o α W + β R fo ny given α nd β whee W i he ol wie lengh nd R i he nume of uffe. If he ize of he mx-flow, j f mx j < jnj, hen hee i no feile oluion o he PBO olem. A min-o mximum flow ign in nd ln uffe fo he mximum nume of ne wih minimum ol o. The lgoihm PBO-Flow n e ummized he following: Algoihm PBO-Flow(B, R, N, P, C, α, β). Conu he newok gh G(V;E). Aign iie U nd o C. Aly min-o mximum flow lgoihm on G. Deive he in ignmen nd uffe lnning oluion Finding min-o mximum flow in newok i lil olem fo whih evel olynomil-ime oiml lgoihm e ville[][]. Deiving oluion of PBO fom flow in G n e done in O(E) ime. Thu, if we do he doule ling lgoihm in[], we ge he following ime omlexiy fo he PBO olem. THEOREM. PBO-Flow lgoihm oimlly olve he PBO olem in O(VEloglogU mx log(vc mx )) ime fo G =(V;E),U mx i he mximum vlue of U, nd C mx i he mximum vlue of C. Noe h he omlexiy of ou PBO-Flow lgoihm i minly deenden on he ize of he onued newok gh G(V;E). Aoding o he gh onuion ule, jv j = + m + (jpj + jrj) (onide node liing), nd he ue ound of edge i m + jpj + jp j jpj + jpj jrj + jrj + jpj + jrj (in f, he nume of edge i muh mlle due o dine onin) whih i ounded y (jpj + jrj). In liion, we my u moe effo on eduing he nume of uffe. In hi e, we n e lge weigh o uffe node, i.e., lge β. Fo exmle, le β lge hn he ue dine ound Ũ. Ifweeβ lge enough, we end o ge oluion wih he minimum nume of uffe. Fuhe in ome iui, ome loion on lok my no e llowed fo in ignmen. In hi e, hee kind of loion will no e in he in e P. Oviouly, ou newok-flow ed lgoihm will no ign in o hee kind of loion.. PIN ASSIGNMENT AND BUFFER PLAN- NING (PB) In he ove eion, we diu how o olve PBO olem uing min-o mximum flow omuion. PBO olem only onide ne onneion eween one oue lok nd ohe lok. In eliy, we need o del wih ne onneion mong ll of he mo lok, lled PB(Pin ignmen nd Buffe Plnning) olem. The definiion of PBO olem n e eily exended o PB olem he following: Given:. lemen of m mo lok B = f ; ;:::; m g nd n uffe lok R = f ; ;:::; n g;uffelok i h iy i.. e of ville in loion P = P [P [::: [P m whee P i (i = ;:::;m) i e of ville in loion of mo lok i.. e of ne N = N [ N [::: [ N m whee N i (i = ;:::;m) i he e of ne eween lok i nd ll ohe lok.. wo non-negive nume L nd Ũ denoing he lowe nd ue ound of uffe inevl.. wo non-negive nume L nd Ū denoing he lowe nd ue ound of in inevl. Gol: Fo ny given oiive α nd β, find e of vlid h oeonding o he ne e N well minimizing he ol o α W +β R whee W i he ol wie lengh nd R i he nume of uffe. PBO-Flow lgoihm olve in ignmen nd uffe lnning fo ne eween one lok nd ll ohe lok. Nully, if we e eh mo lok he oue lok nd ly PBO-Flow lgoihm eeedly, we n ge oluion fo ll ne mong mulile mo lok. Thi i he i ide of PB-Flow lgoihm.
Algoihm PB-Flow(B, R, N, P, C, α, β). Le e he oue lok;. Aly PBO-Flow(B, R, N, P, C, α, β). Fo i =om.. Le i e he oue lok; Adju he newok gh G(V;E). Aly PBO-Flow(B, R, N i, P, C, α, β). Deive he in ignmen nd uffe lnning oluion Noe h when diffeen lok e eleed he oue lok, hei onued flow newok e lighly diffeen, i.e., he edge iniden fom/o he in node of he wo lok e diffeen. So in PB-Flow lgoihm, eh ieion, we need o do ome djumen o nfom he exiing newok gh o he one oeonding o he nex oue lok(line ). Now uoe wo diffeen mo lok i nd i+ e eleed he oue lok euenilly. Le G i e he onued flow newok when i i hoen he oue lok. The following e hnge G i o i+ oeonding flow newok G i+ :. delee edge onneing he in node of P i nd he in node of ohe lok;. dd edge onneing he in node of P i+ nd he in node of ohe lok well minining dine onin.. evee he dieion of edge (;) whee P i nd R;. evee he dieion of edge (; ) whee R nd P i+ ;. evee he dieion of edge (; ) whee P i ;. evee he dieion of edge (; i+ ) whee P i+ ;. le i+ e he oue node nd he oiginl oue node eome uink node i. Thu emove he edge ( i+ ;) nd dd one new edge ( i ;). A illued in Figue, () i PB olem. () how he onued flow newok when i he oue lok. When he oue lok i wihed o, eome he oue node nd he oiginl one eome uink node. Bu he edge onneing wo uffe node emin unhnged. Fo newly dded edge (u;v),heoiα d uv nd he iy i. Fo ohe edge (u ;v ), he o i unhnged nd he iy i if no flow flow hough he oeonding edge in he eviou ieion. Ohewie, he iy i. A o he iie of node, imilly, if node v h iie lef fe uhing flow in G i, hen he iy of v i in G i+. G i nd G i+ hve he me node e. Alo i i ey o how h he nume of hnged edge i ounded y (jp i j + jp i+ j) (jpj + jrj). When king he dine onin ino onideion, hi ound n e fuhe gely edued. Thu he djumen o he gh n e effiienly omlihed. A wo in ne onneing i nd i+ elong o oh ne e N i nd N i+. Suoe we n ge feile oluion o he PB olem wih PB-Flow lgoihm. Afe lying PBO-Flow on G i, he ne elong o N i N i+ hould hve ledy een found. Thu we only need o onide N i+ N i ::: N while uhing flow on G i+. On he ohe hnd, we noie h ne elonging o N i N i+ hould oeond o h ( u ; ;:::; k ; v) ( u P i, v P i+, i R;i = ;:::;k) ing i. Then in he modified flow newok G i+, he h ( v ; k ;:::; ; u ) mu exi ine he edge onneion mong uffe lok e no hnged. Thu we n emove ll h onneed o node in P i+ y ineing he iie long ll hee h, nd lying PBO-Flow wih ne N i+. The oimliy of PBO-Flow gunee h he o will no inee. f = Fuhe even if he lgoihm doen eun feile oluion, (e.g, no feile oluion exi), he eond wy ill ouefom he fi one ine he oimliy of PBO-Flow ue h he new oluion won eome woe: eihe onneing moe ne o eduing he o.. IMPROVEMENT WITH NODE CLUSTER- ING Figue : The oeonding flow newok of he PB olem in Figue () uing node lueing mehod. () () () Figue : () A flow f, j f j = flow hough ue-node. () The oeonding newok nd flow oluion. () Deiving onneion fo oiginl in node. When we hndle ig iui whih my inlude huge moun of ne, he oeonding flow newok migh e uie lge. In ode o filie he oe of huge PB olem, we ooe he following node lueing mehod o eed u he omuion. Fo ny P, if i inide mo lok, i mu e onneed o ome in ouide he lok. Wihou lo of geneliy, we my ume h in i only on he oundy of mo lok. Then y gouing neigho in node ogehe, we n gely edue he nume of node, oneuenly eduing he nume of edge. One evel node e goued ogehe, we n ue he vege oodine he loion of he new ue-node. And he iy of he ue-node i he nume of node i inlude. Figue illue onued flow newok fo Figue () when neigho in e lueed o one ue-node. Aully, we n e diffeen le e o lok oding o hei ize o ohe euiemen. One we ge oluion fom he ue-node flow newok, we need o m he flow o oluion of he oiginl PB olem, i.e, diiuing he flow hough one ue-node o i in node. Of
Tle : Avege eul of PB-Flow fo ime. All ne e found uing PB-Flow lgoihm File An X H S F M Gid x x x x x x Blok Buffe Blok Ne Time Ne-Ne...... (eond) PB-Flow...... Found Ne-Ne.. ne PB-Flow Ne-Ne.... (e ne) (.) (.) (.) (.) (.) (.) Buffe PB-Flow... (e ne) (.) (.) (.) (.) (.) (.) edued.%.%.%.%.%.% Ne-Ne... Wie (e ne) (.) (.) (.) (.) (.) (.) Lengh PB-Flow... (e ne) (.) (.) (.) (.) (.) (.) edued.%.%.%.%.%.% oue, we hoe he ming h he minimum onneion lengh. In Figue (), flow f, j f j = flow hough ue-node whih inlude in node. () how feile ming. Sill i n e olved wih min-o mximum flow hown in Figue (). Eh node i (i = ;;;) in he ue-node i onneed o he deinion node j ( j = ;;) if d i j ifie he dine onin. The iy of eh edge i. The o of edge ( i ; j ) i he dine of wo node d i j. All ohe edge hve o. Min-o mximum flow gunee o find n oiml ming.. EXPERIMENTAL RESULTS Ou lgoihm wee imlemened in C++ on Sun S Ul (MHz) wih M memoy. We eed PB-Flow on iui whih wee geneed ndomly. Fo ll file, we doed he node lueing mehod in Seion o edue unime. We omed PB-Flow lgoihm wih wo-e oh (fi ign in, hen ln uffe). We ued lil wy[] o ign in follow: y onneing he ene of wo mo lok, we go wo oing oin on he oundie of eh lok, hen ign in ound he oing oin fo he ne eween hee wo mo lok. Afe in ignmen w done fo ll ne, we ued ne-y-ne oh fo uffe lnning. The ne-y-ne oh onideed only one ne eh ime nd found he min-o h eween he wo in of he ne fo uffe ineion. Fo eh e iui, we eeed oh ohe ime. Tle lied he vege eul of hee ime. Uing PB-Flow, we ould find feile oluion of in ignmen nd uffe lnning fo ll of he ne wih ignifin imovemen on oh he ol wie lengh nd he nume of uffe. The l wo ow how he omion of he nume of uffe nd he ol wie lengh. Fo oh mehod, we lied he e eul nd he vlue e ne. The eenge w luled oding he vlue e ne ine he nume of found ne e diffeen. The l wo eing file F nd M inlude moe hn ne. The ne-y-ne oh n no hndle uh lge file. Fo omion uoe, we fi ly he node lueing egy o gou in, hen ue ne-yne fo uffe ineion.. CONCLUSION In hi e, we een olynomil-ime lgoihm fo imulneou in ignmen nd uffe lnning fo ll -in ne eween oue mo lok nd ll ohe lok uh h eh ne ifie he lowe nd ue ound of onneion inevl well minimizing he ol o α W + β R. By lying hi lgoihm ieively (eh ime ik one lok he oue lok), i ovide olynomil-ime lgoihm fo in ignmen nd uffe lnning fo ne mong mulile mo lok. Exeimenl eul demone h he lgoihm i vey effiien nd effeive.. REFERENCES [] R.K. Ahuj, A.V. Goldeg, J.B. Olin, nd R.E. Tjn, Finding minimum-o flow y doule ling, Mhemil Pogmming,. -,. [] R.K. Ahuj, T.L. Mgnni, nd J.B. Olin, Newok Flow, Penie Hll,. [] H.B.Bkoglu, Ciui, Ineonneion, nd Pkging fo VLSI, Addion-Weley,. [] J.Cong, Chllenge nd oouniie fo deign innovion in nnomee ehnologie, SRC Woking Pe, h://www..og/g mgm/fonie.dgw, De. [] J.Cong, T.Kong, nd D.Z. Pn, Buffe lok lnning fo ineonne diven floolnning, Po. ICCAD,. -, Nov.. [] T.H. Comen, C.E. Leieon, nd R.L. Rive, Inoduion o Algoihm, The MIT Pe,. [] F.F. Dgn, A.B.Khng, I.I. Mndoiu, S. Muddu, nd A. Zelikovky, Povly good glol uffeing uing n ville uffe lok ln, Po. ICCAD,. -,. [] F.F. Dgn, A.B.Khng, I.I. Mndoiu, S. Muddu, nd A. Zelikovky, Povly good glol uffeing y mulieminl muliommodiy flow oximion, Po. ASPDAC,. -,. [] R.Oen, Glol wie hmful?, Po. ISPD,. -,. [] B.Pe nd M.Loenzei, Phyil Deign Auomion of VLSI Syem, Benjmin/Cumming, Menlo Pk, CA. [] P.Sk, V. Sundmn nd C.K. Koh, Rouiliy-Diven Reee Blok Plnning fo Ineonne-Ceni Floolnning, Po. ISPD, Ail. [] X.Tng nd D.F. Wong, Plnning uffe loion y newok flow, Po. ISPD,. -, Ail.