19.12.2012 Views

lt tDrtrcnr or Eleiro.ics, Td@6o!!iolio, & ttior.di.rl E.linerttrg

lt tDrtrcnr or Eleiro.ics, Td@6o!!iolio, & ttior.di.rl E.linerttrg

lt tDrtrcnr or Eleiro.ics, Td@6o!!iolio, & ttior.di.rl E.linerttrg

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Logi. Deconpol<strong>lt</strong>lon eitt T.chmto$/ M.pptng f<strong>or</strong> Ar€ rnd Dehy<br />

Mirimiatt<strong>or</strong> h FpicA D.3ipl<br />

A lhesir submitl€d by<br />

Kh.lil-ur-R.hDrtr It yo<br />

In fulfillmenrofthc rcqutrem.trr f<strong>or</strong> rhe dcge of<br />

rn<br />

T.leconnuicrtion & Control Engire.rirg<br />

<strong>lt</strong> <strong>tDrtrcnr</strong> <strong>or</strong> <strong>Eleiro</strong>.<strong>ics</strong>, <strong>Td@6o</strong>!!<strong>iolio</strong>, & tti<strong>or</strong>.<strong>di</strong>.<strong>rl</strong> E.<strong>linerttrg</strong><br />

F cu <strong>lt</strong>y of Ete.trical, Eteclrontca rnd Comput r f,ryineering<br />

Mebnn Urivenity of Ertircerilg & T.chrotosf<br />

Dc..nL.2006


D.<strong>di</strong>c.tiotr<br />

Dc<strong>di</strong>catcd to ny plEnts. f<strong>or</strong> <strong>rl</strong>Eir rdEndos hvq SrpFn rnr<br />

Encomgen€nl ihrcuSho<strong>lt</strong> my life


}Iehren UtrireEity off,ngireering & T€chnolos<br />

Jrnlh<strong>or</strong>o<br />

Thh th€sis, {inen by Mr Kn<strong>rl</strong>il-uFR.bn.o D.vo md.r thc <strong>di</strong>@tion of hk<br />

supelvisos, md appoled by all tbe menbcs of thesis comi<strong>lt</strong>ee, has been pieented |o<br />

and mepled by lhe D.&, facllly ofElcd€al, Eldlbn<strong>ics</strong> & Conpur€r Enginering. in<br />

tilllillment of the rcquiEm.nr of rhe degre of Doct<strong>or</strong> of Phil@phy in T.l@munislion<br />

6*r, v$l<br />

(Exrenal Exmi.e)<br />

Neyeg Tahnological Unive*n/<br />

(D6 r&uty of Elecfiel, Electonica &


ACKNOWLEDCEMENTS<br />

l.isr ol all I am gmteful b Almignt! Allrh who gave me aurag., enthusiasm to<br />

icconplish fy rcs<strong>or</strong>ch task.<br />

l$ould lik. ro erprss ny sinccc tanks lo my sop.ni$6 Prer, Di Abdul Q.d..r<br />

Kh.r Rrjplr dd Prer. D.. B.s, Chosdlry a<strong>or</strong> fi.n all oul hcl& cmuEgem<strong>or</strong>-<br />

.rtM.ly dd.il€d ed insighlful tehniql .dvi6. De to tlE tan s<strong>lt</strong> onlr. I d<br />

ablc lo achieve 0y obj<strong>di</strong>Yes.<br />

lsould ale like to thdk P.ot Di M.n. Abro ld his conti.uous s.pp<strong>or</strong>t and giving<br />

he v.ry u*fuliders on crfttinSour rh. cs.eh woli.<br />

I Nould especiilly lik. rd rhoik Direct<strong>or</strong> PostgEduate sru<strong>di</strong>es<br />

Prot Dr, chous Bur Kb.skhcli l<strong>or</strong>hkingtic crta nilero point out rhe big picturcs<br />

I am sll, thrkrul ro M. <strong>or</strong> Gnpbis (l!h) &d speial rhonks b RASTEX<br />

Tsirologier Kamhl who suppo.rcd us 3 l<strong>or</strong> ,lda wi$ Ih€i. siG p.du<br />

f,PECOM Tehnoloai6 & Diskibulo6 Sin8rp<strong>or</strong>c.<br />

Llsr bur n<strong>or</strong> lcasr I would b€ very thankful io Dnabr cTc. hlmabad and Principll<br />

Scicnlific Oflier Mi Z.hid Rizvi CTC,lslln.bad l<strong>or</strong> ih.n gdeous a$istanc.<br />

md peimksion lo ctrryour rcse<strong>or</strong>ch wo& in th.n libs,


TABLE OF CONTENTS<br />

Ch.Dl.r I INTRODUCTION<br />

l.l Motivalioh<br />

1.2 PFblm definition<br />

| .3 FPGA Architel@<br />

1.4 FPCA CAD Flo*<br />

1.5 Rouing Circun D€hy<br />

L6 Logi€ clusler {d B.sic Lrgk Elemmt<br />

1.7 Thesn Coals<br />

L3 Thesn O€oiaion<br />

Choolq 2 BACK CROUND AND LITEMTURE SURVEY<br />

2. I Oveniew of FPCA Archit@rure<br />

2.2 FPCA ArchnatuE Teminologt<br />

2.1 I)efitrilionof<strong>rl</strong>El,PcARooliNPftrblcm<br />

2.1.1 Me Roudng Alg<strong>or</strong>ilhm<br />

2I 2 Rip UD and ReRoule Als<strong>or</strong>ithm od Mu<strong>lt</strong>itr.rrion<br />

Atgo.ithnr<br />

2.1.3 CouM CEph Exresion (CGE)<br />

2.1.4 Sesmml All@ar<strong>or</strong> (SEGA)<br />

2.1.5 Pe<strong>rl</strong>omdce-Oridnr.d Placemenrand Rouriog<br />

2,4 Combined Clobal and D.tail€d Routers<br />

2,4.I TMCER<br />

2.4.2 CFedy Bin Packing<br />

2.4.1 SROUTE<br />

2.4.4 P<strong>rl</strong>hfinder<br />

2.4.5VPR<br />

2.5 Wirclenerh 6nd Rourabitily P€<strong>di</strong>crion<br />

2.5.1RISA<br />

2.6 Xilinx xCamoXL Sei6oflPCAs<br />

2.7 Roulins ArchitsluE<br />

2.8Sunmary<br />

Chl<strong>lt</strong>cr 3 FIELD PROGRAMMABLE CATE ARRAY'S<br />

EXPERIMENTAL ROIJIING ARCHTTECTURI<br />

I l Sinpl€ FPGA Archit.ctur.<br />

I l .I 4000xlitc IPOA ArchitcclLrc<br />

Ll.2 Logic-Block Aehil@ture<br />

I l.l Routins Archnecturc<br />

1.1.4 Delay Model .<br />

1.2 Roulabiliry-Drivenvpr Roulj!8 AlS<strong>or</strong>ithm<br />

vili<br />

0l<br />

OI<br />

02<br />

0l<br />

07<br />

07<br />

08<br />

09<br />

II<br />

t2<br />

ll<br />

l5<br />

l6<br />

l7<br />

l8<br />

20<br />

22<br />

22<br />

l4<br />

26<br />

29<br />

J4<br />

l4<br />

36<br />

l8<br />

4l<br />

42


I I Conpilcil iDu lirhlNcNcnts<br />

3.1.1Di@ted Se@h<br />

3.1.1 Cotrtrol P.raNcrc. Ransc<br />

1.1.2 lut laoutilE S<strong>rl</strong>rd<strong>lt</strong>c<br />

lllNclOrd€rnE<br />

1.1.4 Sink Odcring<br />

3.1-5 Biming<br />

1.3.5 I Bin Sia<br />

1.3.5.2 Ehply Bins<br />

l.l.5.3.Roudng Achnftrur€ .nd Circun<br />

Dep€ndenc.<br />

1.4 Circuit Delay Enhdcehents<br />

1.4.1 SwilchCounting<br />

3.4.2Tack Segment Utiliation<br />

CLUSTER-BASED f PGA ARCHITECTURf,<br />

AR,EA AND DEALY ISSUES<br />

4. I Tdde-ofs iD CluslcrB.sed IPCAS<br />

4.2 Archnelure Modeling<br />

4.2.r A@ Model<br />

4.2.2 D.l.y Model<br />

4 2.1 EITdof ClussSikon Ln Phtsical Lf,ngh of<br />

FPGA RourinS Scgmqr3<br />

a.2.1 Si2ing Roudnr Tmi<strong>rl</strong>o6 10 Cmpenere f<strong>or</strong><br />

Diffqsr Physical Scgnc t ngths<br />

4.3 FPCA A.chic.l@l Pam.l6<br />

4l I BsicArchncduF<br />

4.1.2 lopuc R.qui..


5.7.1 CLUSTER.FXIA AllI t!ct!r!<br />

5.7-3 RoDtiry Ar€. R!.lI!<br />

5.7.4 llodq lr.Ly lLuttt<br />

CL!a..6 RESULTS AllD I,|IIOU'A(Xf<br />

6.t Ba.hlrt citqr.<br />

62 Tdl^dR.ril<br />

63 IIE D.hy l{<strong>di</strong>.<br />

6.4 Su|ay<br />

Cl.pLct CtllcI,ualo|| AllD IrrTUnt VOIX<br />

Alr.rdL r<br />

ADp-dh D<br />

App.odh E<br />

AppmdL r<br />

App.dlr G<br />

I04<br />

107<br />

109<br />

ll0<br />

tt2<br />

l12<br />

<strong>lt</strong>!<br />

<strong>lt</strong>E<br />

ta<br />

t23<br />

l3<br />

TP<br />

lr<br />

lsl<br />

l6.<br />

to<br />

t74<br />

lEl


Lin of Abbrcvir.iotri<br />

ASIC Appli6d@ Sp-ifc Inasd€d Ciruir<br />

BLE Basic Logic Elcmlnr<br />

CAD Coopurer.{id.dD$ign<br />

CGE Cow cBph Expansion<br />

CMS Conliguriri@ M.n<strong>or</strong>y Sh&ins<br />

FPCA Field-P&gtlm.bt. c& Amrs<br />

fPR P.rfdtu|F<strong>or</strong>ian d PhcllMl ad Rouliq<br />

CBP CEdy Bin P<strong>rl</strong>dng<br />

IC I egrared Circuit!<br />

LUT L,olop Tabl.<br />

MBF Minimm Biming F0@l<br />

SEGA S.gMr Allool<strong>or</strong><br />

VLSI Ve.y rrge S..t€ tnrcgnr.d Ciruits<br />

VPR v€driL Placc.nd Rout


LISTOFTABLES<br />

Table 2. | : C<strong>or</strong>icctioh lacr<strong>or</strong>s r<strong>or</strong> nels wilb uD ro liat' te<strong>di</strong>nals 16<br />

Tabl.2.2 Th. XC4ooOE,(L lamily 37<br />

Table 2,3 Rouling les<strong>or</strong>esper losic blocl in 4000xL 39<br />

Tible l, I : Tract Fgm.hrs in 4000xlik. dchitrcture 44<br />

TaUe 1.2: C<strong>or</strong>piletines l<strong>or</strong> <strong>di</strong>flerenr bin sia scaling hoo$ 59<br />

Table l.l: Dlsccostoa<strong>di</strong>rerntmurinArcsourccs 6e<br />

Table 4.1 lmp<strong>or</strong>tonl inra{lsterd€lays in lSMC} 0.35 no CMOS DGes 73<br />

Table 4.2 Inp<strong>lt</strong>s rquircd f<strong>or</strong> 98olo u.ilianion f<strong>or</strong> vPack and T-vPrck 7!<br />

Tabl€ 4.1 Roudns a@ vs Fc, inpu f<strong>or</strong> v<strong>di</strong>os clusler sia 80<br />

T.bl€ t. I : b(n) valucs f<strong>or</strong> Eacn lype of Roulins R€$!Ee tO2<br />

-f.ble t,2r Exp.rincnral cianirs tO7<br />

Tftle 6.1;Benchnark cncuirs I 12<br />

T.bk 6.2; Channel width vs LUT ud clusrs sia (l to?) 117<br />

-f.bh A.lrT<strong>or</strong>ilAra (xl0') iD Min. WidrhToN. AEa(clusrer Size = l) l19<br />

Trble A.2: T<strong>or</strong>.l Area (x l0') in Min. Widrh TfaDs. Aea {Clurs Size = 2) 140<br />

T.bl. A.liToulAEa(x106)inMin. WidthT6Ds. AEa (Cluste! Sia = l) l4l<br />

Tible A.4: Tolal Area (x 106) io Mh. widrh T6' Area {clNrs siz. = 4) 142<br />

Tlbh A.5: Toul Ara (x106) itr Mitr. widrh Tm. A@ (clstd sirc = 5) t4l<br />

Table 4.6: T<strong>or</strong><strong>rl</strong> Ars (x106) in Min. widrh Tm. A@ (clster sirc = 6) t44<br />

Tablc A.7: Tolal AEa (x 106) in Min. wid$ Tnns. Aea(ClusterSia= 7) 145<br />

Table B.l<strong>rl</strong>nrta-Cluster Aa(x106) in Mii. Wid$ Tms Arca (Cluner Sia=l) 146<br />

Tabh B.2r lnuecluner AEa (x106) in Mii. Widlh Tms Aea (Clnner Si&=2) I47<br />

Table B.l: lnt.-Clusler Ada (x 106) in Min, Wid$Ttus. Aea (Clusldr Si^ -3) 148<br />

Table D,4r lnlh.Cluster AEa (x106) in Mii, Widrh Trfls. Arca (Cluslq Size =4 149<br />

Tabre 4.5: InrE-crusrer Area (xt06) in Min. widlh Tms. Aea (clusrd si4 -5) 150<br />

Tabh 8.6: lhrGcrusrcr AEa (x106) in Min. widlh Tnng Aea (Clusrd Sirc =6) Ifl<br />

'hbh 8.7: rnr'lcrusler AM (x r 06) ir Mii. widrh 1 tus. Aea (cluss sirc =7) I 52<br />

Tlblc C.l: IntFclusrcr A@ (x106) in Min. Widlh Tms. Arcaicluier<br />

-ldbl. Shr=l) <strong>lt</strong>l<br />

c.2: Inrg,crusrcr<br />

^@ (x106) in Mio. widt-t@' Arca{clusrs stx=2) t54<br />

'l-abl.<br />

C.l: lnrcr -Clusler AH (x106) in Min. Widlh Tlm. Arca (Clurq<br />

-lnbk<br />

Si& =l)155<br />

C.4:lntcr -Clr$s A@ (x106) in Mi.. Widlh Tlm. A@(Ctcr€r Sia =4 t56<br />

Tablc C tr Inrcr -Clsler AH (x | 06) in Min. Wi{tth Ttm. AEa (Clusrcr Si& =5) l5?<br />

Tablc C 6: lnt.r -Clusrer Area (x 106) in Min. Widtn Tra. Ara (Clust r Size -6)t58<br />

Tablec.T: Inr.r -Cluster A@ (x106) in Min. widrh Tdns. A'€a (clusrerSia =7) t59<br />

Table D. I : Tohl Delay in nano-sconds (Ctusle Sie = l) 160<br />

Table D.2: ToulDeky in .flo-sNonds (Clusld Sirc = 2) 161<br />

Tabie D.l:TotalDelay in nmo-seconds (Cludcr sire = ll 16:<br />

lablc l)..1:]-.ralDclay in mno+c.onds (Cluscr Si^ =,11 163<br />

l able D.5: lbbl Delat in nmo,sMnds (Clu!.r Si4 = 5) t64<br />

Tlhle t).6: Toul Delay in nano-secondr (Cl$rcr Sjr = 6) 165<br />

'lrhl.l) 7r'l;kl l).ht n, nrnd *conds ( lrNr$ Si7r 7) 16(,


IabL E.l:<br />

Tabl. E.2:<br />

Tabl. E.l:<br />

T.bl.E,4i<br />

TablcE.Si<br />

Toblc E.6l<br />

Tlble 8.7:<br />

Tlble F.2:<br />

Tabl. F.ll<br />

Int'|-clNrd Delay h t!@slrds (chsEl siz =|)<br />

Inrra-Clund Delay ir Mcraods (Clwl4 Si4 = 2)<br />

In|'n-Clusrs Delay in uno-son& (ClNtd Sire = 3)<br />

t.m.Clu$er Delay in ndceconds (Cluts sia = 4)<br />

ldh.Clu$q Delay in ndo.se@n& (Clure' Sia = 5)<br />

lntra-Cluslr D.lay in nmo.s.@nft (Clusra si* = 6)<br />

Inaa-Cbsler D€lay in iano{ccon& (Cluster Sia = 7)<br />

Intcrcl6ct Delay in mo-lecod! (Clusler Sia = D<br />

Int r -CIG1q Delay in Mo-scc.ods (Cluier Siz. - 2)<br />

l cr -ClNrd D.l.y in luesotdr (Cluscr sie = l)<br />

Inlcl 4lcre. Delay io !|'es@nd! (Cl'sr6 siz = 4)<br />

Inrs 4lsrer D.lay in natD..@nds (Clsrd siz = 5)<br />

Inrq {lu*r Delay in nm.ssn& (Clusd Si& = 6)<br />

lnrd -ClNLr tr.lay in nm-s@nds (Clu!r.r siz - 7)<br />

t67<br />

t6E<br />

169<br />

170<br />

l?l<br />

t12<br />

174<br />

t15<br />

t76<br />

t17<br />

t?8<br />

t80


Fie!re.2.101<br />

liigue,2.ll i<br />

Iigure 3.11<br />

LIST OF FIGURES<br />

censol Architeciurc of Xlinx FPGA<br />

cAD Flo* of thc FPCA D.si8n<br />

tlgic clstd &d b8'c loeic elem€nt (BLE)<br />

{a) lsland-$yle FPGA ehilerure O) @merion box<br />

switch boi.s: (o) plea, (b).on-plamr Wilron<br />

FPGA tuuting dchi|.clurc dd snph Epmradon<br />

(a) Brcadth-fiBt *ech mde 'outer,(b)<strong>di</strong>ered *ach<br />

Thr€e pGsible thunbn.ils f<strong>or</strong> a lxl partirioiiig<br />

Psudo @de f<strong>or</strong> th. Pathfinder rcudns als<strong>or</strong>ithn<br />

Exahples oi c<strong>or</strong>ccdon facloh<br />

Ddailed view olsXC4000E/XL losic block<br />

Ove<strong>di</strong>ewofouting f<strong>or</strong> a Iogic block<br />

Dchiled view olouing f<strong>or</strong> a losic block<br />

(a) shows pad oa ln. outins ehi€cue. (b) shlqs d<br />

clGter f<strong>or</strong> thc sihplc FPOA NhnccluE<br />

4000xlile logic blck 4i<br />

P*udo @dc f<strong>or</strong> Di@t d S@ah Routq 48<br />

EMple of Ex!6tcd @srs 5t<br />

Conpilc rin. vs. q l<strong>or</strong> sinpl. @litecture 52<br />

(a) Avdas. Conpilc (b) Tim. and Delay 5l<br />

Rouins a muld't.minal n€t: (a) closdt sink n6t, (b) lunh.sr 56<br />

Exanple ofrhe binninS Gchnique 57<br />

,{venge lo*srrcss compile lime vs. midnm biming fdour 58<br />

MBF Vs Conrpilc limc<br />

Examples of outing use pass trmsist<strong>or</strong>aod bufered s*ircb 64<br />

A. exdple oi counling pass trflsisr<strong>or</strong> switcbes 65<br />

Exmple of Swirh count 66<br />

Avemsc compile tme vs. p, (a) low-srress Duline pobl.ns 67<br />

(b) <strong>di</strong>ftcull rouing pobkns. f<strong>or</strong> 4000xlite @hit6tue<br />

Examplc of inc aff.cr of <strong>di</strong>ffeEnt bs @sls 10<br />

Sln@re dd sF.d pdhs oaa logic clErer 74<br />

Erftl of clErc, da on physiel lcnsrh ofreuting sgDenrs 15<br />

md ofclut rsiaon tile lenSrb 75<br />

Inpuls rcquircd f<strong>or</strong> 98% ttilianion vs. clut€r Sia 78<br />

FPGA wirh leng$ 4 sr8h.nr5. 5(l./, butllr€d ad 50elo pss ?9<br />

Tolal aEa vs, clustr sie. a2<br />

AEa conponents vs clustcrsi4 83<br />

Crilicdl p.th delay !s clustersie 84<br />

06<br />

OE<br />

t2<br />

l3<br />

2l<br />

29<br />

35<br />

l8<br />

38


FiBu'c6.21<br />

Area-delay poducr rs. clusGisi4<br />

g5<br />

InteFcluster &d inrra-clusl.r nets on lhe riticat parh 86<br />

BrcakdoM of cinical p.lh d.lay inlo inleHlus|cr dd int6- 8?<br />

D.cEoe in loSical ndharon <strong>di</strong>slance 6 cluter d& incRaes 88<br />

veialion ofcircuir @mpilc rime with toeic ctuser sia 83<br />

Erdple ol Contcnrion bdwen CMS ad Finc-c<strong>di</strong>n Nds s2<br />

An Exanplc Rou ng R.eFe cmph 9?<br />

Ovc<strong>di</strong>cw ofrhe rCPR Rouring atg<strong>or</strong>i|hm 99<br />

A Pin-Bu too<br />

ANel-Bs Conr.iningNcr A, B, md C too<br />

{a) Basic <strong>rl</strong>sic El.m€nt (b) Sinplified Model of BI-E 105<br />

T6ct Count w. ,CMS T@ks p€rchannel t08<br />

A@!s.4cMS Tiacks t09<br />

D€lay vs. ICMS Tocks |l0<br />

TohlA'€a (x106) in Min. widrh Tms.AEa Clur$ Size =1.7 lll<br />

l.leFclusl( A.ci (x106) in width Tms. Area Clustq <strong>lt</strong>3<br />

^4in.<br />

lnrr.-clnn* Arcu (xt06) ii Min. wid<strong>rl</strong> Tm. Au(Clu$$ I t4<br />

Nuber ol Clusle6 dd Ch$r AEa ve6c K tf<strong>or</strong> N= r )<br />

Tolal D.lay in noo{4ond. (clusrer si4 = I - 7)<br />

Inlh{lulct Delay in Mno-*@nds (Cluter Sia = | - ?)<br />

InteFclusler d€lly in mno-*tundr ( clu$er sie t-?)<br />

I t5<br />

I t8<br />

I t9<br />

t20


AASTRACT<br />

Sin e lst two daades. Fi€ld,Prcgrmnabtc cat Amys (FpCAt have oDc a long wy<br />

loMrd. bsofring rhe rehnolo8y ol lh. choie l<strong>or</strong> omparis ro inplcme <strong>di</strong>Biral<br />

d.si8E. FPGAS have g<strong>or</strong>e fbn a ncrc lhousd gares <strong>or</strong>chip lo <strong>or</strong>cr 50 ni ion g<strong>lt</strong>es<br />

on. singl€ chip. This h6 allo*ld FPOA !o go froh bcirS us€d f<strong>or</strong> srictly smll. gluc<br />

losic-rype lpplicarion ro v€ry lar8. atpticarions, such 6 drirc sysffi_<br />

ljl'C^s n( such lypc ofuscFp.osnnmFblq inrcsruld cncuils that suppry d$igncR wnh<br />

inerpensive ed f6t ecess lo customiad VLSL A k.y conpooot in the design otan<br />

FI'AA is its rcutina nrchiterturc. which comrrises lhe wirins sgmenN lnd rcurin8<br />

swilchcsdurnxercoDnec<strong>rl</strong>hc'PCA slogiccclls,<br />

Thcsc factou are iesponsible f<strong>or</strong> cxccssire sirc ahd tonser detay i. rouiog openriotr{.<br />

'l1cy <strong>or</strong>cr .ll affect chip p.rhnruDcc. ln rhis rc*arch fotlowih8 .ppod.hcs @<br />

dev.loFd. b lackle th€ delay lnd are! probl.m cmcienny<br />

. The developed FPGA ehndluE is lhe Ucl complelely sp<strong>di</strong>Ued sp€.i!t-<br />

putpo* FPCA dcnn4rG supponcd wirh @nptet s.t of conpul€, Aid.d<br />

D.sign (CAD) lools, brgerinS logic bl@ks a Losic ctu'le6. ThL cturd bcsd<br />

ouing ehil-turc cm also be appliad f<strong>or</strong> conv€ndonal reurir8 such s Vderil.<br />

Place and Roule (VPR)<br />

. Th€ archneture k ale con<strong>rl</strong>inins confi8!6rion nemoiy sh<strong>di</strong>ig (cMS) rcuring<br />

esurces. wheie allpreviotrs archirclures h<strong>or</strong>dly supp<strong>or</strong>t CMS approach,<br />

. Tnis Dovel mbirectuDl dcsien hd <strong>rl</strong>kcn $c d€tailed issu€s r€lated lo si4 of<br />

Loolup rable fld clus.r sir, wh.F atl Oevious stu<strong>di</strong>d on thh subjet arc of<br />

ua<strong>lt</strong>rical in mlm.<br />

By sins thes novel approehes. oflimal valu6 <strong>or</strong> l@tup labl€ sia (LUT) dd clBrcr<br />

sir arc &hi€v.d lo d.r.nanc lhc effar of logjc clusler size on cinun sped s sll s<br />

ad; a ! esuh suirable loSic clsld riz ha bc.n €lablished lo met lhc @n<strong>di</strong>don t<strong>or</strong><br />

bcsl d.a{elay |ddkll- To b.sl ofou knowledge no pEvious m* hd b€en don<br />

whicb simunmeousl, invesrigates logic clusr.6 wnh esFct to b<strong>or</strong>h m! md spccrt.


I.I MOTTVATION<br />

CHAPTAR I<br />

IMRODUCTION<br />

l:icld-PogMn.blc Oar. A@ys (FpcAt rc u*r pogtumbtc <strong>di</strong>girdl d.vies rh.r<br />

pr<strong>or</strong>id..flicient, y.t n.xiblc. ihpl.rcnl.rim of <strong>di</strong>girat ciEuits, An FPCA @nsbrs of<br />

ai my of pre8mn.blc logic bl@k int E<strong>or</strong>eicd bt pDgtlmabt. rcuting<br />

,tsoc.s. Thc ncribility of FPCAS <strong>rl</strong>los rhcn lo b. uFd f<strong>or</strong> a !&i.ry of <strong>di</strong>eiial<br />

appli@doa lM sdl linic srar. MchiB ro l.'ge complcx iy$m.<br />

sincc tlEir inwnrion in 1984 01, FPcAs h.ve b€anc onc of th. hosl wi&ly oed<br />

pllrfl)@ f<strong>or</strong> <strong>di</strong>8inl .ppliqtioN. Comp&in8 io dt drrive cchmtoSicq *hich <strong>di</strong>crty<br />

fab.i.ai. h<strong>rl</strong>dwd on sili@n. FPCAS hav. <strong>rl</strong>E advmrog. of inslant mnuf&tumbihy<br />

and inlinit E-p@g6mnability. Tlc, al$ incur loftr.6r f<strong>or</strong> low lo me<strong>di</strong>un votunc<br />

poderion of<strong>di</strong>gjral devic6. Unuke ru<strong>lt</strong> flb.ic<strong>di</strong><strong>or</strong> of im.86t d circuirs, which Equne<br />

hishly sF.iali2.d nduf&ruriis feilni.s ard cd hbd'eds of Oousds of do G ro<br />

ptololypc, FPCAS can bc pbgmh.d on th. dek of dEn d.sisncE This n.tca rh.<br />

vcrifielion of h.rdw deigis nEh fsGr. oM ! hh.t. is foud. unlit. f<strong>lt</strong>l<br />

fabdc ion. s,iich ha ro Eblild hsksi @rrioN on FpcAs onty t'r. rhe<br />

ftlrograminS of a t€w confiSmrion mdn<strong>or</strong>y bits. This olso <strong>rl</strong>los mut plc d6isn<br />

it nlions ro b. doE quickly &d !r d msh low cosl. FpcA b.$d appli<strong>di</strong>oN ale can<br />

be updaGd ans Ocy e dcliv.<strong>rl</strong>d ro rhcir culo'n.6 a<strong>lt</strong>owing inccncnlal hrrdwac<br />

inpovem.nls and ddaflarion otold d.signs |o new ptot@ts dd sp€citic.ti<strong>or</strong>. Funhcr


nN. FPCA CAD !6ls !E nmh chcrF lo.cquiE thd @mprnbl. CAD t@ls rh.r<br />

Th.e advdtagd dld FPGA! to coDFc h.d on wnh full labri€lion lehnololig.<br />

such rs 0E Appliqrion SFcif'c Inrcg<strong>rl</strong>rcd Cinir (ASIC) rehnolo$/, f<strong>or</strong> n.*.r she.<br />

I.2 PROBLEM DEFINITION<br />

FPOtu e sh lyp. of B-pregmm.bL inlcgBtcd circuit! thll $pply &sigftB {hh<br />

iNxpcNivc lnd tcr a@s ro cBtmized VLSI. Thc eFprcBnmm.biliry ot FPGA h!5<br />

il5 sboncominss. FPGtu c moF .xFmis in high rclmc prcdmtion; .icuits<br />

iNplcnMtql q IPOAr .c uuuy my tires bigSer ud slowr <strong>rl</strong>|!n comp.nllc<br />

ASICS. A t.y @mpoi. in de d6ign of d FPGA is i|5 D!,irg @hit ctu., <strong>rl</strong><strong>di</strong>,i.lr<br />

compds.s lh. viting $grunt5 ad FutinS switchG lh.l iDlc@mct lhc FPGA ! logic<br />

c.lle. Eeh ol tL us€r-pmgmm.blc swirche h e FK}A @G@6 siglili<strong>or</strong> chip<br />

@ dd h.s lppEci.blc caps.itl# rnd 6kr.E, lq<strong>di</strong>na to . tr<strong>rl</strong>coff in rhc d6is. of<br />

. good ouling <strong>rl</strong>cl|iielur. Povi<strong>di</strong>ng . l!rg. tunb.r of *irchd *ill yi.ld ! llerible<br />

mhitetuE in wnich rh. logic ells .E Gily inr.@mccd, but r@ My lwilclEs<br />

w.3t. .Ea .nd dc8adc lped pafomal|.e. On th. <strong>or</strong>lEr hdd, f.M s*jthe. lllow<br />

b.[cr spdd Frromane ..d e ls !E!. b if $cc ar loo f4 sitch* $cn n nay<br />

nol bc possiblc 1o inplc|Mr rhc &sicd ciEuir!.<br />

'llr $snd inpoi! st p in &si$ lomsrion of E ll,GA r*hNloly is logic<br />

sy.lhcais. lG p<strong>or</strong>.n$<strong>rl</strong> ir fd fDm bciig fully dploitcd in elmt @mntrid CAD toh.<br />

Th a hlr bern r big g.p b.t@n rhc vadoEtimt d loSic dlnliry o! d FPCA chip<br />

and fi. Ebl. &nsily .chicEd by lh' cAD bols. A<strong>lt</strong>housh tlE 6dmr.d d.rsity m.y


ml bc !chi.v!bl. t<strong>or</strong> all &j8B' bll it is en iily tr@ tnat tlR is still pl.nly of em<br />

t<strong>or</strong> losic aynrh.sis tdls ro impo\,c, Wc bclicv. rh.r hid{ulnyr alromric losk<br />

synrhBis l@ls will pl.y a moa and moa inpotunr Dlc in FPGA dBisn sysLms,<br />

esFci<strong>rl</strong>ly $ lh. FPqA chip qpfiry irc6*s, ed whcn nm ed noc u6 d.si8n<br />

ln. sysrcms $ ! moE .b3t<strong>rl</strong>cr l4l.<br />

h <strong>or</strong>dcr lbr Il,C s lo ovri.kc lull llbriurion bl$ologici ll'O ru$rrchcc nlrd ri'<br />

nnd Nw lnd inmvntit wrys olinFt'vins tlE t(rronnde n'kl losic dcnsily oflPGAr<br />

. Minimi4 FPGA @ undq d.l.r @Gt<strong>di</strong>n, ond<br />

. Mininia budns d.lay lrdq @ cofl$tlin.<br />

Tnis d.sis s[<strong>di</strong>es FPGA outing ehit ctus qirh r.gdd !o thi! ua&of, and Ft!.it a<br />

ddail.d ruri.g.rhiterw sup?oned wirh CAD lools ih.l o '@ur f<strong>or</strong> $. linit d<br />

@@rivity in FPCA ouling Ghilat@. lr o b. u!.d ov6 r wi& tu8c of FPGA<br />

ouling .rchiEtuEs, .!d cpccnts llr.st dcv.loFd alg<strong>or</strong>idn v<strong>di</strong>.lilc Plem .d<br />

Rouing (VPR) th<strong>or</strong> .ppma.h6 &rril.d Fulins in FPCA5 in r gcncnl $ay.<br />

13 FFGA ARCHITECTURD<br />

L!$ de!& ha !d llln.ndoui inclle in dE eleitid lnd oP8binie of FPCA.<br />

MEh ol lhis dlm||i. impovcmot ha bcn <strong>lt</strong>F cu<strong>lt</strong> of chu86 !o lh. FI{iAs' inLtul<br />

.rchirFtucs. NGw shilerunl popo$k rc rurincly g.trcd.d in bolh &!dmi! &d<br />

indBrry, F<strong>or</strong> FPGA 3 ro @nrinuc to grew, n is impodrnr d[r the .q ehir.ctul


ideas are lai<strong>rl</strong>y and accurately evaluard. So thar dose *onhy ideas cdn b. included in<br />

rutwchipsl24l.<br />

The uniq@ fe.l!rcs of ihe ehitectuE hrve l.d ro inlensive sru<strong>di</strong>es on d.si8n droftadon<br />

tchniques f<strong>or</strong> L@kup Table (LUT) based FPCAS. This resNh will investiSate vdous<br />

rcchniqucs f<strong>or</strong> lo8h synrhesis of LUT baed FPCAS, inclu<strong>di</strong>ng loeic optimiation<br />

l4hniqlcs, fi€ tRhrology matping tcchniqEs. ad rheir appli@lioG in FPCA synthesis<br />

.le<strong>or</strong>irhns l<strong>or</strong> ac!, d.lay, dd deplh minihianio.. The* |ehniqu6 vary considenbly<br />

in l€ms ofqulny ed €mciency, ard <strong>di</strong>tT.Enl ones my be suitable f<strong>or</strong> <strong>di</strong>fcMr types<br />

oldesi8N and/<strong>or</strong> optinizatioD objeclive! FiguE.l.l depicts the drchitetfuF ol Xilnrx<br />

FPGA [5].<br />

1.4<br />

:I}<br />

+<br />

+<br />

+ tr<br />

+l<br />

-tL<br />

Figurc l l: G€ncrd Arch<strong>lt</strong>octurc of Xlinx FPGA<br />

FPGA CAD FLOW<br />

F<br />

f-<br />

+T<br />

I/O Alocl's(lOBsl<br />

Blocks(cL8t<br />

A lypical cAD flow t<strong>or</strong> FPGAS cotuisK ot a eis of inkrconrcclcd CAD l@ls 6<br />

illusrmred in FiguE L2. Th€ inpur to $e flow usually is a highlevel desnption of thc


h<strong>or</strong>dwurc. exprcssed in high-level<br />

VHDL. The d*riplion is aad<br />

hddsr€ d(scriprion leluages 5u


togcther by deleninins rhe cohfiguration oathe prcsramnEble outine resources. The<br />

D0in hsli ol <strong>rl</strong>l buri'is tdsr ns islo rusccss[r y cstiblish nll connccrn!$ i,] n cncun<br />

6ins lhc linired domr of physic,r Eeuds availablc on drc larser FpcA. The <strong>or</strong>h€r<br />

rnsk ol rhu n'ulin! ptuC&.r is ro inirizu Jcluy by atloc<strong>lt</strong>iIg li$r ptrysicul coNccrions<br />

to timnlg-crilicalpaths. Toedher rh€ synlhesh, tehnology mapping. and pdcking process<br />

m commonly called the font end of $c FPCA CAD flowi dd rhe d@mdl and<br />

rculin8 st ps &e coDmonly olled lhe b&t end of {E FPOA CAD flo*. FiguE 1.2<br />

sbowsrhe@dplele CAD flowofthe FpcA DesiSn.<br />

Figurc 1.2: CAD Flowoffi. rPCA D.rign


.5 ROUTINGCIRCUITDELAY<br />

Tte d.l.y of a ciEnn inpl.n ded in d FPGA is nostly du. 1o ouling dclar, ralbd<br />

$an loeic bloct delays. aid nostoI FPCA\@ is dcvoEd lo prcgdndablc outinB<br />

(hea<strong>rl</strong>y 80%). Furiheft<strong>or</strong>c,6 FPCAS move inlo increGinSly deep submicron I egrakd<br />

Circuits (lC) pc€gs, thc fFction of toul d.lay due ro routing is inclEins wilh qch<br />

pDc6s Scnmrion. Cotueq@n<strong>rl</strong>y, on. m$t dqis outins archirecrB vhich e boih<br />

fasr and {rca-€ficientlo create an FPGA lhat fully exploils lhc pe<strong>rl</strong>o.mance and densiry<br />

ln facl rouring &chil€ctuG daign is lery chall.lging b.caue lhe b€sl value f<strong>or</strong> each of<br />

the p66ircleB above dcpcnds oo @mpl.r l.ldc{fIs. F<strong>or</strong> cxmple, d FPCA qith loo<br />

small Ll.JTs cm be consruddd lo ninihie the dea, rcsullinS in po<strong>or</strong> speed On the<br />

o$er h.nd. ifa. FPGA includes laBer LUTs, may incee sp.ed bul wdte ar.a. Thus<br />

(hep is <strong>di</strong>c nced o d.vi* thc r,gic blocl ehitcctm of poposed FPGA. such 4 lo<br />

lcep lhe <strong>or</strong>$ wilh nr limns.<br />

I ,6 LOGIC CLUSTER AND BASIC LOGIC f,LEMENT<br />

An inpondl facr<strong>or</strong> af1i<strong>di</strong>ng lhe @ dd sp.ed of d FPOA is the logic bl6k (logic<br />

cluskt archilectue lssd within lhe FPGA, ln general a logic cluslcr coNisb one o.<br />

mos'B4si. Losic Elem.nts (BLES) coni.ded by rdr local inrer@nftcl. wh.ft rhe<br />

BLE, tl<strong>rl</strong> *d ue @nsisls of a 4-LUl md ! Esisle.. FigrE I 3 shos a losic clusrer<br />

consisrihB of t{o SLES lnd locdl iot€Mnn4t. The size ofth.loSic cluter (numbcr <strong>or</strong><br />

BLES it coolains) uFd in d FPCA dchitecfue qn have a dEmalic eil4( on its {€o and<br />

pe<strong>rl</strong>bm.f,ce. Pevio6 w<strong>or</strong>t ll-lal d€nD6tratcd the cficct of cluler siz on @


cniciency. Al$. in llal n wN st$uhlcd lhut N clusrs sie is incwd circli( spccd<br />

Figurc l-3 (!) depicts clusrer @nrtins N b6ic logic clemcnrs (BLES) fed bv I cluster<br />

inpurs- The BLE, illusldtsl io ligurc l.l (b) typicauv @Ntus ola K_input l@kup lable<br />

(LUT) and legiscr, which fed a lqo.inpd mu<strong>lt</strong>iplexer lhat deleminB whe$er tlrs<br />

egisrered <strong>or</strong> unEgislercd LUT onlput dri!6 thc BLE outpul<br />

We aE concer.ed wnh determining the eflcd of lo8ic clusbr sie on ctcnil speed as<br />

sell as area and fih<strong>di</strong>ng what size logic cluter has the best Na_d€lav tnde_ofi<br />

I<br />

(x-B<br />

J---<br />

I<br />

I<br />

lnpu5 J- lotr<br />

(b) Baic Logic El.6ent<br />

Figure 13: Logic clullcr.nd baslc logic.l.ncnt (BLE)<br />

I.7 THESIS GOALS:<br />

L To inv€stigte the @nplex i$ks in vaious Pdsentcd oudng algodthns tbr area<br />

ninimianion and ale delav ninimiaion simul|anoulv<br />

I


2. Povidc nry Rouabiky ArchiLcr@. ,hich supFrts th€ Losic Cl6r.r wi<strong>rl</strong>r<br />

coniisuration nem<strong>or</strong>y sbarinsaehila(uru, <strong>rl</strong>d ray Esuksi<br />

V<strong>or</strong>e logic be'ngpa!led on ro rhc FICA rAdOpumrariotr'<br />

Redrce rh€ length ofqiricalp6th (Delay opdmiarion).<br />

Lsynth.sis f<strong>or</strong> Roulabilirt-<br />

I.8 THESTSORGANIZATION<br />

Thn f<strong>ics</strong>is i3 <strong>or</strong>gai2ql d follos.<br />

Chaprer 2 rcvicws the bactground ini<strong>or</strong>Dation elevant io this w<strong>or</strong>k. inclu<strong>di</strong>ng s rdview<br />

ol v<strong>di</strong>ous CAD tools available ld i€nlfominS hishtevel d$qiplions ot<strong>di</strong>gilal circuils<br />

inro FPGA plo8rdming iifomaion. Thc Evicw includes a bnel dsqiption of<br />

EpErnra$y. rools rbn 4h mj<strong>or</strong> clN outing dhnetuEs.<br />

Cnopl€r 3 dc*ribcs |he lm FPGA reutin8 Nhir..l6 E d f<strong>or</strong> @ly si!8c dp.ri@G.<br />

We dc$rih. thch in this chapter bea@ ddails ofrhe rw dchn@o&s arc rcquircd ro<br />

fully unde*randnuchofthe materiol in this ch.prer.<br />

ln choptcr 4. qc ir<strong>rl</strong>csrisate rhe spcDd and arca-cflicicncy ol FPG S cnploying losic<br />

clusers 6 their logic block. w€ arc prni.uldly ineicat d ih the efa€cl tn.t clst.r sia<br />

har on FPGA spe.d ad densily. ln lhis chapLr w <strong>di</strong>ns ft€ tldeofis involved ii<br />

selec{ng rhe prcp.r clu$er nrc r<strong>or</strong> . cluslcFbased FPiiA. Al$ we model rn e. ud<br />

speed of vadous FPGA archila<strong>or</strong>cs, S.cli<strong>or</strong> 4.1 desibes veiols aFhild@l<br />

pdamelgs fiar defrne the FPCAS u*d f<strong>or</strong>.xperimenhl purPos. s€ction 4.4 dcscrib€s<br />

the dea-delay pmdul thal is used to elaluat. lh. qulily of<strong>di</strong>flernt FPCA archit clurcs.


SdtioN 4.5 dd 4.6 €laboEr. key d.hir.c<strong>rl</strong>ral quesdoB con€ming how ci4un sped,<br />

FPCA @


CHAPTER 2<br />

BACK GROUND AND LITERATLRE SURVEY<br />

2.I OVERVIEW OF FPGA ARCHITECTURE<br />

h gcne!{|. M l:lrcA consists ollogic blocks.l/O blocks, and progonhrbte rouling as<br />

shown in liiSurc 2.1 To implenenr a circuit in m FPCA, each ofde losic blocks inrhe<br />

n'c^ rc appop,idely posnnnEd b |).rt<strong>or</strong>fr<br />

a smlll ponion o, rhc tlncrion.tny oa<br />

rhe desircd cncun. and qch ollhe l/O blck is prognnmed lo h. an intut pad <strong>or</strong> an<br />

ourprr l)jd $ rquned b! the cncun Thcn $csc fhclioml ponions a j I/Os are atl<br />

aPtfotfurc, connecred ftoughrhcfhs nmiblc routins<br />

Figure Ll: A g.n.ri. FPCA<br />

1l


2.2 FPGA ARCHITECTURE TERMINOLOGY<br />

Allolft rouirrs alg<strong>or</strong>nhns d€srih;d in this cbapter assune FPCA drchnec<strong>rl</strong>rd sinilar<br />

ro rhc bland-slylc FPCA shoM ih Figurc 2.2. Thc hllowing rcminoto$/ aom<br />

Brown el al 021 h6 b@ome the shnd.rd melhod f<strong>or</strong> d6cnbiog island{tyt. FPCA<br />

d.hit clure. Each loBic bl@k h6s inpul Md ourpur (yO) pins tbat @mcct lo rack<br />

sBmenN |hough ! conocrion boN. The nunber of mct seSnenrs thrt a panicular I/O<br />

pn connecrs ro In a €ohn*$on box is cs .d the conn ction box o.xibiliry lFc). The<br />

nunbs <strong>or</strong> tmcks pcr chmhel is w' which is .ho ollcd rhe tnck cour. Fisu'c 2.2 {a)<br />

$os <strong>di</strong>d pogron$able connccrions lbr o.c conn€crion box, wirh fc = 0.5W.<br />

Tmck $gnmc connd lo othd ituk *gDcnr lnough swilch b<strong>or</strong>6. Ille iumber of<br />

tract segme.ts that & incohing lr&[ s.grqt connecls !o is call.d the s$itch box<br />

fl€xibilily (Fs). Fig@ 2.1 showr lhe @mcrions f<strong>or</strong> <strong>or</strong>c rrck segm. a<strong>or</strong> r@ swnch<br />

Fburc 2.2: (.) Lbnd{tyl. FPCA rnhitdtlr., (b) onn..ii<strong>or</strong> b<strong>or</strong><br />

l2


Figure 2I (a) shows the cono6tions f<strong>or</strong> one lmcl ii a ptahar sqirch box. <strong>lt</strong>r a pt,nar<br />

alohnecrur€, lhe tr&k nuhber is setected in rhe comcction box lh. outpur pin of a tosic<br />

bl@k. A sn h box is a<strong>lt</strong>cd m,/ar<strong>or</strong> ia n is Fsjbtc io lav. ! swilch box on a<br />

<strong>di</strong>f'-c!cnr riack rumberrhen tho one uscd locnter the switch box. FiSur€ 2I (b) shovs rhe<br />

.onn.crons t<strong>or</strong> onc r&k in a non-ttmr swncl box (rr&k o is lhe in@mins hck)_<br />

rfoqtr N rh wilr.n:sirutr h'\ <strong>lt</strong>5l. h i tui.|'rtrrr otrn$tu!, it i5 Dossihte !, $vnch<br />

lion oe lnck nuober ro an<strong>or</strong>h€r rdck nmb€r in cvcry swit€h box; lncs lyp€s of<br />

rcur'ns @hnecurcs impove outability, s shown in[15].<br />

I<br />

il'- -.:,<br />

:i....i<br />

box6: (r) phnar, (b) non'planrWiuon<br />

FPCA lrchirclB thal @nrain nllipte logths of rBck *gnc s de ca<strong>lt</strong>ed sgmenrd<br />

rcuring archirecluEs. F<strong>or</strong> rra.k sgmsrs lhai spao m<strong>or</strong>e dran onc togic bloct, rhe lEck<br />

se8n.nt vill pas thoueh ooc o. noE switch box6 wiolout pGsing lhnugh a *d6<br />

2.3 DETINITION OF THf, FPGA ROUTING PROBLf,M<br />

Many oftb. outing llg<strong>or</strong>irhnB descnbe in rhis clraptcr rts designcd by considcring rhe<br />

ro<strong>di</strong>ng poblem as lin<strong>di</strong>ng a palh f<strong>or</strong> m;h nct lnmugh, <strong>di</strong>r@red saph (C).<br />

i<br />

I]


Fi8ua 2.4 shows ! small ponion otd FPOA od iG epF*nlation s a Crd. The togic<br />

bl@k (A. B), ftc I/O pins (OP, tPr, Ip2). snd the uack segmenrs (t, 2, 1,4, 5) ae<br />

repE*nr.d a a ser <strong>or</strong> ood€s (r, and lneB is a et of <strong>di</strong>Mled cdg6 (O EpEsDrins<br />

posrible conn€cdos b.iwo lhc varios outine eources.<br />

The roulihg prcbl.m is defin d s follovs: f<strong>or</strong> a ciElh ro h. $cc6sfuUy out.d in m<br />

FPOA. a path through the ouliDg g6pn C nur be foud f<strong>or</strong> cvcry nel to conncct from<br />

rts sourc. tcm'nal l0 every one of ils sink lmihab. The parhi i<strong>or</strong> <strong>di</strong>fercnr lds arc<br />

6u.lly chos lo minimie rhe l<strong>or</strong>al nwb.r of i'acl Fgn.nrs rcqlircd by the cieuir $d<br />

possiblylo mininiz lh. circuir d.lay. A pa$ fo! a net is lcgal if.v.rynodeinrhc pad is<br />

u$d by ot m6r onc ncr (qcq't l<strong>or</strong> tosic blel nods which m.y h. fic slart <strong>or</strong>.nd <strong>or</strong><br />

'nu<strong>lt</strong>iple<br />

ne$). F<strong>or</strong> 0circun to be su(esfl<strong>lt</strong>y louled, lesat out€s found t<strong>or</strong> every ner.<br />

The rcuing pobl.m is <strong>di</strong>frcull ro stw, siB rhe choie of a cen in parh fo. <strong>or</strong>e ner<br />

may block lhe b€sr paths f<strong>or</strong> other .els <strong>or</strong> posibly make ir inpossible lo ro<strong>lt</strong>e o$er nels<br />

wi.houl <strong>or</strong>eFnring en in ouring @uEs. Rouling @naerro" dcuB who a ollins<br />

rcsLrcc, rrch sr rEcr €gmenl<strong>or</strong>anl O prn, nover.uscd.<br />

Fi8ur.2,r: FfGA h!.i.8 .rchirRrure .nd gnFh FpBr.t.tron


2J.l Me Rouring Alg<strong>or</strong>ithm<br />

'DN moa outer, d€veloped by L.e tl6l, is th€ basb t<strong>or</strong> nny of rh€ tuurihg alg<strong>or</strong>ilhns<br />

described ir $is secrion The mdc rouring alg<strong>or</strong>ilhm was designcd ro find rh. shon*r<br />

pa$ bcl$een two poinrs on a Ecta.Sulr grid. sing a bEadlh-,id srch. t hc atgo lh,n<br />

6 lMnnced lo lnrd ! pith. ifoN exists, When appticd lo in FPCA. the nraru rouiig<br />

llg<strong>or</strong>i$n nans ar rhc solm node of a .a and exp&ds cach neighb<strong>or</strong>ins node Thc<br />

Dcighbo.in! nodB ol e.ch expanded .ode G rhen cxpoidcd. ExpansioN @nlinE u il<br />

lhe sink iode ol rhe net is ieached, <strong>or</strong> all nodcs have ben risired and no path has be.<br />

rdund one of thc biggd w€al$ess ofrhis algodrhm is $al n qn be vcry slow, since a<br />

l.r8c nunber of thc nodes in a e6ph will have ro bc lGned to oure . nc1. Then have<br />

h.en various improv€nen$ 10 lhc basic marc roulcr lo improve the runrine, Rubin<br />

sboved $ar using a depth,liEr *nch olld sisnifi@dy rcdrce rh€ runrime, white sritl<br />

Iin<strong>di</strong>4 lhc shoflcsl parh hLtwecn lwo nodcs. Rubin also shos.d th.l whdn nuting a r\o-<br />

lmiMl nel, lhc Fl€cliof, of the stdnins rrminal f<strong>or</strong> thc sarch cm significa ly reduce<br />

rhc iun-dhe. Choosins a Emrinal l@td clo*r lo one of the aou €oms oa $c<br />

rccl0n8t<strong>rl</strong>nr gr helps (o reducc rhe ruD-linre. snrce $c cdrcs of fie -qrd iNpo*<br />

botrni,<strong>ics</strong> on $c *areh. Soukut LlTl allDnxl llN b<strong>di</strong>c nlg<strong>or</strong>ithm lo Nakc n.xplnd<br />

nodes th!! wer. successively cloFr io th. sinl of a nel. crcaline o dn(ted smh<br />

alg<strong>or</strong>i$nr. Soukup showed dul a <strong>di</strong>Ecrcd earch alg<strong>or</strong>ilhm provids an o.der of<br />

magnilude speedup over lh. b<strong>di</strong>c h@ ouring alg<strong>or</strong>irhm. FiBUB 2.5 shos how thc<br />

na4 rouler expansions would proced r<strong>or</strong> (a) a breadlh-iisr sarch ad (b) a <strong>di</strong>recred<br />

errch, The $urce of the .el is ha*ed wnh e "S" and $e tllecl sint is oa*cd vnh a<br />

t5


'''1 . Th. black squares nark blocked .od6 <strong>or</strong> consesrion. Tbe <strong>di</strong>rcGd se.(h expdds<br />

significri<strong>rl</strong>y fcwcr nodes rhdn lhc hrdMrh-tjrsr s<strong>or</strong>.h, snrcc rhc $rrch cxplnds <strong>di</strong>lccrLy<br />

loMds rhc tuget sink. If th€E is a sisnifi@nt amount of congestio., lhe <strong>di</strong>rccied *dch<br />

trrnt eDd up expin<strong>di</strong>na trosr olrh. !.dcs tr) find I F h b rh! rrrsct si'r(. <strong>lt</strong>r r $'sr<br />

cdse,rhedLrecrcd{a.ch h0s ro extad !s ftary nodcs !s the breadrh-ftst.<br />

Fisure 2,5: (!) Brcrdth-firsr s€rr.h n{. mut€r, (b) <strong>di</strong>recl.d ssar(h naz€ reut€r<br />

2.1,2 Ri|FUp rnd ReRoul. Algodthn rrd Mulli-<strong>lt</strong>errtion Alg<strong>or</strong>ithn<br />

Sioce lh. outing r.swes in & FI'GA ar. limitcd, rcutins alg<strong>or</strong>ilhns race $e poblcnr<br />

ofdelin! wnh rouing congesion, The prcblen h that ouling one nct uinE ptnicllar<br />

rc$urce may makc il inpossible lo roule some o$er neG. Therc hale b.en two nain<br />

rypcs ol llg<strong>or</strong>ilhns to d€ll vith lhc ongcslion trcblcn.<br />

(b)<br />

The fid rype oa algonthn is<br />

knoM as riFup {nd Ejoute, such s rhe w<strong>or</strong>k donc by Linsko 081 <strong>or</strong> Kuh.nd Mde[-<br />

Sadows*o D9l. Wilh rip-up and rc-mulc .lgo hms! nels using tesourcos lhal flre<br />

cong€$ed are rippcd-lp dd eroul€d. Thc suess is dep€ndent on the choicc ot s<strong>lt</strong>ich<br />

nch ro iprrpand Ihc <strong>or</strong>dcr irv[ich rippcdrDnets dc rciot<strong>rl</strong>.{. Anolhcr sol ionbrhc<br />

c<strong>or</strong>gesri<strong>or</strong> prcble , knoqn as rhe nu<strong>lt</strong>i-itcralion.ptrcaclr. rds conccivcd by Nat [201<br />

A ouling ,ld.,rn is the rippiog-up Md rc{ouling of every sinele ncl. Tbe ncls e n<strong>or</strong>


ipped-up all <strong>rl</strong> onc., but ihstead €ach ner b ripped-up sepdar€ly (l€aving atl rhe <strong>or</strong>h.r<br />

ncrs in plee) and E-oukd. Sevcral itiations ae perfomed lo allcviare rcurins<br />

con8dtion. Ners aE routcd in the ene <strong>or</strong>dd ii €ach n€<strong>di</strong>on, bur only one nel ir ripped-<br />

up at a tine. Congdlion is idrnlified by kaping t@k of the nunber of nets .!ren<strong>rl</strong>y<br />

occupynrg each roulinS !€surce node, Any node wilh e @cupsncy gr.ater $aD one is<br />

considcred congestcd. Nair\ lechniqu€ ir very ef€clive f<strong>or</strong> resolvins conge$ion<br />

poblems, becau* ncls in rcn-coogcsred dd @ d$ b. cl@aled 10 allos n.ts using<br />

@nscsLd re(@s lo be re<strong>lt</strong>d moE 6ily. Now that w have dMib€d $mc of tb.<br />

bosic rcchniqucs uscd by nniy iouriig ,lg.rithms. rhc Dcxt lwo $crionslcscribc scvcftl<br />

rouringalso hnr in <strong>or</strong>ederail,<br />

23.3 CouB. Gnth E{'rision (ccD)<br />

'fhe COE ruling alg<strong>or</strong>i$m. d€velop€d by Bou.l.l 021, is th. fid acd.lea,. outii8<br />

!l8o hfr dev.loFd f<strong>or</strong> isl.nd-slyle FPOA' cGE h ! ourability-driven router. a<strong>lt</strong>hough<br />

rnning crilical nec can be assigned a hiSIet pri<strong>or</strong>ily in th€ ro<strong>lt</strong>ing ale<strong>or</strong>nhF<br />

The global rouiing alg<strong>or</strong>ithm u*d by CGE is lie LcsRoule global tolliDg alSonthm<br />

f<strong>or</strong> sidndad cclls. In the L@usRoulc alg<strong>or</strong>ithm, mu<strong>lt</strong>i-t niml rc$ arc bokq uP inlo<br />

mo-tcminal nc$. E ch rse|crniml ner is then ouled usin8 a mininln lenglh palh<br />

Pdhs arc cho*n so !s to balrm $e neN mong all the channels<br />

The CCE derailcd roulihg llg<strong>or</strong>nhm is <strong>di</strong>lided i o two steps. ln the Iitst slep, each<br />

global outc is expaidcd inlo a sel ola<strong>lt</strong>emarivs dehilcd Dutcsi cach nDl


curcs st<strong>or</strong>ed r<strong>or</strong> cach ncr (rhis rcduces rhe nreDr<strong>or</strong>y requndnents and speeds up the<br />

algo thm). ln the sfund $ep. a d.railed 6utc is choen f<strong>or</strong> cach !er; rh. deraitcd routc<br />

with Ihe le*e$ rcuios lesources sed by ddailed roures f<strong>or</strong> other n€ts is choscn. The<br />

<strong>or</strong>lcr.l$ hlcs i o acrounl nctsrh hrveo<strong>lt</strong>yonc tossibte dcmitql mu(c ard Dcts lhar<br />

c tnir! .riic<strong>rl</strong>- Alis chtusir8 a deraihd outc t<strong>or</strong> a ne( u<strong>lt</strong> ot rhe odE. ncls are<br />

np<strong>di</strong>lcd lo EnDve aDydetailed roncs thar $c ahy ot E Esourcsjusrd<strong>lt</strong>ocared,Il.il is<br />

impossiblc lo reuk any ners- fien mu<strong>lt</strong>iple iredlios vnh rip-up .nd ercur aG<br />

allcnFed Only nets usinS th€ congested channel segmeh$ are ripped-up a.d e{ouled.<br />

F<strong>or</strong> $c dpped-up n€ls, .ew dclailcd roulcs !!€ expanded nsing lcss aggrcssiv€ pruning<br />

i<strong>or</strong> c{h suce$ivc nearion.<br />

Tl1e cxpcinreirol dchneclue used f<strong>or</strong> rstiDB CCE was sinlilar to rhc Xihrx 4OOOX<br />

sries FPGA [21] All $e |Rck *8nenc werc singlc-lengh *gnsls with Fs-6 and<br />

Fc=o 6W. Conlpalisons Nec nade ro a h&c ouring alg<strong>or</strong>ithm. wh€re rhe @rc rouer<br />

sar rc*icted lo lsins rract *slnc$ wi$ir thc snrr 8lob<strong>rl</strong> routcs.s CCE. CCll uis<br />

ablc ro roure a set of bcnchmdk .ircuib in d averrgc <strong>or</strong> 15% lcs rack\ per chanoel<br />

ron'trkd n) rrf nr/r rr(c'<br />

2l.r S€ncnl Alloet<strong>or</strong> (SECA)<br />

The SEGA louling alg<strong>or</strong>iihm [22] is an exleNion ofrha CCE alg<strong>or</strong>ilhn to rarget fPCAs<br />

wnh egndted lolrins archnedues.<br />

The global outer u*d wilh SECA is almGt idcnlical lo lh.t u*d wilh CCe. On€<br />

inp{nanr enhanceneni is rhe ad<strong>di</strong>lio. of berd reducrion to penalire 3ny bends h rhe<br />

slob<strong>rl</strong> rcure a<strong>or</strong> a ner. Sirce the unde tinB rourinS mhitdlud @nlaiB enc l6ck


segnent which arc longer than unit lens$. a slobll route wnh fewct b€nds ittows rtr<br />

dcloiled rcurer ro u* lonser tEck scgn€nls, Bend rtnu<strong>di</strong>oD w6 showh ro signif<strong>ics</strong>ntty<br />

Edrce $e r<strong>or</strong>al .rmbd of tr&ks Der chdftl Fquicd bt circlib, @mparcd b not usin8<br />

bcnd reduclion. lhc dekilcd loulcr rbl SEGA is br*d o.lhe same principal 6 CcE. in<br />

dDr rhc gloh<strong>rl</strong>rcurs rrc crpondcd iNo i st ofdchilcd ntrtcs l<strong>or</strong>.rcl lN<strong>or</strong>cnnihtNl<br />

rnd onc dctailed oure b cho*n l<strong>or</strong> inplmddne @h re-teminal ner. Howvrr.<br />

besids a cosr funcdon lo nininiz congesrion SEGA als contaihs two cost fuctions<br />

f<strong>or</strong> ninihizing cncun d€lay thal m.lc lhe rcuter linin8-aware. Th. fiBr cost fmction<br />

conlains two t€ms: one t m lo pEf.r longcr tra.k *gmcnts to cov€r a long <strong>di</strong>nme.<br />

6th.r than s.veral shon segm€nlsi nd the oth€r teh ro nalic sue $ar a lons *gmenl is<br />

n<strong>or</strong> w6rcd ro go a very sbon <strong>di</strong>stance. The olher cosi flnciion us.s the Rubinslein-<br />

Pcnlield delay modcl [2]l t<strong>or</strong> calculalins rh. dclay of a rer. Thc delay b alculaled l<strong>or</strong><br />

ea.h po$ible detsiled rcut ol a two-poi<strong>lt</strong> @nnecrion, ed the fal6t outc is cbo*n.<br />

An<strong>or</strong>h€r enh.ncenenr in SEGA leNs COE is a hethod lo reduc. the witclcnglh and<br />

dehy ofnull<strong>lt</strong>€<strong>di</strong>nal ncc. In CGE, all ofte two-l.minal n ts1h{ mE d.conPoed<br />

fron nu<strong>lt</strong>i-Gminal n ts nay be rouled in dy odr. Uttle.llon is made lo rc_e h.k<br />

segnFn$ ofM<strong>or</strong>enninal ners rhat are etully pan oithe same muh<strong>lt</strong>€rhinal net. Rd-<br />

using rrcl s.gm.nrs €an significdl, Fduc. $. hck ;unr s wll as the circuil dcl.v.<br />

To E.w mck *g!.ntr, atl of th. lret mi4al neG conPrising a nuld_rmi.al ret N<br />

rcured rogether, with lhe ldgest nulli.temin.l nels ouled first (wher.lhe si4 is the sutu<br />

ofrhc 6rinated lcngth f<strong>or</strong> cach rqo-teminal net). The r@'rcrminaln€ls are routd nr<br />

od.r fron long6t to shonc$. As lhc rcuting ptocft&, l@k sgmcnls ed lo. other


lwo-lefrinal nels rhar ae part of $c s. muni-r.mi@l ml arc E-used & nrch 6<br />

possible. Experinents vith SECA wee run o. an FPGA @hileclure sinil.r ro rhe<br />

Xilinx 4000 seri.s FPCA l2ll. coniainins singlelcngrh, doublelenglh, and longlength<br />

mct eg<strong>or</strong>dls. qnh Fs=l and rc=W. Thd wre no other 6u<strong>lt</strong>s |o @nO.E *ilh ar lbc<br />

tine of lhis w<strong>or</strong>k. a<strong>lt</strong>hougb ex!€rimenls showcd how lhe various €hhanc€menrs<br />

sienificedy impbved $c tr&k co! ed d.lay of circuns.<br />

215 P. <strong>or</strong>mt.c.-Onotcd Pl.ccd..l .nd Ro<strong>or</strong>iry GPR)<br />

FPR, de!€loped by AlexEnder el ol [24], is E odbined placefreni sd global loudng<br />

als<strong>or</strong>ithto. lollo{cd by d.railed ouring. Ttis aluoilhm. vlich is Duely reutlbilily.<br />

drilen, ri€s lo sinuluncouly optiniz $ulce{int palhl.ngh, blal wiEleneth. tnd<br />

rdck count. Thc combincd plac.nen Md slobal roulins algoilhm is b6.d oi I<br />

rchhiqu. slled rhumbn.il pannionin& Th. b6dc idca is lhat rhe oic FPGA is <strong>di</strong>vided<br />

inlo a 3 xl sid, whee elch losic block is conraiied in exadly one '€8ion ofthe grid.<br />

The placcmenr oflogic blocks is in,Foled usine simul<strong>rl</strong>ed ahnealins [25] b nolc losic<br />

bl@ls b.rrcen egiotu. E&h rSion c $o snuilided inlo 3 x 3 $tsEsions and<br />

simul.ted annenlins is !$d on rhe 3ubr€sio6. Each rc8ion is @Bively sub<strong>di</strong>videdaid<br />

iDprcved, unlil cach regi<strong>or</strong> conlains e{aclly one logic bl@k, The cosl luncton ibr fte<br />

plaencnr algo hn er pE-@npued 3 x I R4tilin@ Sleins Alb<strong>or</strong>edc6r (RSA).<br />

lle callcd thunbrails, tha! comect all of thc net letminals actoss panidon hund<strong>di</strong>es<br />

Onc lhudbiil is choscD t<strong>or</strong> cadr rcli thc objeclive ir lo niiinire thc lolol surcein<strong>rl</strong><br />

parhlength ed widlenSrh &ros allofth€ n.15. sbilc ale balecing conge on bclw*n


c- -l J<br />

I<br />

a nel h.s moe $4 on leminal in a Egion,lhcy e counrc


wi$ir1r*icc the cosl ofthc optimalSleinei fte, in Flynomiollime F<strong>or</strong>a net.IKMB (tri<br />

lhc @nrexr ol FPGAS) it€ratilcly tn€s many oatlE swiah boxes in drc ncr $ po$ible<br />

Srcircr F,i'ns. IlB swirch llx.r $xr 'cJnct llNcoi.l rhc n.r liv r<strong>lt</strong> |[tlxr rtrx\d nn'<br />

chosn srhe final Steiner poinlJ. tlsing a. archneule simila<strong>rl</strong>o theXilinx 4000eries<br />

FPCA, FPR wd only m avctaS€ of 4% bet r lhan CGE al hinimizibg fack count eross<br />

r nunher of b€nchm.rt cieuirs. Using a ehiteluE sinild ro lhc Xilirx 4000 *ri's<br />

Fl,cA. co pariens we made lo SECA and GBP G4 &crion 2 4 2) FPR was l l%<br />

belEr, on lverage. $a. SEGA at mininitng track cou FPR was onlv an t!@ec ol<br />

60l. beBer $an CBP !t ninimizing t@k out<strong>rl</strong>.<br />

2.4 COMBINf,D GLOBAL AND DETAILf,D ROUTf,RS<br />

R<strong>or</strong>ren lhat use epaEte global lnd debil.d outi!8 algodthms m" sufler *hat ls<br />

Gmed llE ,,.,/P,,8 ,nd,4t Sine rh€ global rcutc' der iot know thc dclails of lhc<br />

3with box dd @mcrion box Nhir6ruE. th' dct'iled rc<strong>lt</strong>'r oav not be able to roulc<br />

.ll of th€ ntls uing fie asigied global roul4 C"bi'ed global ed detailed oute6 do<br />

not sufer fron $c nappins anomalr, sin@ ddsions obo lhe channel ssDcnls 'nd lht<br />

spe.i6c tdck sBmG s and switch.s G tBde { the s€ rine ln lhis stion numbs<br />

of combined elobalanddel.iledoutingalgo hfrs<strong>or</strong>cdescnbed<br />

2.4.I TRACER<br />

The TP. CER reuling alg<strong>or</strong>ilbn. dBiened bv 12' and Wu I27l h a timingndven<br />

dg<strong>or</strong>idm. The routing alS<strong>or</strong>ithd n split inlo rh@ st'ps: dehv and congcslron<br />

eslimarioni iniial roulinSi and riP'up md F{outing Thc puposc of lh' delav lnd<br />

congesion estimation slep is lo delc<strong>di</strong>ft a cnd€lny f<strong>or</strong> €*h nd boFd on fie 6limllcd<br />

2l


nlinimunr dclat f<strong>or</strong> each nct and N amouDl ofcongesioi d nel mdy hale ro avoid l<strong>or</strong><br />

suc@stul outiry. Eah d is outcd 6ing a brcadth-fi61 I:@ outins als<strong>or</strong>nhm.<br />

iSn<strong>or</strong>nr8 .ny oveFuse of outing rceurces. Sioce cach nei is allosrd to ue the b.st<br />

rouling esources. o measue oflh€ hinimum delay md the slack oa each net c be<br />

calculared. F<strong>or</strong> th€ dclay calcularions. fu<strong>lt</strong> Ffi-haed<br />

23<br />

riming analysis is pera<strong>or</strong>med. osin8<br />

an implcm€ntation of lhc Elm<strong>or</strong>c dclay nodcl [28]. Thc congesliotr f<strong>or</strong> clch Dul is<br />

colcuhled bsed oi the u* oflhc routins reeurces (by all oathe ncls) conloined *il|lnr<br />

$! boun<strong>di</strong>ng box oflh€ n t.<br />

h rhc Kond st€p. @h of $c nets is rout€d again, uinS a b@dh-{iur n@ rourer The<br />

nc$ ar rouled in ods ofd.s€<strong>di</strong>r]8 $iticdlity. Routine esources !e.ol ollowed to bc<br />

o!.tsu*d, unless lh.rc is ro other way to oule a nel<br />

'Ihc limt sGp. npup and c{<strong>or</strong>ins. is <strong>di</strong>vidcd into rwo patu: cons.srion Eeludon and<br />

dela) 6ohlioh, Ir cone6tion Gsolulio.. a dp-up ind re-rcute apprcach is used to ov<br />

aDd lesolve my coigdtion prcblcms fion the niidal rcutins A sidularcd_cvoluion<br />

<strong>rl</strong>g<strong>or</strong>i$tu is ued lo chm* $,hich ncrs to riFup dd Foutd Nets @ slcctcd d.domlv<br />

lll bc ripp({.up.nd r+nurcd, so tlDl nny nct nay bc scl*led i<strong>or</strong> rip-uP md rciou|c, nol<br />

jrsr <strong>rl</strong>E Nu usiig congcsted rc$!rces Nets thal have a much ldgcr wielcnS$<br />

conDared lo rh€ ninimun csli@Gd wiel.iSlh ot nac uif,g a largc nmb€r of ovcr<br />

u*d ourins rcsurcs have . hider likelihood of bcing cho*n f<strong>or</strong> riPup Th. simul.red<br />

cvolution .lS<strong>or</strong>ithm conrinues until lhce .ic no nDte mutnlg resou<strong>rl</strong>cs ov€Fu*d <strong>or</strong> i<br />

rinE limil h ercedcd ahd fqihre is delaEd.


lo dclly reelulion. ncls thnt ae p.n of polhs vh.e the tiEine con$rainrs havc b.en<br />

excedcd de ripped-up and rc.rcuted, using a sinil.r alg<strong>or</strong>itbn lo coneestion reelution.<br />

Nets on paths rhat.rceed the iming @nslEinc ud ncis on palhs rhat a6 {cll undcr the<br />

timins mErEinrs hrv. a hishq likclihood ol beins choen f<strong>or</strong> riPup. Aeain. €nh6 th€<br />

consftints a( nter oi hiluc is declaftd aRe, cxc<strong>di</strong>ns a timc limil.<br />

The FPGA architecrue ued f<strong>or</strong> resring TRACER *as d isl&d.style FPCA wi$ all<br />

singkle.grh t@k *gnenls eid F.=W and Fr=1. Experinmls w€re ru. on ! *t ofsfrall<br />

b€nchMts ciEuils dd @mpdriens madc lo CGE lnd SEGA. Cohped to CCE and<br />

SECA. TRACER qtued the aveEge lracl counl by 29olo and the aveEs. circuit delav<br />

2..1-2 Greedy Bin P.ckiog (GBP)<br />

CBt rourihS also hn. by \vu ed MaEt-S.dowsra [19], is a oubbility-dtiv€n o!le.<br />

In rhis w<strong>or</strong>k.lhc rcuring problenr is considcr.d s. bin peki.! problem, whete lh. bins<br />

are rh. ronrinS mcks, The goal h to fiu each of$e bins qith 6 nanv nets 6 possibl€<br />

hd lo u* as fe{ bi6 (rculing tmcks) d Dossiblc<br />

The aleonthn shns bv bEakins<br />

ru<strong>lt</strong>i-teminal Nls inlo tm t mi@l ne6. A c",/mt1i,3goPh is ct@Gd, wheE qch ne(<br />

is a node &d rh€E de edecs b.twen nodcs $t.d two nds nave pins in lhe sde<br />

chamel Fcncnr. N.ts are thcn p.cr.d ihto bins (rEcir. basd upo. infomarion lrom<br />

$e confmnting gdph ahd lhc lens$ of nels Ne$ ae placcd in onlv onc bin at a am'.<br />

One inp<strong>or</strong>lanr lssumption mrde in $h w<strong>or</strong>l is $at th. rcuting architedue b Pland Gee<br />

secrion 2.1), oth.rwhe il is nol possible to ue ttis loudng alS<strong>or</strong>ithm Al lh€ tide lhat


his w<strong>or</strong>k 16 ampleled. rhe Xiliru 4000 dchilcclure w6 a planar archircdure. bur<br />

rewcr @hilccru6 such s lhc Xilinr 4000XL [29] m non-planar.<br />

CBP rcduc.d $e av.nge lrack ounr by l?%, on avdage conpard to COE.nd SEGA<br />

CAP requircd i0% moE racks per chomel. on overaSe, onpar€d to TRACER,<br />

2.,1.3 SROUTE<br />

SROUTE. d.v€loFd by Wilron 051, is a rcur.biRy.<strong>di</strong>wi ouler d<strong>di</strong>glred f<strong>or</strong> expl<strong>or</strong>ing<br />

FPGA Khile{tur€s *ith embedded nem<strong>or</strong>y. SROUTE is able lo talg€t island{ryle<br />

achil*tues ind is ale nodeElely fct.<br />

In lhe SROUTE alg<strong>or</strong>ithm. nuliplc onting itedtions arc used to 6olvc cone€slion.<br />

duritrg which eve'y net n Ejouted. Duins the fiIsl nqaion. ln. ners e roured i. de<br />

gilcn ode.. During successiv€ iterEtions, nct $al @uld not be rculed i. the pevious<br />

nedrion m mukn fiE( Th. innq-l@p of th. oure, uss a <strong>di</strong>Ecled srch ndc out r.<br />

Th. con luction f<strong>or</strong> lhe <strong>di</strong>acted sch als<strong>or</strong>irhh is baed on rhe Mdbarh dhhce !o<br />

lhc ri!g{ Muni-lom1inal ncls are mulcd on. sinl d I lnnc. sl<strong>or</strong>linswifi ft sin[ cnrsc$l<br />

ro rhc euc of lh. nel. F<strong>or</strong> sub*qu.nl si.ls.lhe sink $al h clost lo flv Pan of$c<br />

eristing ner is cho*n b rhc nexr targel; rouling is continued fron the pan of lhc n t<br />

closcst to rhis r<strong>or</strong>gcl I<strong>lt</strong>he <strong>di</strong>ected oDz€ rolls should liril to toute a nel. then I bEad n<br />

fid D@ reuter is u*d !o lry &d ouc (he ncl.<br />

UsinS a planar aahirccruc wilh only unit l.nglh l@k *8n€ s. Fi=3, and F-W<br />

SROUTE *as able to roule as $l of benchmaA cncuns lsine 16% less tracks pdr<br />

chinnel. <strong>or</strong> a!er.ge, coNparcd to SEGAi It% less lEcts per ch.nn€j, on avedgc.<br />

:5


9/. les lEcks Fr chdncl, oh .v.nge. comparcd !o IjPR<br />

m.R tn'ckrn(rch ncl. on (mgc.(omnrNJ t' IRA( l R.<br />

Thc l,arhfinder routirg alg<strong>or</strong>irhm, dBigned by Ebslin8 €l al [30],<br />

is b<strong>or</strong>h a oukbilny-<br />

driv.n &d a riminsnlivs reulei. While the Pa$findcr alg<strong>or</strong>ithm 6 d6is'cd lo taBel<br />

rhe sFcializ.d Triprych FPGA dchit crue [31],<br />

ir it a genenl reutins als<strong>or</strong>irhn thar co<br />

be dpplied lo alnrosl iny lype ofFPGA archilectuE. One ofkcy <strong>di</strong>ffcrcncs b.tween $k<br />

wo<strong>lt</strong> 0 d relious<br />

w<strong>or</strong>k is Dl Ihe larhfindd lls<strong>or</strong>illln tries lo sin{hmcotsly opimiru<br />

rdcli counr and circui( deloy. ve Bilc n<strong>or</strong> d€|.il abour rhis algo hn codp!rcd lo rhc<br />

<strong>or</strong>her llg<strong>or</strong>ithns, b*au* nuch of our w<strong>or</strong>t is bui<strong>lt</strong> upon &e Pathfind.r alg<strong>or</strong>iutn<br />

The Pathfiider alg<strong>or</strong>ilhm is b6ed upon Nai!\ tucthod of ilenrivc mue outins i<strong>or</strong><br />

cusbm inresded circuils [20]. Duins .eh i€<strong>or</strong>ion, every ne( is tipped_uP ed e<br />

olled, in thc se <strong>or</strong>d.r dnrin8 each neEftn. During a<strong>rl</strong>y it atio6, nett @ allow.d<br />

ro sha€ rouling rceutes *ilh olbd neb, As the it$atioos pto@ed, $. sh&in8 of<br />

nuln]g re$urccs is p.naliz.d. incftasing sdduolly<br />

wilh each it€talion, (Not. $al N!ir\<br />

<strong>rl</strong>eoi$n docs nol nllow ouling Esu@s lo bc ovcd*d)- Affr n large omb.r ol<br />

irenliois (up lo a f€{ hundrcd). the n.ts will negoti.te among .ons.sted Rsources to l.!<br />

.nd ftd r wry lo successfully NUlc llre cncuil. .lkrc inr trv rcso<strong>or</strong>ccs ro llrc Nls <strong>rl</strong>hr<br />

need $co rh. mosl By t-ourine.ll offic nea durn8 4ch iienlion nels thai do no(<br />

rbsolurcly r.quir€ congesrud oulins R$urces cm ,l$ be Bl@.cd<br />

'fh. brsic l']olhllnder dlS<strong>or</strong>ilhn routes neis $ing a bond$'fiN m.zc tuuttu! .lgonlhnr'<br />

A con funclion is applied to e.ch nodc (rcutin8 rceurce) 10 lry and minihi& co.Seslion


and $e deLt ofnod crilical Dels. The osl fuction. Cfr./, applied to cmh .ode, by rhc<br />

atrt= ,a t.t) nrt'-<strong>lt</strong>- att.r)l cpttn\<br />

qhcN r(,) is tnc intinsic dclay ol nodc ,. ( b?r,,, is rhc onscstion cqt oa usina 'kxlc tr.<br />

snd,4/ij) is $c shcr <strong>di</strong>o frofr lhe sme ofn€i i to lh€rih si.l otn€t i The conS6ion<br />

c^t\tt = lhv'1-htntl ,ti)<br />

wherc rt(r, is lhc bs! €osl ol usins node, ($l b lhe in<strong>lt</strong>insic detav oa nod€ t), ,1,,) is<br />

$e hifloncal ong*ion p.nd<strong>lt</strong>y ba*d uton fie ovd_us. of nodc , dunns Pteviou<br />

outins iterarion! &d Pfd b $. pGsdt congqtio. pena<strong>lt</strong>v b.!.d on the ov€rw of<br />

node , duing $e cuiie.t outine ilantio. The ex&l m.thods f<strong>or</strong> calculdting r'('./ sd<br />

ifn) woc not givfl i. [30].'Ite<br />

slack dtio is d€fin d.s:<br />

wherc Dl, it d. longesl path delav drcu8h tlE ciMit thar cont'ins lh' palh fton lhc<br />

eurce oi ner i lo $e i sink &d D.- is the (iticil palll d'l6y ot th' cncuil lf a<br />

con.ecrion lies on lhc criti4l parh, lhe.,4fiLl) will .qul I O, sd @st function Eqution<br />

(2.1) sill be q.ightcd conplelclv lowids o imizinB delav lfsconn'<strong>di</strong>onliesooaPalh<br />

with a larg.3l&t,.rd is lhrfoE non{id@L,rfr, siu aPPoach 0 dd lbe @51<br />

fumtion (2.1) will b. h€vily weisli.d lowed! ninihizing cong$lion A value of''4'il'/<br />

bet@n 0 and I will o!s. tne outcf to trv ed minimi& both d€lav sd mngesllon<br />

Nok se ing,4r, lo O l<strong>or</strong> tll nels htlcs th. router comPlcl.lv rcuubililv_driven'<br />

FiguE 2.7 shos psudo co


it.r<strong>or</strong>ion of tne rourer. all of the o.ts are ndkql .s crnical by etling,4fi../:l ro I l<strong>or</strong> all<br />

ncrs (line l). F<strong>or</strong> each net there is d 6s@iared ro<strong>lt</strong>iog rrc. {RT) thal $oEs the palh ro<br />

each sint in rhe na. On linc 5, 0F RT f<strong>or</strong> Er i is inirialized *ilh ju$ tn€ $ue of fic<br />

Nl. The l@p fron lines 6 ro 16 p.ifons he rouling to e&h sink oinel,. The eurcc-<br />

3inl pa$s wnh $. lagd slack 6lios (iost clilical) arc rcured firsl. When roulihg to a<br />

sink. allollhe Duting a$uB alrcady in the RT e lddcd to the pti<strong>or</strong>iiy qwue (PQ).<br />

so thal rc<strong>lt</strong>ihg lo lhc hext 3i<strong>rl</strong> may condnuc lrom ay esur€e alrcady pan of the n.t<br />

(liN 7). Thc loop frcm lincs 8 to 12 extl<strong>or</strong>cs lhe oulinS graph until lhe hrgel sink i3<br />

erch.d. One the ldrset sinl is r€ehed, dr @.gcslion c6l f<strong>or</strong> all thc nod.s on th€ nes<br />

tlrh arc updated dnd $e rcdcs lrc addcd o lhc Rl (lincs ll ro 16). Ar t.oJ ofuush<br />

iremiion. allofthe path dela, and slrct Dios aE rccllcularcd (line l9), e tlDr the,onlq<br />

can adjul thc co{ fun<strong>di</strong>on of Eqution (2.1) to try dnd balde coDscsrion dnd cieuit<br />

delly. Two enhdccnenb aE de*.ib€d in [30] ro iMM5. th€ erecuioo spsd of the<br />

Parhindsr dlg<strong>or</strong>i$n, The list enhucehenl adds a <strong>di</strong>r€ctd.search tern l0 lhe cost<br />

funcrion u*d f<strong>or</strong> iouring rc$. Tne <strong>di</strong>Kt d-s@h lm uFd b a low. bomd on $e cost<br />

givcn by Equarion (2.1) This allows rhe ourer b.h(N nodes thar e secsiv.lv<br />

closr to E largcl sink. which redues the !u.-tint comparcd to a bleadth_irsr seoch<br />

'lhc second enhanemenl is ro rc-mute only ihe.eG $ar aE using codgcsted nodcs<br />

tlnring slccNive ilcralions, in$ead of Brculing €try nel- -l his requncs moE neciois<br />

to su(caslully ourc acitcliL, bulcfthith on i3 flslu, tosuhing irr ! snallrcduction i|


I<strong>rl</strong>.rure t ftr<strong>di</strong>1qridEr,<br />

l) nl]L sn r.uc d,i<br />

0t<br />

pt<br />

lLrt<br />

2.4,5 VPR<br />

rc : RIo d s(.rdrrhr ro'.f,l 6c. r u RT(,)<br />

r!e!brns*nr.pPa<br />

$ddr drdbl da, d!& o ! Pa <strong>di</strong><br />

Lso?*iEF:ii'x!!rjft3bR)<br />

U!ia!c'r[<br />

Figrn 2.7: Psodo od. ao. ri. P.rhfind.. ruliing .tg<strong>or</strong>ithm<br />

The veMtile Placc a.d Roure (vPR) r@1, d$ig.ed by Bcrz et al ll4l, is a coftptere<br />

phce dd out itrtch d€sigred l<strong>or</strong> cxpl<strong>or</strong>ing FPCA ehn*$r€s. -th€ butcr is b.5{d<br />

t<strong>rl</strong>nrrily dtr r<strong>lt</strong> Irr nnx[r (Nri<strong>rl</strong>l <strong>rl</strong>srir[trr. $irh nnnc kly rnhrnccnrflr lo iNlinnc<br />

thc cireuil urc.. cncun stccd, rnd coupilc rime. Vl'l{ conl,itrr two oulc^: onc Nlq is<br />

reutability-driven, .nd dc <strong>or</strong>her ouLr is rining{riva. \vc deribe vPR s rculing<br />

olg<strong>or</strong>ilhns in derail li'. two resons: n6| rhir wo* b inco$<strong>or</strong>ared inro th€ VPR code<br />

bas. E-usinr nuch of rhe burins slgon$m @de and using rh€ placcneot rool and rhc<br />

archir4tue genedtion algon$ns; s@nd. w G VPR 6 olr bads f<strong>or</strong> our inili.l<br />

erp€riments. The routabilityiiv€n mntin8 .lg<strong>or</strong>ithm in vPR is vc.y simild |o rhe<br />

bBadlh-fisl Du|abiliry-drilen Pathlinde. alg<strong>or</strong>ilbn, wnh a f.w inpollaot changes <strong>di</strong>d


enhdcenents. The tiur enhdcem.fl is a chmge ro $e cong€slion @st<br />

e<strong>rl</strong>hntinea rcuting .esoucc node , Th€ consenion cosr lilncron !se{<br />

\herc h(n), htn). and p(h)<br />

^t rhc base cost. hkt<strong>or</strong>ical conseslion penajly. and peseDr<br />

@nsestion pcnahy. s defined e<strong>rl</strong>id. Euarion (2.4) is <strong>di</strong>llercd non Equrion (2.2) ii<br />

that aU the terms @ nuldplied log.th€r rarh.r tn n ad<strong>di</strong>nS rfr) and rfd. ro avoid havinS<br />

to nomati4 h(n)and h(n).<br />

In Paihfindcr, the b6e c6(s of rouring Esurce nodes 6rc *l to iheir ind.sic detay<br />

valucs. VPR $ls $. bM @sls of olmon all of$e rculins r€eurc€s lo I Th. onty<br />

.xceptions are input pins. which de giv€n a bas cosr of0.95. This @*s the outer ro<br />

expand any inpul pins Eacn.d 6^t and sp.eds up $e rc<strong>lt</strong>abilitydriven rouler by up to<br />

I 5 $ ? in6. The b6$ cosrs u$d by vPR rcsdFd ir a l0% av.nse de<strong>lt</strong>e in lack<br />

@unt @htared to usins $. <strong>or</strong>iSin.l Pathliidd ba costi-<br />

The p6ent cong€slion p€na<strong>lt</strong>y. /a,), is calculaled by VPR s:<br />

rtrt = t+fln\n.btnrmt r't+t-iqtu\^tt I rL.l<br />

sheE ocuponcy h lhe number of nets prcehtly usins node ,. capa.it!(k) is rhe<br />

mxinm nu6bq <strong>or</strong> rcs thar 6 l.8dly e nod. 4 and ,r- is a valu. ftar sqles fic<br />

prcs.nt €ongestion p€na<strong>lt</strong>y. TIE prcsnt cong.slion pem<strong>lt</strong>y k upd.t€d wh.n€v.r a nct is<br />

The hisloical consesrion p€na<strong>lt</strong>y, rf,r, is cElculated by VPR a:<br />

u.1l<br />

(: s)<br />

t0


(j;),'l<br />

r 4r''r,r. tii!,l<strong>rl</strong>r!4 '(')-.n<strong>rl</strong>. rr!''<strong>rl</strong> i,J ',r,r<br />

wbere i is the itcraion numb€r. dd ,r- b. valne thnl $al4 rhc hist<strong>or</strong>ical congestion<br />

Fna<strong>lt</strong>t. Tn€ hisr<strong>or</strong>iel conSe$ioo Fnahy is updated afier *h rouling ircradon.<br />

Thc values of/rs and tr& @opris wbal is c,lled $c Dutirg J.r..rul.. Noml<strong>lt</strong>, the<br />

llliu<strong>lt</strong> b,tikt lchulub ol vPl{ is usd. whcrc rhc vrhrc tur/)ri. is sur ro 0.5 <strong>or</strong> lcss i[<br />

rh€ fid i{€ntion and incr.sed by 1.5 b 2 tin6 in sub*qn€nl ileElions. Thc volue ol<br />

,rd is sel ro my value b€rween 0.2 and l. md remains consani in subs.quefl n.nrions<br />

Witl $e defallr ouliDS $hedule, VPR uually rcquiBs sleral ileratiotrs lo oute a<br />

circuir. The out.r can be speed up by lm lo th@ rincs by s<strong>lt</strong>ing pr* dd ,r- lo 10000.<br />

callcd dE /dr, ,<strong>or</strong>/,,9 .$r4tlllG. The f6t @uliog eh.dule f<strong>or</strong>ccs lhe rcut$ lo aloid oveF<br />

usilr8 routins lcsoures il po$ibh, esu<strong>lt</strong>ing in a lcducrion irr lhe number ol outins<br />

nmions. F<strong>or</strong> .6y Doblcms, thc routcr can smeliDcs rcurc the circun in jut one<br />

ncration. The fastrouri<strong>rl</strong>g sclEdule lypically dquircs only 2% b 4% nolc lracks ovef llre<br />

b6r uock couDr f<strong>or</strong> a circuit by VPR.<br />

Anoth.r impon.nl .nhanceme.l in VPR !.Fu Palh,lntler is thc nann r h which rhe<br />

muti.8 tee is placed back on rhc pio'iry queue when duting a mullit€rninal ner'<br />

RmcNb.r lhal |he P!$lloder als<strong>or</strong>ithm cdptiB $e PQ aner och sint is rc&hcd in a<br />

nnrhi-ominal net, and puts lbe conplete RT back on 6e PQ Ge lnE ?) F<strong>or</strong> vcrv hrgh_<br />

idout ne$, $c RT is very lsrse, Equning signitcml CPU timc simPly lo placc lhc R-r<br />

o. rhe PQ f<strong>or</strong> each sink, vPR conlaihs a n@h n<strong>or</strong>e elfrciem n.lhod. called $e<br />

qthitc.l hftd.ih-li{t vuch. *heto rhe PQ G len it ns cuntrn slate aiDr ieachirrs n<br />

(t.6)<br />

ll


silk. rDd.iusl lD ncw ponion ofrhc rcuing used to Each $e ncw sirk is addcd back<br />

onlo lhc PQ. Tn€ s€mh f<strong>or</strong> rhe next sinl is lhq @nlinued 4 .omal, l he oflihized<br />

bcrdtlllirst scdlch enh.Dcemenl rcsu<strong>lt</strong>s i. d <strong>or</strong>deFol-magnitude speedut. @npaad b<br />

usine thc rcgular breaddrfid salch.<br />

In comp<strong>di</strong>$n lo all offic odd o!te6 d.s.rib€d in lhis chapt r, VPR is able ro &hierr<br />

lhe lowest tnck couhrs.coss a series ofshaller b.hchnart circuns, coDkhihg cncuits<br />

ritn up to it8 lo3ic bl@ks. The ourabililynrivm VPR ouid obtaiftd a 104 lowr<br />

lrucl count, on uveraSc. conparcd to ih. next b€sl router. IRACER. Using lhc vl'R<br />

globll tuuter with lhe dehiled ourer of SEGA, E ro .bililynriven VPR rcuter<br />

rchicvud, l4v! lowcr kuck coum, on !!.r!8.. compurul lo SLG LlsirE a $t<strong>ics</strong> ol<br />

huch largr benchmark cncuits conhininS !p 1o 8383 logic clustes. VPR lsed 70%<br />

lew€r r@ks per chflnel. on aEdse. ontarcd to SEGA.<br />

The imine-driven rculins alg<strong>or</strong>ilhn of VPR n abo b6ed uPon Pathlinder, b<strong>lt</strong> thc<br />

rining-dliv€n contonenl is hrdl.d <strong>di</strong>tr€rntly by VPR. In Paihfiodet, a lin d delav<br />

nodcl is sd. whm e.ch rcutinB Ee<strong>lt</strong>cc hs a consl.fl d.lav {d $e delavs tE<br />

s0Nnsd lo find lhe palh delay Fo! Imck segFents lhal aE coDn€cled using bllfcs.lhe<br />

line d.lay is ocudle. But, f<strong>or</strong> l@k *en.n$ that aE omcctcd !si.e pas trd3islo6.<br />

lhe lineo d€lay model is hidly inaccmte, baause it laih ro |ar€ irto.ccount thc facr<br />

rhar $c delay lhrolgh a pass <strong>lt</strong>Msist<strong>or</strong> dcp.nds on the <strong>or</strong>her.l.neds @nneded lo lhe<br />

pcs thnrisro'. lr is slFwn in { l4l how $c li.w dchy nodel causs rhc roulq lo chm$<br />

incofl.cl palhs dnong a<strong>lt</strong>crMtivcs. vPRus* th€ Elh<strong>or</strong>e delav nodel [28], which modeh<br />

tl


lh. d€lay of pss lEnsistos froe rcu6r.ty $an rhc linear det.y model. Thc cosr<br />

tun<strong>di</strong>on uscd by the tinrinS-dnvcn rcuring.lgon$h in VpR is:<br />

,t n,= r' nt,. tt rtt,, Elnnt \ | - <strong>lt</strong> -.,/(r.r|] (,r(r) (r 7)<br />

whcG .fr@ h rhe citicalily of the nel being Dded, d/aEla<strong>or</strong>e) is dp Elm<strong>or</strong>e {i.tay of<br />

node ,, and Ci^,f,1 is thc conscslion cosl ofnode, as Siven in Equarion (2.4) Unlite<br />

lhc inlrinsic delay value whi.h is @nisr, de 0lnoe delay mut be atc<strong>lt</strong>aled<br />

dtnanically. depen<strong>di</strong>n8 on the srndm of $e rcudng re$!rccs used ro rcmh rbh node<br />

,. -fhc c icihy srycs thc emc pull)oe s rh. slel mrio in Parhfindcr. it is !*d lo<br />

bdlance coDSestion and timing oplihizalion. The cririculiry isdefined as:<br />

-,,=-((-H)"-)<br />

whde .r/datf,/ is lhe slack berw..n th€ source of Dct i dd the sinlj, aDd Dnd is rhe<br />

c icd pdh dclay of thc circun. vPR *rs thc mxinm cnd€liry vale b 0.9 $ thal<br />

no Dcr will cohplctcly ign<strong>or</strong>c congcsrion.<br />

Sincc the ElnoEdelay deF.ds on lhe cxacr nrucoc of@nnecriohs f<strong>or</strong> a ner &d rhc.cr<br />

kbeioSch.nSedase.chsinlisout d,ir jsn c4wyroudalelheElmoted.layof.ach<br />

nodc in rhe net aii€r outing each sink in rhe n€t. RefeEing lo Figure 2.7, th€ Elm<strong>or</strong>e<br />

del.ys f<strong>or</strong> all lhc nod$ i! RT(i) would b. upd<strong>lt</strong>ed .fiq Eachin8 .eh sinl in a nel {lire<br />

t6).<br />

Thc opriniad brcadth.fiGt sa(h dsih. l<strong>or</strong> fte reutlbihy.d ven rcller cann<strong>or</strong> hc<br />

ulilizcd wilh thc liming-driven butc!. sincc lhe ElnoE delay which must be updatcd tn.


all rhe nodes in the cunent exp.nsion a^cr !.&hi.8 each sinh in lh. n.r, Since pla.ins<br />

th. whole o ingre back on lhc lii<strong>or</strong>ity<br />

l4<br />

queue f<strong>or</strong> cach sink ofa net rnd reahninsnr<br />

brcadrh-fiGr *arch is vcry linc consutoin& a dtccred s!rch i! lscd i6red of a<br />

bEadth.fiBr !c.!ch. The decisiotr lo intlcmenr a <strong>di</strong>Mr€d eaFh w6 bascd o. resutrs<br />

liun th. pE\.nt E*arcI in []21 rh $ov!d a larsc spr€dup itr $e @npil€-linc tem<br />

usjng . <strong>di</strong>rect d saeh within the Pathfinder ate<strong>or</strong>irhm. Thc <strong>di</strong>recled search uses an<br />

eslin<strong>rl</strong>e offte lotal cosl giEn by Equrion (2.7) lo rceh lhe rarget sink. The csrinr e<br />

Nsumes that connecdou of $e me l€n8rh <strong>or</strong> lyp€ ,s the curcol nodc being expanded<br />

will bc usL.d lo reacl lhe rargel sirk and ml rhc sh<strong>or</strong>lsr path will be usd. UsinS the<br />

<strong>di</strong>adBl sqrch. th. liNing{riven VPR roulcr is l0limes fasrcr. on av.6ge, compdcd o<br />

lhe loulabihy.<strong>di</strong>ven V PR oute'.<br />

Compri$ns woe madc bctw.en $e oMbility-drive. dd (iminsnrilen roulc* <strong>or</strong><br />

vPR. sioS a model of th€ Xili.x 4000X1 FPGA. develoFd as pon of fic presnt<br />

Escarch. ln comparing tbe lso roule^. $. timih8-driven VPR rouler poduced cncuils<br />

snh 2-5 dmes l6s dclay, on avcESc, rha rh. mulability{riv.n VPR outd. The timing-<br />

drivcn vPR louler only Fquiled 6% extra tr&ks pe! chmcl, on av€lage, conpled to<br />

$e rcutsbihy-driven VPR oulcr.<br />

2.5 WIRELf,NGTH AND ROUTABILITY PREDICTION<br />

This scction d6cnbes wn [ngth Dd .oukbilily pre<strong>di</strong>ction appMch6 als<strong>or</strong>ithms.<br />

2.5,r R|SA<br />

RISA. developd by Chcos []ll. is . placeoenr lled<strong>rl</strong>un l<strong>or</strong> sbrdod cells. The<br />

placement alg<strong>or</strong>ilhn is rimulaled dnn€olin8. The cosr luoction f<strong>or</strong> rhe al3<strong>or</strong>ithd u*s the<br />

boun<strong>di</strong>ng box wire l€ngth f<strong>or</strong> ceh nd, b has enhtuc.ment lo m<strong>or</strong>e accurqlely


pftdrcr wnebngd. The bosic boun<strong>di</strong>ng box *ii€t€ngrh pE<strong>di</strong>clion sumes thar rhc<br />

wirulcnghol a nel is equa<strong>lt</strong>o the hllf-perimcte! boun<strong>di</strong>ng boxwt.teng$ This is c<strong>or</strong>ecl<br />

lbr ners wnh lh <strong>or</strong> rhee rminals, bur f<strong>or</strong> nels {irh fo<strong>or</strong> <strong>or</strong> moE reminats, rhc hal:<br />

Frim.Lr boll<strong>di</strong>ns box des n<strong>or</strong> cou( f<strong>or</strong> $e q|6 wiE reeded 1o @h atl of rh€<br />

reminlls. Thu RISA wiftlenSrh nr.<strong>di</strong>clion lppre.ch sc.l€s rhe hllfuerin.t€r bun<strong>di</strong>ns<br />

b<strong>or</strong> wi€len!$ <strong>or</strong> a od by a c<strong>or</strong>@rion fact<strong>or</strong> lbar ecounrs f<strong>or</strong> lh€ exra wne n*ded f<strong>or</strong><br />

nels wnh noE than $re icrmin h. Foi ex.nple, r ner snhjust rwo <strong>or</strong> r[@ rcminik<br />

will have a coftcrion fer<strong>or</strong> of 1.0 a shoM in FieuE 2.8. Tne cbsin8 out ofa four<br />

rer<strong>di</strong>nll nct is about 1.03, since .xtn wirins is need lo @h |b. louah tnin l, ts<br />

shown nr Figurc 2.8. Th€ coirection fact<strong>or</strong>s f<strong>or</strong><strong>di</strong>flcrent fanoul nels weE deGanined by<br />

ciealing thousands of Steincr trees f<strong>or</strong> mdomly <strong>di</strong>sfibut d he1 t min.h and avclaging<br />

rbe conection fact<strong>or</strong> l<strong>or</strong> ech of $e <strong>di</strong>lIcoi fdour n ls. Tlblc 2.1 lists $e @ftcrion<br />

IeroB given in {l3l i<strong>or</strong> nets with up to finy |emimh.<br />

FIsurc 2.8: Enmpl.t of c<strong>or</strong>Gtiotr f.cto6<br />

The cotrectioi factos are ued lo eslihaL tbe anout of wirinS Equit€d bv a single nel<br />

by siiply scali.e the half-p.rinetr boun<strong>di</strong>n8 box ola nd by the apprcpria|e coEcclion<br />

aacr<strong>or</strong>. Il is pos6le to als ue lhc R|SA wircLngth nod.l ro.stimate th. wiEhn$n of<br />

her in FPCAS, sincc FPGAS, lilc sreddd @lls, 6e rcnical ad hotienkl routinS<br />

l5


Using a model ollbe Xilinx 4000 XL seri€s FPCA,lhe rcur.biln, cncuils tesed ona sct<br />

oi 20 benchadk circuils. Fiw circuns thlr w@ imposibte to tuurc wE idc ified<br />

coftctl!. A nnmber ofeaily rcutabl. ci(ui$ @a declaed mdSimlly outable wi$<br />

Tiblc 2.1r C<strong>or</strong>rcclio! fidon l<strong>or</strong> ners wnh up to fifty terminsb<br />

tl<br />

<strong>lt</strong>l<br />

:0<br />

123 .I it<br />

2.6 xlLrNX XC4000XL SERIESOF FPGAS<br />

li rhh sction. $! de$ibe $e Xilinx XC4000XL Sedes of FPGAS [5] ii dehil, b.cau*<br />

one of ou! experimenlal llcbitecuEs is bed o. lhis archil{tue -l he XC4000XL seties<br />

ol IPCAS colui s hi8h.cupaoiry, high"pedbti]mcc dclices. Table 2 2 on lase No. 17.<br />

shows allofrhe parts available itr lhc 4000 fa<strong>di</strong>ly, inclu<strong>di</strong>ng the E scries Pdrts E!$t pd<strong>rl</strong><br />

conrains u*Fconfi suoble.<br />

Piidod Acc6s Men<strong>or</strong>y GAM) ii .ach confiSudblc logi. blck (CLg) Th€ 4000x1<br />

pans arc litbricaled in a 0.15 )rm Foes. Th. 4000XL is d isldd_srvle FPCA<br />

archir€clur.with logic blocks eplaed by the logic clustes.<br />

l0


A simplified view of lhs 4000XL logic cluster architecrue h shoqn Fisurt 2.9 on page<br />

l8 (uhich docs .ol includc r RAM m! coiiy losic) on pdge 18, Eaclr losic clusl<strong>or</strong><br />

contlins 1rc4.i{!r lookupEblcs (4.LUTsl, one 3-LUT. two Drypc nip.llops, aM lwo<br />

gn<br />

Trbl. 2,1: XC400E/XL rrnily<br />

E&h logic cluter hd c&y logic ro !llo* ctrry chains to b. fom.d usiig hid{p"d<br />

dn€d conn*tions betw.cn 'djacenr logic bl@ks Clste6).<br />

Each of the 4-LUTS re@iv6 its iryurs fon lhe inpds ro the logic bl@k (F ed C) The<br />

I-LUT c@ rcc€ivc ils inpurs lrom lwo sources, either all froh inputs to lhe loSic bldk<br />

(c)-<strong>or</strong>flonooe<strong>or</strong>bothoi$eourpulsolrh.4-LUtslF aidG') <strong>lt</strong> isposiblel<strong>or</strong>e'hze<br />

a nunberof<strong>di</strong>f€tcnl lypca ol tunclions,dnging liom two lunctioN of rbu! inputs and a<br />

rhnd tunclionolrhrce irrpus. up lo sonie l!nctionsoftrinc inPUrs


Iigrr2.9:ILr. .dtl4of rXC,{X'|,F./XLloSicblo.l<br />

2.7 ROUTINGARCHITECTURE<br />

Figua 2,10 shovs tlrc olcFtl outhg aEhit due oflh. 4000XL<br />

r'D bd srv.<br />

figlc 2.10: O!.nid of rc ilg f<strong>or</strong> . logic bl"G|. Gtud.d - 40l0XL o.<strong>lt</strong>)<br />

l8


Shadcd dws in<strong>di</strong>ete extm outing e!@s that e only pce in th€ 4000XL pans.<br />

Thc extB outin8 is Equired to su6rinly oute circuiB in the lag€r patu. Tabl. 2.1<br />

!i!es $e nlnb.r ol @h lyF of t@l sesrEnr in .ach outing .harcl i<strong>or</strong> thc ,1000XL.<br />

'fbeie aE lbur lyp.s of g.n€El rcuing resu@s: sinelel€nsrh,<br />

Tcbl. 2,3: Routins r.louna per logic blcl h .()00)(L<br />

Sind.-LngnTrct Sesflcnr<br />

D.uhlaLcruthTB.l s.gmcnr<br />

3<br />

Quad.t ngrhT@k Se8Fcnr<br />

t ns-linsrhTtul S.grenr<br />

l2 t2<br />

z 2<br />

Fsdc.|! doubL-lcns$ egncnls, qud-lc.Clh ssnc.q td long-lengrh sgment<br />

(which spon lbe €nite FPCA)- FisuE 2.I I shos a deBiled vicw of th. muling domes<br />

l<strong>or</strong> oN loeic bldk. Thqe e lwo lyPs of cod*lioN b.lEen nnting Bsu@s:<br />

l. Conndtions b€tw*n tr&k sSn.nts of th€ Jats lenglh<br />

: comecnons b.t"€en mck sesm€nr of./'&r. it lene'ns<br />

The switch box usd f<strong>or</strong> the swilching ofsingl.lcngth and doublelenglb t@k segmenN<br />

isshoMin Ficute 2.1l. hichlighledb! asolidbox in th€ centr. TlE switchbox ispldar<br />

wirh Fs=3. Each of$e swnch poiils in a swilch box is comPosed ofsix pass tdnsisl<strong>or</strong><br />

swirchcs. Thc douhlercngd uack elnenrs rosrc ar rhc end of eacl lo8ic blocl til€ n)<br />

thar dch doublelcDglh *ill swilch st fl.ry othe! ssitch box A swith box fo! qud_<br />

lengrh inck seBdcnls is ihoM by a $lid box iD $e upp.Flefi @mer of Figue 2 l I Thc<br />

3


qudd-length egm.nls iotrre insroupsoffour. e ftd each qed-lenslh esmenr swirches<br />

.t evert fou<strong>rl</strong>h swirch box, Each quad lo qued conn€crion conrfuns six pss rmnsisr<strong>or</strong>s<br />

rnd one buffcr $!t cao be used by ary onc of dE incoFing quad eshents to dlivc<br />

<strong>or</strong>lloing segmc s. The bllle6 it useful f<strong>or</strong> implcmenting biSh-spced connections $<strong>rl</strong><br />

spu ! long <strong>di</strong>slan* The longlcnelh t@k seen.n6 do nol swilch lo ant other long-<br />

lctrgth s.gnsnts in lhe logic block. l-otrglcngth scgm€nts connccl lo olho long-lcnglh<br />

segmcn$ in rhe onho8onal <strong>di</strong>Ecrio! al rhe cdges of lhe FPCA. Th.rc aE rwo rypcs of<br />

longlength sgmenls: the liEl typi @nt ins ! prcgrmnable splill€r in lhe niddle of t<br />

sgmenl lo a<strong>lt</strong>ow fic long egfrcnr lo be splil into lm independe senenlsa $c other<br />

ly!'e conlains bulles !t $c l/4. 12. and l/4 poin$ of lhe segm€nt Tne* bufle6 also<br />

impruve lhe pc.iomdce toi FPGAS wnh lery large ,my sircs. Thee d dso mny<br />

co.nerions belwcn esrncnc of<strong>di</strong>lf.c lenSlhs. In qch logic block. mdl ot lhe quad_<br />

lenglh lEck scgoents connat lo single and doublelcngth slnents in nrc onhogonil<br />

<strong>di</strong>r€cion using p6s tdsisl<strong>or</strong> sqitches. Thc* connetions arc hiShlkhlcd bt thc t@<br />

slid ci(les in Fisur. 2 10. The rctation of qlad dd double <strong>lt</strong>&k *8m.nn caus 0rc<br />

con.4tions lo shifi in 4ch loeic block 1i1.. Long_len$h segmsts com€ct to single_<br />

lengd s.8DenB in (h. onhogohol <strong>di</strong>dcrion. The conneclion boxes. fo! connecting logic<br />

block pins ro tack scsnenls. ar€ lrigblighted by dashed boxes ir FiguE 2 l I Thc nrpurs<br />

k, <strong>rl</strong>r hrgic bli,cl h!!c l:c-w, whilc <strong>rl</strong>Nou<strong>lt</strong>uBluvc l:c{2sw<br />

.t0


2.8 SUMMARY<br />

Figur.2.1l: D.t ilcd vid ofrc<strong>di</strong>ng f<strong>or</strong>.logi. bl6k<br />

ln this ch.pro, s. fiEl providcd d ovfliew of FPCA ehirectw silh ! lo.us on<br />

Rourine s sEU 6 loSic bl@k dhndN. Anq th.r k <strong>di</strong>$trts.d th. CAD llow rot<br />

r<strong>di</strong>ous old as wll 6 n.w routing llg<strong>or</strong>nhhs. Thes alSotithns a€ ued lo map crtl<strong>rl</strong>s<br />

ihro FPGAS inclu<strong>di</strong>ng on inirodEtion lo timing a!,lysis, dd a det iled r€!i4 of logic<br />

clusF packin& outng, ed timingdriven p<strong>lt</strong>en nl


CIIAPTER.}<br />

FIELD PROGRAMMABLE GATE ARRAY'S ROUTING<br />

ARCHITECTURE<br />

3.I SIMPLE FPGA ARCHITECTURE<br />

The simfle FPCA architeclut was usd ii lhe. <strong>lt</strong> sases ofthisw<strong>or</strong>k.ll isclsolhc<br />

rrchncduE lnal has b.cn ued in nuch o<strong>lt</strong>h. prcvious aPCA ouring research<br />

Atl oa N lnck esncna ir R Jimplc !rchitccturu oE singlelerrglh. Thc ssilch<br />

box6 e th. wilron swnch box, enh n<strong>di</strong>bilitt F . FisuE l.l {r) sh@s Dd <strong>or</strong><br />

Th€ sinple archik lurc co.sis6 of logic blocks (Loeic Clustc*) @n<strong>lt</strong>ining onc 4-<br />

lUTand onc D.nip-flop. Th.outpul of$e logic block can b. taken from cither rhe<br />

4-LUT <strong>or</strong> lhe D-fiip-flop. Therc is one inPul pin on each side <strong>or</strong> th. losic block a<br />

thc oulpul pin is on rhe bo<strong>lt</strong>oh sidc of thc logi. blEk. The snn<strong>di</strong>on b'x6 ha!'<br />

flcxibilnt F"=W, lc b<strong>or</strong>h inpuls and oulpub<br />

FtglnJ,l: (r) shos D{n <strong>or</strong> rh. reudn8.nhit4tuE. O) rh@3 r loeic.lu<strong>lt</strong>cr<br />

f<strong>or</strong> llrc simplc FPCA lrchilecturt<br />

J.l,l 4000X-likc FPCA Afclrilelu re<br />

w. modcled i 14ooox_likc FPOA architdut lbtt closcly r'smbl6 lh€ xilinx<br />

4oooxL arciitcciuE deribd i. sclion 26 A nuht r of chaiScs lnd<br />

simpritic iM3 were ntd. o lhe 4OOOXL .Ehiteoft. hetue ir ic 6 <strong>di</strong>flicu<strong>lt</strong> and<br />

12


nnFco.sumirg ro pR.hely 6prw. a.omn€riat aEhire.rurc. ln rhis $ctjon. re<br />

d.s(ibc <strong>rl</strong>r lolir b<strong>lt</strong>iol rnd ruuriDg irchirehf rn oo.4000x,tirc ar![nlctuc,<br />

highlighring <strong>di</strong>ll<strong>or</strong>ences fm'n the r!l 4000X1 arclrirccrnc.<br />

3.1.2 LosicJllock ArchilNturc<br />

Fo'n Seclion 2.6. rhe rcal 4000XL conraiis a lo8ic bl@k *ilh rwo 4-LUTS. onc 3-<br />

LUT, and lwo D-niPfiops. E ch logic blnk h6 II inputs sd I ollpua. lb nalc<br />

lhinBs sinpld. w. inplcment.d a logic blel supponei by our logic synlh.sis r@ls.<br />

-1h.4000x-like logic bl@k conlains r<strong>or</strong> 4-LUTS .nd four D-nipRops.6 shown in<br />

Figtrr l.? Each logic block conraiis l0 iipdb and 4 otrtput.The loSic bleks only<br />

h.vs l0 inputs, since irpu$ can be shaFd byallofthe 4.LUTs snhin rhe lo!ic block.<br />

Each<strong>or</strong>rh.loglc blmk ourpurs 6 b. egisl.red <strong>or</strong> unrcgistercd, dd can also be fed-<br />

back inrmdlly as d inpulro rnotq 4-LUT.<br />

FiguE 1.2: 4OOoX-llk logic blo.k<br />

F<strong>or</strong> rhe rcal 4000xL. ilE input pin connsion box hos nexibility Fc=w and rhc<br />

ourpurtin conn<strong>di</strong>on box has llexibilily Fc=0.25W. F<strong>or</strong> lhe 4000X_likc a(hilechrc.<br />

rh€ ourpur pins havconnerion box llexibilirt Fc'0.25W. We rdncd $. rc valuc<br />

l<strong>or</strong> thc input pin @nnerion box to FF0-IW. sircc rhc inPrs of lhe loeic bl@k sn<br />

4l


{ nurcd lo rnt ol dE lbur 4,|-ljT!fh. ql 4000Xt- logic bl6k ale onrrins <strong>di</strong>ecr<br />

iicEoniet Garest-n ighboi conndlioN bcl,en adj!@nt logic bl@kr) a.d hish-<br />

sp.cd ary chains l<strong>or</strong> sithff .tic.<br />

3.1,3 RouringA.chirccruro<br />

Thc rclrin8 rrchirEtuF <strong>or</strong> th. el 4000XL archirsruc w6 capiuEd 6 clo$ly os<br />

Fsiblc.<br />

with $m€ simplifiqriot to D<strong>rl</strong>c lh. ouling &hn6furc 6ier ro €pt!rc<br />

in Vl'R md to !llo* lir 6i.r ulirBol rhc nun,lir <strong>or</strong>'rncks plr chmtul. Wr trcld<br />

b s6le rhe tel 6unr b 'ncrsurc <strong>lt</strong>le mi.inum hcl counl r'<strong>or</strong> ! circuil ud lo<br />

conrrcl rha <strong>di</strong>flicu<strong>lt</strong>y of rourinS pobl.ms.<br />

As <strong>or</strong>entioned in wrion 2.6lhallhe @14000XL (chitel<strong>or</strong>e c<strong>or</strong>tains fou <strong>di</strong>lleEit<br />

rypcs of ruck sBmcnlsr singlclenglh, double-lqElh, quadlciglh, and long_lenglh<br />

lect sgnols The 4oooxnikc aftbndqrc uscs the cttt emc lcnslh oa tncl<br />

$gncnts, F<strong>or</strong> our ex0lrimc <strong>rl</strong> athil€durc *c nc€d lo bc .blc lo vary thc lmck<br />

@n! $ ini€rd ofch@sins a fixed tdcl @unl litc rh. @l 4000XL archir..iua wc<br />

u* rne p.rceno86 ol eeh lype of l@k $8ment givs in Trble 3 l when varving<br />

ft. rracl .ount, we ch@* tmct l.nSlhs lo mintain thc p€a.nlae6 in Table l.l .s<br />

.loseLy os Frssibl..<br />

The Eal4000XL archiccturc fto has slightlv<strong>di</strong>ncreit numbeu<br />

oftacks h rhe r and y <strong>di</strong>ection. W. cho$ to simplily fie archilrcturc bv using thc<br />

sanc numb€rof<strong>lt</strong>uk s.!n.nts in b.th <strong>di</strong>dtion3<br />

T.bl. 3,l: Tnck seandts lr ao0lrxlitc .Etilelud<br />

25.0<br />

t2.5<br />

t7.\<br />

25.0


'lhc sinElc-lcnglh L&l ssncnrs in our 4Nox-litc Nhilcrua e.\ertt rhu e r<br />

4 $o* in lhc @l 4000xL !rchir.dure- Re6ll frcm Selion 2.5.2, th{ rhc ssirh<br />

b<strong>or</strong> is planar and the swnch.s a lll p6s tansist<strong>or</strong> switches. Thc doublelensth<br />

scgnenlsarealsoidenlicalblhereii.l000XLarchilectur.Hallollhcdo0bl.-lenlrh<br />

s.s .nlsslitch inschsNnch b<strong>or</strong>.usinSt.$tatrsisrou<br />

In fic Ml 4000XL aEhiteluE, (h. qurd-lcnslh tBck esndls s*nch ancr *dy<br />

rounh loSic hlek, with onc qudc ol lhe sgmcnc s*itchins i. e.rt t*irch b<strong>or</strong>.<br />

W. €Dtured lhit cxact sc args.rins in rh.4000x-likc dhitclure ln tl'e dl<br />

4000xL !rchir.crure, the quad-lengrh $gFents ewitch ar the tso cnds using pas<br />

r.nsisroi swnchcs, Nirh one er of oprion.l buners ihar cu b. usd i6rad <strong>or</strong>dy<strong>or</strong><br />

th. p$s trmsnroN. Wc cholc to $e bun'.rcd swnchcs ro connecr betw.rn every<br />

quldl.ngth hacl s.gm.nt, b4aue thc oplional bufer fearurc k nol snpponcd hv<br />

FruD Sldn'n 2.6. (h.r quod-longrh lrrck \$mcnrs nlso twnch ro snrg[ ]trtl dNblc_<br />

leogrh r4h sgments ar ev.ry s,itch bd, Al$, dall fom figoc 210 that th.<br />

rcr.rion olfie quod tdcks m€ns $al ar.ach swilch box, <strong>di</strong>rcrcnt qu.drengrh r€ck<br />

scShenrs conneer lo <strong>di</strong>ftered single Md double'leogd lmck $gm€its we captued<br />

fic swnching bclwen quad-<strong>lt</strong>ngrh s.gmenb and s.gmenls ofoth.r lcnglhs crac<strong>rl</strong>vas<br />

sp..ified in rhe @l 4OOOXL !rchicctu.e. when sling o<strong>lt</strong> <strong>or</strong>chirectur. wc simplv<br />

E<strong>di</strong>d. fi c silchins Pttred.<br />

Thc long ter eemc s in lhc Ml 4oooxl ehit.ctur spa lh. ehol. FPGA dd do<br />

n<strong>or</strong> connNr al i.tesrions, €xepl at the .d8c of lhc FPGA sonc of rhc long<br />

scSmen$.rc spl[ in rhc niddl. osin! a ti-state brafcr, allowing lh. long segnent ro<br />

be splir iiro lwo indcp.ndent ssm;nts. Th. rcmaining long l6ck sem.trh can


. splir inro qurneN. wc cho* ro plde hulTcr each quancr ofevcq ldrg rrck<br />

scgmcnr in.he 4000x-lile archi@u& agnin f<strong>or</strong> .N of imtl.men@rion As in rhc<br />

rcd 4000X1. inlee.ringlong tel segrcnts do not @nncl, $ept at $. cdScs of<br />

To alculrt ssodblc critical path delays, ir is imponanr ro have a Hlistic delay<br />

dodcl. VPR conhins rn EInoE del.t dod.l l<strong>or</strong> !n FPCA wnh r $gncnrcd ouring<br />

archneMc conbining bo$ pa$ ldsind dd bufei swirch.s. wc ue lhc eoc<br />

riming model a<strong>or</strong> lhc .looox.like aahiEturc. Th. Elmoe dclat dodcl requies !<br />

iumber ot nsisllncc, c.pscilece. dnd dehy vllues r'<strong>or</strong> comtonents such 6 p6s<br />

!.nsisr<strong>or</strong> sritches. butte6. logic bl@k l/Os, 5nd l/O p.ds. Rslistic valucs werc<br />

.xtrckd frcm rheTMSC o.lJ rm CMOS p@$ [Ja].<br />

3.2 ROUTABILITY.DRIVEN VPR ROUTING ALGORITHM<br />

l. $G *rion. w. b.i.l y Evicw lh. @ubbiliryi.iven vPR Eutins alSodrhm [r4],<br />

d.$rib.d in d.tail in S4lio. 2.4.5, dd the ouEbtlitviivcn vPR ouLr is ,n<br />

.nheced veuion <strong>or</strong> lhe bu<strong>rl</strong>biliry-driren PdhFinder nrSothhm 1101. desib.d in<br />

Secrion 24.4. Muhiplc rcutins ileBriotrs tE uscd lo Fur. ncs. during whlch ev.D<br />

Nl is rippcdnrp dnd r..ouGd h o 8ivetr il..arion. rculing rcsotrmes ak allo{cd ro bc<br />

ovcrus.d, bd fi€ p..ally f<strong>or</strong> ole<strong>rl</strong>sing o<strong>lt</strong>ing Esoui6 is gEduallv incE sDd<br />

du.ing ruEesiv. n <strong>di</strong>ds. Ilis grddlal inc(e in the p.na<strong>lt</strong>t r<strong>or</strong> ovcru*d<br />

csourccs€uslh.n.husing|h*re9ot6tou9oddUnco.ge<br />

mly Equirc $leral ire<strong>di</strong>od ro soeslul<strong>lt</strong> oute a cncuit lfa cicuh cinnol b.<br />

rourcd alie<strong>rl</strong>0 i|.laliotrs, liil'ra k dcclar.d


Whil. VPR obtains v.Lv hieh{tuality Gu<strong>lt</strong>s. ln..xeurio timer.c aaiit long, The<br />

lons cxecution times&e duc ro lh. l.i<strong>rl</strong>y ineficicnt b@dth-nd efth od rh.lese<br />

du'nbqofreuting ir.mrion €quicd sutint o cifctrit (rypicolly l0lo 20 it€!0liont<br />

Inrhc trcxr rwo srions. wc lsibl enhinceocnu ro this (Use) lls<strong>or</strong>irhn rd tod(cc<br />

$e smpile doe dd $ecircui(delay.<br />

33 COMPILE.TIMEENHANCEMENTS<br />

In this sction we de$ribc fiv. .nheccme s to lh. bas dlli.g dls<strong>or</strong>irhm ro<br />

FomScqi<strong>or</strong>2.l.l lhc budfi-fiN srci usd by mdy nwc oulcrs, inclu<strong>di</strong>ng fic<br />

bullbilirt{rivd VPR 6ulci sDend r sigrifie aoNnt oftimc cxpl<strong>or</strong>ins parhs in<br />

rhe Mong <strong>di</strong>Bcrion. A <strong>di</strong>Klcd s.arch is n<strong>or</strong>c cllicient becausc it exp.nds ourtrg<br />

rcsources tha! lic closer to thc bg.r sink n6t G.c Ficurc 2 t), rcaching the cBet<br />

sink much fsl€r @mptad lo a bMdh-fiBr srch. 6peilllv lnd thcE is lit<strong>rl</strong>e<br />

rcuring cong6rion. A <strong>di</strong>dt.d ean 6 ried 6 .n €nh.nem..t to lhc PiihFinds<br />

llg<strong>or</strong>irhft in ll0l.<br />

Ahhoush rhc conceptoio <strong>di</strong>@rcd senh k not iew' n is imponanr<br />

ro describe lhe prectc impl.menlalion, as th.re aft nan! <strong>di</strong>fer€nl wa)s to implcm.nr<br />

i! cach wnh <strong>di</strong>ft rcnt qu.lity. Figure l.l on plge 48 lisrs psodo codc f<strong>or</strong> lhc<br />

cnhdced @rabilirri.ivcn ruurs dtt h$ hFn nlrcRi F.mplov a <strong>di</strong>ccr.n 3eh<br />

This pseudo code h csenrillly rhc somensrhe nsc'|do code giver lot lhc Parhrnrd$<br />

ouring alg<strong>or</strong>irhm. $ we Eier rhe reader to Selioi 2.44 i<strong>or</strong> a dcrailed desciption<br />

'l-hc icy $hancemcnl ro thc brs llgolnhn is lh€ <strong>di</strong>rccicd srch.<br />

Thc <strong>di</strong>rect *.rch is implencnr.d 6 tln ofihe cosl fumtion o line I in FisuR 3 3<br />

The cosr of us ing ro utins rcsource lade n, fotalcott(m) is cat'nt^ted a:


Pal(-d,r,, isthetotal of rhcco$of lll of rherc<strong>lt</strong>in8 rcsource nod.s us.d ro Mch<br />

nodc 4 ii eounrs r<strong>or</strong> both dc numbd of t@l esnats used b t@h nod. ,' dd<br />

mY @g$lion q@nLrd along lh. p.th.<br />

wh.n rh.E is no tuiing onteti<strong>or</strong> alons rhc p fi to nodc ', Pa,/'Cdra'.,is simply .<br />

couil o<strong>lt</strong>h. rohl numbq <strong>or</strong> tr&t esm..B ued lo Eacn nod. r Pat Cavl,,/ is cal<br />

t (dvi/' (r)<br />

rrM(hintrrrb(<br />

rhsre c"<strong>rl</strong>) is rhc ongBlion co$ i<strong>or</strong> nod. I rhich is @lculaled 6:<br />

(J r)<br />

H.E bf,./ is thc bde 6l fd usi.s .od.l p// is th. pllgt @ngcsion p.nah, t<strong>or</strong><br />

iodc /, .nd tl?./is the tisl<strong>or</strong>i€l @nslsrion pcni<strong>lt</strong>y f<strong>or</strong> iode a<br />

t<strong>rl</strong>LqqdD6dcleodr(EfllD<br />

ut Ls! o< r[ !d r<br />

til aP q d,0t 'uar tr. Rr0)<br />

lr) Rroen"w(l<br />

0)<br />

Ldldrdldri,v,]<br />

|!l ?Qemo<br />

lii bas'ilrr/n6'd<br />

Is) rdNh!.r(nDc.uturc<br />

lel a<strong>di</strong> d 4+bq d; '.rd n o ra !!r!<br />

Iro Ed<br />

l<strong>rl</strong> Lqow4'<strong>or</strong>.er'? DsEti(b


Th. bse co6r l<strong>or</strong> lmck sgn.nc is t.0, i.pur pins 0,95. ad ouDut p,.s I O. rhe<br />

pIMt ongettion p.nahy dd lh. hisr<strong>or</strong>ical co4.srion p.n.<strong>lt</strong>y !c stculaled as<br />

in Sccrion 2.4.4, Ako.haptcr<br />

'i.s$ib€d<br />

iivc covcE congcnion €on exctusivety.<br />

The ten &pe.tedcoe(nj) in Equ<strong>or</strong>ion (1. | ) is d m.rslr of lhe crp..k/ <strong>di</strong>rzre<br />

ehaini|jg I-ronr nodc,r ro rc.ch thc rargcr sink i. lhc Exp€ctedcosl rem rbs ihe<br />

brsic alg<strong>or</strong>nhn inb a <strong>di</strong>rechd scarch lflwo routinS resource nodes have ihe same<br />

Pathcosr, bur one node is funho aw6y fiom the rargct sink th.n rhe <strong>or</strong>her node, the<br />

cllM nodc will have a lows Expecrcdcosl 6nd hcn€ a t<strong>or</strong>.r Tohlcosr.<br />

Tne €xpeted <strong>di</strong>stlncc is dcrcmin.d by munling rhe nininuft numb€r of rack<br />

sene.b <strong>or</strong>lhc smc ldgth a nodc,, rcquiEd o r.rch rh. r.rg.t sin*r'. we Bunc<br />

rhar th. @e ryp. oflEck sCmcn$ willbc os.d to Mch $. b4e( sink and rhd rhe<br />

rtrk esndc ato.g tnc shon.n p6rh arc rdually availablc. This is e<br />

appoximtion, b6.us in Ihc 4OOoX]it Nhn.cturc n is posibl. ro s*itcl b.lws<br />

<strong>di</strong>tlcE lengrh b&k egmcnls. our. an m.ny ca5c5. if rh. ourer sans on n c<strong>di</strong>n<br />

l.n8th hck 3gmc.t it *ill us moc oflh. $n. ryp. of nack sesm.nr ro Mch rh.<br />

$uce lfthere is rcutin8 congBtion. th.i th. rout.r msy b€ a<strong>or</strong>c.d ro seirch !o a<br />

<strong>di</strong>tterent length tmck Fgm.nr<br />

Fisure 1.4 illuslrrtcs 0 siNplc cxrmplc ol $c llxpLctd Cosi! wh.ru rhc nuhbrr <strong>or</strong><br />

mch tnck e8ncnr h tlB ErNclc! Con lo rcoch thc sihk Srartirg llm rhe sourcc,<br />

the sink sin b. rcachcd by using cirher a singl.-l.ngth segment <strong>or</strong> one oftwo double<br />

lengft ssments. ilsing lh. singlencngth leshent would rcqun€ thR m<strong>or</strong>c single-<br />

leng$ *lmenls !o Mch rh. sinl, Thc doubtn.nrdr scgme.t shown in black, would<br />

require j6l onc m<strong>or</strong>c sSn<strong>or</strong> !o @h rhc sin[. Th€ olher doubrc-lcn8th s86e.r.<br />

49


sho*n in grd,. woold two m<strong>or</strong>c sgn.nls ro E&h rh. sink, riie dc sbning poinr of<br />

rhc t6ck ssncnt is o|Iq f@m rh. $uEe losic blmk.<br />

Th. fact<strong>or</strong> c in Equrtion (l.l) is 6l| n 6. d)k.1ioh l@t<strong>or</strong>i ir dcrc<strong>di</strong>n.s hos<br />

i$rcs{iv.ly lhc ^{r.r drivcs r,)!trJs lhc t<strong>or</strong>Bcr sirr, In Llqu4rbr {l.t). n trighc.<br />

vlhE of u tuclis dht rhc rollcr is m<strong>or</strong>c mccmcd oh.!r ncdncss t. thc t.rgcr sintr<br />

rrcm nodc , (hc ExFckncon r.m) rh.n rh. lcnsth ol ttu pa$ ro eh nodc , <strong>or</strong><br />

ouling conSesrion nlong t. tdh (the Pathc6r ro). wirh an d of 0 th. srch is<br />

cqtriv.lcnr to ! bcndth.fiBr s!Eh. An d ealu. sMtcr $.n 0 is a <strong>di</strong>dtcd sNh. Thu<br />

1.4.r (h. o v<strong>rl</strong>lc. th. harn.r $. @r.r *ill tr, lo outc !o*ar4s rhe r.rBd rint b,<br />

$ine nound @gcsrion, bcfoc fiying b find a shons pllh. Vcry l&gc vatB otd<br />

rillolien @lr in.xc.sivcly long@nr<strong>di</strong>oi ir rh. prcecc of ong.nion. sine<br />

$. ncahcss o<strong>lt</strong>h. brycr sink it n@ inpqu,t lhe NiE Lngfi.<br />

To d.t.mift th. b.i valuc oao a<strong>or</strong> $c aintl. aehirccruc. y. oured |.n bcnchm.rt<br />

ciEuit Ging mulliplc wlws old bcr*.i 1,0 xd 2,0, W. oulcd @h ciHh wirh<br />

rvo <strong>di</strong>reMt rdcl coun$, Thc fiEt lac* @!nt {s n<strong>or</strong> rh. oininum l*k cou.r<br />

Nqund by $ch circoir ro oalc thc poblcn <strong>di</strong>llicuh and rhr sd ret @unr u5<br />

lovr hidr$ rhni d! irir<strong>or</strong> rrk cNnr b *r <strong>di</strong>o l|()hld'n l,$-(as. FiCuN :l.t<br />

shos . plot of th. aGdg. @mpil. rim., ld b<strong>or</strong>h <strong>di</strong>mclh .nd low-slc$ ourin!<br />

probl.ms. tdus rhc <strong>di</strong>.cclio aerd. F<strong>or</strong> <strong>rl</strong>c low.urc$ Dutirg pobl.ms, lhc @rpilc<br />

rin. is fanl, @ina ld .ny <strong>di</strong>Eion lacr<strong>or</strong> g@lcr rhan 1.0. Fo. rhe <strong>di</strong>filcuh<br />

ourins Doblems, (h. coopil. tanc n ftst.n f<strong>or</strong> v!lu6 oa! b.lwen l.l dd 1.6. F<strong>or</strong><br />

<strong>di</strong>dlion a&lou gr.!r.r rh.n l.6, rh. tul.r i! c@in8 cvcn n<strong>or</strong> @ng6lid by<br />

elaring onqsu.lly long taths lo go .ound mng6lion, which mdk€s thc routing


prcblcms ae. n<strong>or</strong>c <strong>di</strong>mcuh to mmplec. w. ch* ro us. d d varu. of I 5 ld thc<br />

simple .rchic<strong>lt</strong>urc.<br />

FhlE 1.4: Er..Cl. ol ErFt.d dt!<br />

W. .l$ mauEd lh. <strong>di</strong>c.raon hcl<strong>or</strong> f<strong>or</strong> rh. 4000x-litc chiteturc usi.e ft se<br />

20 b.ndmafi circui$ ($ar will b. lsd f<strong>or</strong> our o*n dhitatudl {bngn aho). Ag!i(<br />

@ ouLd ah ciduil wilh ls b&l @ui!e{m ro m.t. dE prcbld <strong>di</strong>mcul xd<br />

dc lo nalc thc pDblcn low-sr6. F<strong>or</strong> fi. 4o()Ox-lik dchirar@ E.l$<br />

n6uEd th. ciMn d.ky l<strong>or</strong> *h v.luc of d, w. dtc.d.d d. m!. olo vdG fom<br />

0,5 ro 1.0, bc&e s. i qlsrin8 catc<strong>lt</strong> @utr d oureid.llE 1,0 ro 2,0 6ns..<br />

Figlr 1.6 (.) slFs th..rdg. @piL nc dd circoh d.l.y wM3 thc <strong>di</strong>Etio<br />

l.ctd. lq lov{Es ouring pobhms. Thc .v.ng! @mpil. ft aq low.t6<br />

pobl.m b $c shond 16 $lu6 oad gm|. $.n <strong>or</strong> .qu.l !o L0. Sirc d'4 t littl.<br />

rcudng @ngedo., th. oulcr cM p@.d <strong>di</strong>rs<strong>rl</strong>y low.r6 . urgcr sinl( *irh@(<br />

dctourin& F<strong>or</strong> v.l@r of a 16 d& L0. th. out r is b.lNint mc likc . bi6dtn-<br />

liRt rouLr. !i.ce ftr pot[ lcnsrh as wciShrdl hishs tlM lhc CNt ii D'tu<strong>di</strong>otr O.l).<br />

Th. avcngc circuit dclay l<strong>or</strong> low.3rr.s p|obl.ms b ndr mjnimum r<strong>or</strong> vdh6 ofd<br />

l.s rhln <strong>or</strong> cqu<strong>rl</strong> ro 2.0; in $is 68. th. ciEuit d.la,s e bd*d 90 mn@o.ds<br />

and 92 noscconds. Fd <strong>di</strong>r..rion a&ro3 gut r $d 2.0 th. ciEuit d.lay irns to<br />

incEe, @ching 96 nrnosids f<strong>or</strong> !i a nlc of 1,0. f<strong>or</strong> brgc v!h6 of d lhe<br />

5I


o(ler h cxlEn.ly <strong>di</strong>@ld rnd *ill !@pr rhc li6r poth lound l<strong>or</strong>. nct" 9ci il thc<br />

paft h6 a laB. d.l.r.<br />

I<br />

2<br />

1b<br />

=9".4["<br />

Ilg!rc t.5: CobtiL tioc B c lc linplc.Fhi(eturc<br />

risuc 1.6 (b) shoss rh. rvcEsc Mpit. rim. dd ciEuir &hr v6B rh. dh.rion<br />

f.d<strong>or</strong>. f<strong>or</strong> <strong>di</strong>mcoh 6ulin8 poblcmr Thc rvcdgp compil. rinc f<strong>or</strong> <strong>di</strong>mcuh outi.B<br />

prcblcns is llE 3h<strong>or</strong>r.$ f<strong>or</strong> valu6 of d bawn 1.0 !.d 2,0. F( v.h6 of o lcs lhu<br />

1.0 rhc outs is again b.having moE likc . b@drh-lid F!rc. sine d. p.r agfi is<br />

sciBhrcd highd thd th4 Exped.dcog, Fc rdu6 ota gsrq U- 2.0 rh. oul6 a6<br />

cotins cv.n nN 6r8.srio by $lering unsully long p.lhs lo eo @nd<br />

cong6 d, Tnc cidun d.hy ld th. <strong>di</strong>mcul outing pDbkm ai Mr nininun f<strong>or</strong><br />

<strong>rl</strong>l voluct old b.rwm 0.t rnd 2.0, Fd <strong>di</strong>crio f*roF ge|.r rh.n 2.0 rh. 6!r.r i!<br />

.g.in .xod.ly daet.d and will @.pt t firn p.th found f<strong>or</strong> . n.t d.n ilfic p.rh<br />

Civd lll ol th. d!l. fd both low-nrs &d <strong>di</strong>mc nting poblds, w. chos ro<br />

usc a <strong>di</strong>Ecrion f&br oa | .00 | tu lhc 4000xnik .rchirdruE.


!x<br />

FlslE !.5: (.)<br />

aJ.2 F6t Rol<strong>rl</strong>r8 S.h.d<strong>rl</strong>.<br />

"z i<br />

::<br />

",i I<br />

^sn!. C6pll. (b) Tld. .d Nty<br />

Ar d.eribcd an sdon 2.4.5 thll. f.st ouring $h.dol. a b. u!.d ro spdd up rh.<br />

muhlilnynircn vPR eutF br 2 <strong>or</strong> I m.+ 'lquinnS only 2% !o 4% m6 r.ck!<br />

comp.rcd ro usin8 thc dcLu<strong>lt</strong> ouli.8 $hcdulc. Tnc l!{ Mdng $nd!t $rr rhc<br />

pcd<strong>lt</strong>is l<strong>or</strong> ov.Flsin8 ourin! |t96 to 10000 l<strong>or</strong> to{h lhc prenr @ngBrion<br />

pc <strong>lt</strong>y. /,r,1. dd thc hiit<strong>or</strong>iql @ng.srion Ftu<strong>lt</strong>y. ,/,./. Thh f<strong>or</strong>c6 d. oulq lo<br />

.bid oErusing tudng a$ucs unls .bslur.ly resy. cu<strong>lt</strong>inS in . d.cE&<br />

ii rhc l<strong>or</strong>.l numh.r oaburing ihraN,<br />

\fhcn lhc fst dtinS shcduk ir .ppli.d to rh. hign-sp..d outd, th@ i5 |<br />

iignifi<strong>or</strong> cdlcri<strong>or</strong> in tn. compih rinc, Usi.g 6. <strong>di</strong>Escd $s.i wirh $c Lsl<br />

rc<strong>lt</strong>in8 $n.d!|. trcdoccs & av.dB. sFdup of 17 tih.s oq usins thc <strong>di</strong>ctcd<br />

$.Eh with th. d.au[ outirS $hcdul.,<br />

Ot.nll. 6ing thc <strong>di</strong>dr.d gdh wirh rhc 16l butinB el.dul. is l0 tirc aasr.r d<br />

.@gc. @ot r.d to thc Dulrbilityirivd vPR o<strong>lt</strong>q.l$ si.a $. rrr @ing<br />

'xt<br />

5l


In the pEence ofsigniticanr ouring cong.sion,6uring a high-f.nour net is rdr,n<strong>or</strong>e<br />

<strong>di</strong>fficu<strong>lt</strong> lhan nuringd los-fanour n.l This h b.c<strong>rl</strong>se vcry hish-Anour nets tcnd ro<br />

hove siiks rhd cover 60$ of lhe !rca of an FPOA, a.d rhcrct<strong>or</strong>c requirc many<br />

oumg ftsources. on rhc oth$ hond, low friour ncs (cspL{idly 2 renninaticrg rend<br />

ro b€ nuch localized. Equiring ninimat ourinS rcsour..s<br />

we w.nr ro mur. all of thc ncts su.Bfully in jusr onc iEntioni rhcEf<strong>or</strong>c, wc bre<br />

th€ most <strong>di</strong>ficuh ncls fiut, whcn rhcrc is no outinr con8.(on. Th.E is a hisher<br />

li*elihood oa rcldog an <strong>di</strong>.r r.t 3u@sfullr in rhc Feserce of conse$ion,<br />

@npaEd to a <strong>di</strong>mcul nct. Th.cf<strong>or</strong>c, w. @k fi. n.c in od.r fM hishd adour<br />

ro lov6l latrNr. Itetbe sbnins fi. fi.g ir.mion. a hop $n is usd ro $n fte ner5.<br />

w. 6n eipcnhds. usin8 rhe 4000x-lit. Ehndlc. lo n6ud rh..fe<strong>di</strong>vde$<br />

<strong>or</strong> th. d od.rins .nh.nem.m. wc found lhar ncr odering inpbv.d rh. compite<br />

linc ao. <strong>di</strong>ficulr ourinB p@blcns by 219( on .v.Eg.. @mp.Ed ro outins rhe ds<br />

in th. o'dc which th.y atpcacd in rh. ciElir ndlisr. Fd to*.rrEs mutina<br />

problcms. rh.rc was no inprovcmcnr in compilo rimc. sinc. th.r. {!s liitc m<strong>or</strong>inB<br />

co.gcnion when rcurihg inyol$. nct3.<br />

N.r <strong>or</strong>deri.g ale helps to imp@vc rhc ciruil d.lay, sincc rh.rc isa high pmbibitiry<br />

rhar rh. oirical path ofrhe circ!n willinvolvc rh.hishcst lanout n.ls. Blmuring rhe<br />

high.n fanout nets fiut, th.y have a b.tld chan.c ofusi.g lasrer rclring resources.<br />

Though experimenration, i wa, iound that f<strong>or</strong><strong>di</strong>flictr<strong>lt</strong> rcutin8 Fobl.ms, rcurinA fte<br />

hiShe$ larcur nets fiNi imprcved $c cncuit d.ldt b, an dve.asc of ll%, compir.d<br />

ro rcurirs the ners in fie ods which rh.y oppercd in the circlir ne<strong>di</strong>sr. F'<strong>or</strong> low<br />

stress otrrins poblcmr, ficcircuir dclat imprcvod by !n.vc6ge of 14y..<br />

54


An<strong>or</strong>hd w6y io redua rh. compit. rinc bro choe ih. <strong>or</strong>d.r in which rh. sink ofa<br />

mulri-r.minal nd aE our€d. Figurc 1.7 ,Dws 1*o cxmpl.s of (he affd $a. sink<br />

oi|€dnB 6uld hav. on rculing 0 rhEe rcmir.l ncl.<br />

Figuft 1.7(a) shows how rc<strong>lt</strong>ing th. clo$l siit fi6r an E$h in bcns rc-usotrhe<br />

nutng4oues comp.Ed to (b) lhcr rhc funhcst sink is routed fiEi<br />

Rouring ners m<strong>or</strong>e emcienily wifi twer oudng rcsources nlles rhe rcurins pDbtcm<br />

eais ro solve in two *ays: Fnst ih.rc ar m<strong>or</strong>c rcuring r.sources alailable l<strong>or</strong> n.h<br />

lh rru nNrd lx$r. Wi<strong>rl</strong>r dr( tNtir8 Nsnr (Ls reNiliuc hrN il8olh$Ntr, itis<br />

mo( likcly thlr the circtrir can b. rcured in icre ire.ado.s, Send. rcuri$ nc6<br />

m<strong>or</strong>c elliciddt al$ requiEs l.e.r pi<strong>or</strong>ity qu.u. op€rarioni which fte<strong>lt</strong>s in a<br />

Unronudclr. lh. ropology ofrhe tints in a high-la.our ner rff6a ho* w€ll ouring<br />

Rsr'6 mty be eus.d- l:o. sm. .crs. andonly <strong>or</strong>d<strong>di</strong>.s lh€ sinkr mat b€<br />

enwhll bets thar odsing the si.ks by dhtance |rom the $trc. Bur in oth.r<br />

css ! mndom oidedng toay bc Inuch woF lhm od€ring lhe sinks. We aound rhd<br />

<strong>or</strong>dering $e sints frcm clos.st to funhqn p@vid.! !n ovemll improvemenl in<br />

c<strong>or</strong>npile time f<strong>or</strong> every ctcuir we tcstcd,<br />

Usin8 rhc 4000x-lile echitecturi we found thdl conpile im6 f<strong>or</strong> bolh low{nes<br />

.nd <strong>di</strong>,ncu<strong>lt</strong> poblems impov.d by zlyG on avemle. when the clost sinls weE<br />

rclcd li6r. compaEd to tuutin8 rh. sinks h rh. <strong>or</strong>ddJ which rh€y .pp.aFd in thu<br />

circuir rc<strong>rl</strong>isr. Notc rhar rh. clcr-fid sink <strong>or</strong>d.ring reduced rhe circlir delay ot<br />

<strong>di</strong>tlicuh rcuting ptobl.ms by !v.mg. ol |0./6. bur had.o cnd on the ciEun deht<br />

5t


trEt otrtr fto D oo<br />

tr<br />

o<br />

tr<br />

0troo<br />

otroo<br />

oooo<br />

tro<br />

trtr<br />

tro<br />

FisuBS.?: Rourils a nul.ir.rnilrt !.t: (.)d@rsil*l rEr, (b) rurtbqt !ink!<br />

li6l<br />

in S<strong>lt</strong>OU I ti, r sinilar sink <strong>or</strong>dsilg is uscd, ercepr $ol lhe odering is dcrcnnird<br />

durrg nrnr|rc. Whcn rcuri'rsa 'i.t. tlro Nrt !i'<strong>rl</strong> choscn as a toecr byrfu ro cr is<br />

lhc riik whlch k closesr ro et part oithe cristin! routine tr. F<strong>or</strong> verr h gh-fino<br />

n.ti SROUTE requiFs sisn ificam co6p!r.r ion rime ro rind rhe cloe5l sink, F<strong>or</strong> out<br />

ndhod. tn. tiik f<strong>or</strong> *h nct oly hrv. to b€ snd mce, b€f<strong>or</strong>c $€ fi6r rourine<br />

The alg<strong>or</strong>ithm describcd in FieuE 1.1 k om.whct incmcient. b..au* rh. .nrirc<br />

rourirg !$ h pliccd on the pri<strong>or</strong>ir, qu€uc *hcn eanin8 ro roure e&h si'rk ofd ^er.<br />

This h oncn unnecessaty bec.use, f<strong>or</strong> higl4 idour nds, mosr ol the cuftnt roulinS<br />

lG. is unlik ly ro be involled in th. subsqucnl @nn6ions, Thc pi<strong>di</strong>ty qocu. is<br />

Benrially utd to en the rftk sgn.nts i. <strong>or</strong>dcr of.incl6ing <strong>di</strong>rran€ b rh. sink.<br />

o rh.r thr li6r ttuk Fgno( Ehov.d fom th. pd<strong>or</strong>irt qrtue is rypially rh. clGr<br />

on.roihc sink.ln.hcwoBr ce,l<strong>or</strong>rn FmA conlaininsN logic cluncEand anct<br />

with N sinks, rhh apprcach exhibils O(NzlogN) behavi<strong>or</strong> l<strong>or</strong> tne net. Sincc many<br />

clrcuirs hrv.at l.a$ r ftwerrdne<strong>lt</strong> high l.nou! ners, rhis typically dows lhe rc0ler.<br />

To ov.rcome rhis ef|*L se devied; @iniqu. alled ,rn,irs, Th. ket id.a is thal


only th. ponions of$e cuftnr ouring r@ rhd .G ctosest ro rhc cumr rarg.r sint<br />

nccd ro be pldd on th. prinirt qucuc. FiglE 3.3 ittushr6 r 3impL qompl. ofrh.<br />

binning rehniquc. In <strong>di</strong>s dddc rh.G .rc four bini @h @ntaaninA oft qune. Df<br />

rhe rolal r@t egmdr' A rer wirh iiout <strong>rl</strong>cc is b.ing ould, stul iso ofrie $e<br />

sints have alre.d, ben Durcd, Wh.n burinS rhc 16r siok. instead ofpteing rhc<br />

entnc ner on the pri<strong>or</strong>ny queuq 6nly $osc p.ns of $. n.t in bin 4 aE ph.€d on rh.<br />

prioiry queue. thus rcducing rh. numbe.oipri<strong>or</strong>iryqucueop€rarions.<br />

trtroool<br />

ooo tr<br />

o oootr<br />

OIO O'O O O<br />

Elo <strong>or</strong>o o cl<br />

O O'O E O<br />

figlF3r: EnoPl. olrh. bi.liIgref,liqm<br />

F<strong>or</strong> elaivcly lou fuour n.l5. binning d6 not evc mlny Fio.ny qtreue oFFlios-<br />

HoN.vci vhen usd on very hilh flnoul ncls. binning sienifi€ntly reduces rh.<br />

nunb€r of pri<strong>or</strong>ny queue opcmtiois. W. d.fine th. minimum binning fanolr (IVBF)<br />

as lhe ninimum fircfl below wlric[ thd bi tring €nhanemcnl is .ol used, ]n<br />

dcrcnnind dc besl MBF v<strong>rl</strong>N, ,c m0tcd d 0( h$ of bcnchmlrk circtrns, using<br />

MBF5 Bnsine frcm I to |0,OOO. and avc<strong>or</strong>cd the rsulrs acrcs all ft. circtrns.<br />

Fisurc 1.9 shows r pi<strong>or</strong> ofrh. avcBSc low nrc$ compile rimc veuus <strong>di</strong>fis$t valu.s<br />

of MBF, aof lhe simple FPCA afthitsturc. Any n.ls wirh finoul eqlal io <strong>or</strong> gcdq<br />

rhan (h. MBF wc rcuLd using binning. F<strong>or</strong> a. MBF of l. binninB is r$d l<strong>or</strong> all rh.<br />

rcri dd fie aveFge @mpile timc ir.boul 16 snds. Thc ardse @npiG timc<br />

d.cEas to. minimM ofabour S snds. with !n MBF of4- The lvemg. onpil.<br />

57


tim.shnstoincl!&notice.b<strong>lt</strong>*h.nthcMBF.xc..ds 100.FotanMBFo110000,<br />

binning is not on choe ro on<strong>lt</strong> u$ binning f<strong>or</strong> nds wnh hnoul sE.cr the 50,<br />

l<strong>lt</strong>hough dy valo. b.rwen md | 00 Fldc ndly cqul us.d ar all.<br />

Flg!rc J.9: Av€ng€ lN{t.6 .onplL dDc w. Eioldln billitrg t nod<br />

Th. peudo codc of FisrE 3-3 @ b. t<strong>lt</strong>cci !o ue binning by ap<strong>lt</strong> ing lift 6 wilh:<br />

ta e \G E h .65t!1 $'r s:d !F^rrad/,J, rd n b!.d. i ih<br />

This lift plG the@ cnt5 of d. bi. c.nrdning l|ic Lrgcl sinki <strong>di</strong>o thc p.i<strong>or</strong>ily<br />

q*@, whil. updaii.g rh. muling tE f<strong>or</strong> Nt ( lhc nw n d6 ft .dded to th.n<br />

c<strong>or</strong>Espon<strong>di</strong>rg bin by ad<strong>di</strong>ne fie followine lincdn( lift ll:<br />

ud Nd! r b sn6P<strong>or</strong>&! u<br />

-l hc4 !rc lhrcc kcy isucs rhlr h.vc lo hc.ddrc$cdtirh binni.g: th. sizc o<strong>lt</strong>hc birN:<br />

lhar to do whd a bin onLiniis 6 sink dca no{ contain.ny ptd <strong>or</strong>lh. rcutng ft.<br />

f<strong>or</strong> dr nd; a.d h@ lhc undcr<strong>lt</strong>in8 ddn! ehitdrN a.d rh. sia of the circuit<br />

timn fic clTdriq< of bi.ning.<br />

tf tfic bin lia k ro small (in lh. 4tr6. @ lhc sgnac in jusl oN logic bldk<br />

til.). rh.i rh. qualily oflhc 6uing dcgod6 linc d insu,ncicnl mounl <strong>or</strong> lh. Fi<strong>or</strong><br />

58


ourc is rvailable 6 p<strong>or</strong>cnrial san points ad thc c<strong>or</strong>nection ro rhcsank inrh bin<br />

lf thc bin si& is rD IfiBe (in ihc.xrEm. ce rhc cnriE FPCA). rhd unnssD<br />

$socrrs will tc purotr rhc prifir, qu.uc ..<strong>rl</strong> rhc cotrrrilc ri'rc Nill incH$. si'u<br />

rhe areage <strong>di</strong>sbn@ b.rwen sinks sn vary f<strong>or</strong> <strong>di</strong>lleEnl n.Li ou. rcui€r compucs<br />

<strong>rl</strong>'€b'. size bascd otr rhusp.nolcrc[ Nr. Bcl<strong>or</strong>u ! Nr is nDred, rhl rvensc rrer pcr<br />

slnk is c. culri.d 6 rhe rrea of th. boli<strong>di</strong>ng box olrhe net reminals <strong>di</strong>vidcd by nE<br />

trtrmb€r <strong>or</strong> sinks. The bin size lbr I nct h cllctr<strong>lt</strong><strong>rl</strong>ed $ lhe .vcmge area per sink<br />

mulliplied by fic bin sia saling hct<strong>or</strong> Tht bin sia $alins fact<strong>or</strong> incMses rhe bin<br />

rize. lo incEs lhe pmbobilitt rh.r a bin conr<strong>di</strong>ni.g a sink will ako conrdn a<br />

somcie.tmounr ofthe rcuriry tR io <strong>or</strong>t. r connecrion b ln. sink. To dereminc i<br />

sunlbt v<strong>rl</strong>ue f<strong>or</strong> $c bin sie *ling l&to., w. rc<strong>lt</strong>.d 20 bcnchma<strong>rl</strong> cicui.s usins<br />

<strong>di</strong>ttcdt v!16 tur lhc bin siz slirS f..toi T.bl. 3-2 liss rh. bin tia slitrs<br />

faclo6. lh. av.msc minimom hck @uit, rh. .vd8! mpil. rin. r<strong>or</strong> <strong>di</strong>fficu<strong>lt</strong><br />

ouring pBblcmr.nd rh. !v.Eg.@mpil. rin. f<strong>or</strong> low


ollN.bhsizc$ali|uri(loK, lhccruulin!is!rcsullofthcbiNbsiDgtooenlll,e<br />

fiat thc bi.s do .ot contnin.noush qfth. rcuting trd to allow a @nnection ro a sinl<br />

ro b. found qoickly. Fd ine <strong>di</strong>llicuh muting pobl.dr ih. bin siz qling fact<strong>or</strong> of<br />

| .0 r,ldued the fasr6l avciasc conpil. rin.. F<strong>or</strong> a bin sia slins leta o10.5. lhc<br />

bins do not conlain qou8i of rh. 6urin8 E b <strong>rl</strong>loN a @tr@ion to r sin* ro bc<br />

tound quickly. F<strong>or</strong> $aling faclou s'*r lhe I .0. .!cn bin @nbins ouch m<strong>or</strong>c of<br />

thc rculirg tr€e lhd requircd makc quick onnc<strong>di</strong>ons, Bascd on rhe 6u<strong>lt</strong>s i'r Tabl.<br />

1.2. we chose ro usd a bin size s6lin! lircr<strong>or</strong> of 1.0.<br />

ll rc bin containi.g r sink d@s o<strong>or</strong> cont.i. lny pirt ofthc rcutc so iar,lhcn thc<br />

poiions of$e nei in irs eish eishboing bins.rc added lo lhc pri<strong>or</strong>ily queuc. Tnc<br />

ncigib<strong>or</strong>ins tins nay onuin pans of fi. mulc claritcly cloe ro $c r.rg.r sint, ll<br />

rhr n.iBhb<strong>or</strong>in8 bins ar€ als cmpry. fi.n fic .nrirc p@xisring reurins tE is placcd<br />

on rhe prioity queue. ln the bc{ @ f<strong>or</strong> !n FPGA co a'ningN logic blcls a.d !<br />

ner wifi N sinks. il every sink could b. m!r.! using jusl de ooting ii $e bin<br />

containing de sink, therunih. conplcxitt l<strong>or</strong> tlE ncl would be rcduced bya fact<strong>or</strong><br />

olN too(NlosN).Tbis k asuminSih$th.entnesutngtleoneveihasto be phed<br />

b.ck onro rhe prioitt queue. In calitr. rh. ouring trce will have !o be placed b.cli<br />

otrto thc p.i<strong>or</strong>ity queue at lBst ! iw timB, $ we *p*r the b€hrvi<strong>or</strong> lo b.<br />

smdh@ in h€lw qNbsN) and qN2bsN).<br />

3.].5.1 RoutinsArchit€ruEand CiEun Si.c OepcndeM<br />

F<strong>or</strong> rhc simplc <strong>or</strong>chil€rurc, qhich anr.inson<strong>lt</strong> unnrcn8lh lmk segments. w.lound<br />

biniinS ro bc highly eff{rive l<strong>or</strong> rcducirg th. compile lim.. Through


c\f{riDctrhri<strong>or</strong> viI birrirs.ro ri'r i<strong>rl</strong> (r <strong>lt</strong>'o-nrc$cofinilc litr'c itr'frovcd bt<br />

50oli on av.rug., cmparcd ro jle Ning . <strong>di</strong>Ectcd sEh withour binning.<br />

UsinS $. emc circuits wilh our 4000xrik ehit6rure, w found th.l binnins *6<br />

longer.frslivc l<strong>or</strong> rhe following tso Fsns:<br />

By packing acircuil intoan rrchit*tuE containinss logic block wirh four 4-<br />

L!Ts, lh. numb& oa pins on fic hidcn f.noul ncr is ,!nuc.d by up to four<br />

tin.3. @mpacd !o a logic blcl with on. 4-LUT. Als. rh. .o rh.l rhc<br />

high6r luout d sn coEr is rcdued hy lour timci In total. @ring tfie<br />

highci auour ncr urirg rhc 4ooox.likc arcl,it(rure is .ppui'ndcl, <strong>or</strong>c<br />

siirscfrh as <strong>di</strong>iicuh €frparod dutin! fte sane net qsing lhe simple<br />

a..I!D..3i.|:ji!E!bd.)<br />

VJ,r<br />

.!#'^---,:...-<br />

lrnrFtdE'D!4Fu@l6GF)<br />

Figurc3,l0: MBI Vs ConDile lime<br />

Fi8!rc 3.10 shows the ninidub bnnins ldout (MBF) v.6us conip<strong>rl</strong>e he<br />

t<strong>or</strong> r@ cncuirs. l<strong>or</strong> rhe sinpl€ archit cluE. Th. mau.t cncun.3p<strong>lt</strong> shows<br />

almon no impov.m.nl in @opiL !i:6 rh. mB. of MBFS The bi88cr<br />

ciauit, clm, shos a spedrp ofrbout I li66 f<strong>or</strong> the msc ofMBFs fom I


2.<br />

lo 400, conlp<strong>or</strong>ed ro tr<strong>or</strong> binoing ony ncts (MBF ol 1000). Therelbre u c0f<br />

concludcrhd Ihrd<strong>lt</strong>crivcnesr olbinningJeFnds on t|t lizc oflhc otrrirU<br />

Tfie 5&d lwn fid binning is n<strong>or</strong> Gff<strong>di</strong>v. is d!. ro rhc eBmenred @urii8<br />

archn4ture olrh.4000xJike <strong>di</strong>it*iure. The simpl. !rchhduE @iuos<br />

jusr sinslelcislh secmen$, !hich fit ifio c\aclly onc bin. Th€ 4000x-like<br />

archhEtuE conhins v<strong>di</strong>ous l.ngrh *8m.nts. shi.h do n<strong>or</strong> alMys lit imo<br />

.Ectiy onc bin, F<strong>or</strong> exampl., r longlcnsrh tmct s.sme day co$ l0 bi.<br />

boundalies Alicr pleinslh. contenls oia bin back o.lhe p <strong>or</strong>nyqucuc, il<br />

rhc murer decid.r ro .rp6.d a log-ldfo sgmcnr. thq all ol outins<br />

E$uffi art chcd ro the l6e-l.n$h $snEnr musl bc pl4d on thc pri<strong>or</strong>itt<br />

quem. comp<strong>or</strong>ed ro a single-l.ngrh lmck slncnt, a lona-lcngth tock<br />

e8m.nt k rttach.n b ndy m<strong>or</strong>. rouling reso!rcB, rcqui.in8 nuch m<strong>or</strong>c<br />

lin. ro *pdd .ll of$. ftight<strong>or</strong>ing Esurco<br />

we rricd oulins circuirs on rie 4000xlike !rchirccturc wirh rhe loig.lenSrh<br />

segn.nc rcploced byquad-leneth sgm.nls, and srill lbund binningtobe inelNriv.<br />

TlE nducrion in th. sia of th. r'Dblm oprcd ro bc $. d@intiins fet<strong>or</strong>' F<strong>or</strong> rhis<br />

wo rhc la4.tr iv.il.bl. b


on<strong>lt</strong> wirh rhe 4000x-like arhiteturc, sincc n contai.s a segmented rc$lirg<br />

archirectuE and a Ealisric d.loy mod.l.<br />

M.ny ofrh. rcuring alE<strong>or</strong>ithms d.scrib.d ii Chnprcr 2 arc completely rctrhbi1iry.<br />

drivcn: iEy do n<strong>or</strong> m.k€ .nt .(.mpr ro oprimizr circuit delay. Thc pmblem sith<br />

omplcrcry iemdng d.lry is that th. whing carcln dcbys 6 be cxtrfl.ly largc.<br />

F<strong>or</strong> .smple. in comFing rh. ouhbilily-<strong>di</strong>vcn vPR @urer to ine d<strong>di</strong>nsiriv.n<br />

VPR rcrei rhe.ncuitdelrts f<strong>or</strong> 20 MCNC circuirs wcE 1.5 to 5 tirneswoM f<strong>or</strong> thc<br />

@ur.bilir!-driven rcuter 1271. Arthe<strong>or</strong>h.r.xlEmearcfully palh-basd timingnivcn<br />

rcllcfs, such 6 rhe rining-driven VIR rcurer, thal use iullpalh-based limirg on<strong>rl</strong>ysis<br />

loopliNizc cncuitdehy shctr b'ling.ircuils. !hcliming'driv€n vPR rculq eqrncs<br />

i trrrb$ of ncmrions (<strong>rl</strong>Tislly 6 ro l0) l<strong>or</strong> n.ls ro srccesfully n4otiate l<strong>or</strong> tu us<br />

ofiini4 &hical €sources (e!en f<strong>or</strong> low+tK ouling poblens), which lcads ro<br />

A oiddle grom4 a<strong>lt</strong>etuiile aptech b r n.l-bsd (s opposd ro a patlrbas.d)<br />

iptrcach. Heft we sioply *<strong>or</strong>k to dsur th.r no n.l hs an ov€<strong>rl</strong>y long dela). W.<br />

tcrm lhk kind of appm.ch liming-asarc",6 opposed to rully palh-b4ed rining<br />

drivdn. While a timingawar. ap0o.ch may not be able ro dhieve.s high-qudlity<br />

ctcuit delrys a rhose ofu timin8-dritcn rcut.r,tne circuil delays willbe sisnilicdny<br />

impnivcd ov€r purely roubbilirynrivcn rculc*.<br />

In rhc nert tm sstions *. de$.ibc r*o cntanccm<strong>or</strong>s ro rhc vPR ouring als<strong>or</strong>ithm<br />

ro r*e ir r timirg-arvaE alB<strong>or</strong>nhm.<br />

The mosl comhon wa, in which d.lay i5 buih up in a iet h b, connectin8 a llrgc<br />

runbs of pass rEnsisl<strong>or</strong> ssilchcs in scries. since lhe deloy though pa$ tran$nots<br />

6l


3tu8 quadEri€lly a rhe nunb.. <strong>or</strong> pB r.usisroA inc:ru [r,tl. Thc dchy <strong>or</strong>a<br />

n.r @ bc impbved by .voi<strong>di</strong>ng tong equcnccs of p6s traNino6 lnd using eme<br />

bu,icu ins@d. sircc the delay thrcush a numbo <strong>or</strong> bulls sbs tina,ry.<br />

Filuc 1,12 shows rso qanptes f<strong>or</strong> rcqring . rw<strong>or</strong>qminat ncl using r nrixture <strong>or</strong><br />

pas tft$isr<strong>or</strong> hd bufered swirches. Using rh. Etn<strong>or</strong>c detay oodct.lh. dc !y oirhc<br />

n t in Figurc3.|2(a) is |.375ns. tloncofrh.posrEnsist<strong>or</strong>switch*is Epte.db,!<br />

bur€r, rs 3hoN. in Figurc l_ t 2 {b), lh.n th. d.tay dc.€as b L l2tB.<br />

IIIII<br />

(!)rb<strong>or</strong>Ddf,l.r1afi<br />

figrr 3.1 l: Er.D0l6 ol muliiS ue !6 tptrsilr<strong>or</strong> ard bur.,.rt $itct<br />

On€ sat in lhich long s€quocG of pss t6.shr<strong>or</strong> sNilchcs sn b. .voidcd is b,<br />

colntirrglhc nunbq olpastmnsisloF used ro rclch a particu<strong>lt</strong>r @uring rcsourcc ed<br />

add nslhccotrn inlo lhe cosr ru.crion ued byrhe rourerin Equrtion O,l) Vhm rhe<br />

nunbd <strong>or</strong> p.$ r6osisto6 g@ws lar8e, fi.con ofrhe cuF. pdh *i b.coEe v.ry<br />

cxFrriv.. calsin8 rhe ourr ro rry b ri.d ! pdh ihd u5 a buficrcd @urcc. TtE<br />

numb€r <strong>or</strong> p.$ tr.Bislou rh,r aE i. . *qocn@ is squaEd, lik lhc Eth<strong>or</strong>c d.tat,<br />

b€causc this is NoN @lislic rhd simplycounrinS pa$ uansisrou.<br />

Flgure l.l2 shows ai example ofhos deswirch counr is calcutared &ch squene<br />

of p.$ t&sist<strong>or</strong> swircb.s. spard.d by at lcasr onc bulier, is counrcd and squaEd.<br />

W. d.fin. Swarctcoun(n) 6 rh. $m ol th. nonbd of pas lmsisr.4 in dcn<br />

$qNE squs!. uscd b 6h noa" , W. "aa m S*;r"t'C-m ro t4rhn O. | ) s:


d,tl


To dd.mine rhe b.sr vdrc ls $.<br />

hctr!lnn l cirutrirs o\iIg vrh'c\<strong>or</strong> !<br />

tr<br />

otr<br />

tro<br />

oo<br />

P. k 6urcd a iunbs oi<br />

i-.-.",,. , . t, , ,.,, -, ,<br />

PL<br />

FlgrE3-13: ErnDl.of S*nch su.r<br />

wc m.rsured thc rvcmgc compilc rim. ond ciEun debt f<strong>or</strong> toN{tr.s ed <strong>di</strong>ficlh<br />

FiguE 3.14 (a) shos. pl<strong>or</strong> offi. iv.r.g. compil€ time ed circln dchy leuB p,<br />

l<strong>or</strong> lo*-sa @ft8 prcUqs. The @pil. ime ad low-srB peblcms inclwt<br />

s lhc value of 0 i.crc66, As p incE.es, th. outer ri6 incBsinsly hader lo find<br />

p<strong>or</strong>hs wirh rewq pa$ tBnsisr<strong>or</strong> swirh6! Equirine m<strong>or</strong>e co pilc ine, The cncuir<br />

dcl.y l<strong>or</strong> lolitEs pDbLms is hislEst f<strong>or</strong>. p value olo.0, sinc. thc mul€r d@s not<br />

rty dr tit nlion lo minimizi'3 rhe us oft$s hsistd swich.t, F<strong>or</strong> dy valu. of 0<br />

stale. rhan 0.0 rh. circun d.lay n nsr ils mi.imumi sine lhcE is litt]e rouring<br />

con8ceion. rh. ro(cr has m easy rifr. lvoi<strong>di</strong>hg rhc tre of ldrg so<strong>ics</strong> of nas<br />

FiguE Ll4 (b) showr ! plotoalhc rvs.g. ompil€ time dd circuil dclay v.6us p.<br />

f<strong>or</strong><strong>di</strong>mcu<strong>lt</strong> nulins poblems. The @npil. timc f<strong>or</strong> <strong>di</strong>ticull prcbl.ms increases as<br />

th. value ofp incrcbes, ryain due to rhc iicrcaing efiod by th. rouler to lind parbs<br />

*ilh fevs pds rEnsist<strong>or</strong> switches.lh. circuh delay f<strong>or</strong><strong>di</strong>mcuh poblems is fti<strong>rl</strong>,


lms€ a<strong>or</strong> r l, lalu€ o10.0, lince lhe o!r4 docs not pry.ny.{e.tion to ninimizirs<br />

rhc u5e <strong>or</strong> p&ss tonsisr<strong>or</strong> swilch6. t<strong>or</strong> hy valu6 of P bctween 0.0t and 0.4. nr<br />

circun d.ht is @. its minimum vatu.. Th. avdB. circuit detay $ns b incrc.$<br />

significan<strong>rl</strong>y a<strong>or</strong> values of0 Bcarer rhan 0.4. A tarce p lotue caus rh. Dtrter ro us.<br />

qp h6t of rh. ial murins abur6 f<strong>or</strong> rh. neis rculcd tiRr; lhis dal6 it <strong>di</strong>trrcuk ro<br />

olc lnc rcm.iring neb wirhour usine r ldse numbd ol pas rronskr<strong>or</strong> svitchcs.<br />

since the ovting pobl.ms .rc <strong>di</strong>mculr ond theE h a timited numbd of bufiered<br />

Givdn <strong>rl</strong>lofllrc dat. f<strong>or</strong> both low{re$ lnd <strong>di</strong>lfictr<strong>lt</strong> routin! problems, we chose ro<br />

usedssirchc<strong>or</strong> $.ighrol0.l r<strong>or</strong>rh.4000l-l'teJrhirccrurc<br />

!"<br />

e<br />

Fisure3,14: Avemg. compile time v!, t, (r) lot4lB reutllg probl.bs<br />

(b) <strong>di</strong>rr.l<strong>lt</strong> relllng pmbLn$ l<strong>or</strong> ao0ox-lit tr.hiftCrurc<br />

Ov.mll. rhrelgh cxpcnn.nLlio. on lh. 4000xlike dchireim, jun osirg s*itch<br />

cou{irg impbvcd rhe circuit d.lay i<strong>or</strong> <strong>di</strong>ficuX problchs bt d av4age of 187c.<br />

conpdrd io rct uring r*ncn ounring. Fq lou-stB pnblm, rh. ciEuii d.hy<br />

mprcved bt .n avcrage of l2%. coinpaftd ro not using swnch co0nring The exrk<br />

I<br />

1


cstxmiotr onctutnnrs nquirud hy srituh cotrflil8 ircroasl re c{nrp( rDc Dy in<br />

dv.Bge of 96% f<strong>or</strong> <strong>di</strong>fljctrtr pbbt.ne and by rn average of 47% f<strong>or</strong> bB5rEs\<br />

problctr's. @rrp!rcd !o not usitrsswircheunrins<br />

1.,1,2 Tnct Scgn'.rt Ulitiai<strong>or</strong><br />

a.sid$ avoi<strong>di</strong>n! long chaim ofpa$ rrunshr<strong>or</strong> swirchcs, o<strong>or</strong>hs sour€ of dctay in<br />

rcuting k cau$d by using rhe inoned lengh <strong>or</strong>rdk sego.nls ro @ch a sint.<br />

<strong>lt</strong>iliaion is duftEri as rhc tcn8rh ota lmck *gh$r thal h !crua|, rcquied ir<br />

makrnt a conne<strong>di</strong>on <strong>di</strong>vid.d by $e lot.|.ngrh ofth. r@k sgncnr lfasin[ liesj6r<br />

on.lolic block alvry fDm $. eurc€, thcn usinSa t<strong>or</strong>ljen!1h &gm.nrNi rcsutr in<br />

crt! dclay ir rhar ncr. Conv.rety, ifN 3ink li6 oi thc opposit sidr offi. FPCA<br />

liom rhs burc., rh.n using sinSle,tdgth sgmenr5 lo so a rh€ way .cD$ thc fpGA<br />

wil ols<strong>or</strong>esuh in exrradelay t<strong>or</strong>thc nel.In both rhesccises. rmc{ segments arc usd<br />

impDp.tly and unnGsry dday is addcd to lh. @nnerion. Thc sNnch cou ing<br />

cnh0fcotr,c <strong>rl</strong>rc y ci$'rur rtri nrrr uDh0<strong>lt</strong>ijri lrilk $g cds r4 rodcd ln,<br />

log cnn<strong>di</strong>onr. Bur sincc ciEuir, usua , otrrain any sb6.l krv{trotr(<br />

conncctions. ir is also inponam ro choose segmcnrs b 3o snon d6l.nces<br />

As ftc.rioned in €quation (2,4),lhal $e b.s cosr is rhe expense t<strong>or</strong> Nir)s. Durtrs<br />

esu@. F<strong>or</strong> our riBplcdhilcrure, sine .<strong>lt</strong> of dc.lEct esmcns e umr |.i8h,<br />

we os. rhe em. bae c6r5 as VpR fo, rh. sinpte ehndtue 6 shown h t:rbtcl.l.<br />

(he inpur pin has a stisnriy towcrbasccosr. so rhar rhc 6uler wi| cxpand inpur pins<br />

hef<strong>or</strong> <strong>or</strong>her ro<strong>lt</strong>ing resourcet.


TrbL3.3: E* 6. ot{tin..rr reurh8 @rB<br />

llslot<br />

r<strong>or</strong>b brod;t;i;; r.(x)<br />

rqic bro.r iiDurt; 0.95<br />

t.0t)<br />

"d'I-<br />

-d.99-nF--Tmt0oo95i6<br />

F<strong>or</strong> u FPGA wirh . e8ft<strong>or</strong>.d o<strong>di</strong>ng ftt rccruE, h.vin8 tB qpqrk h.$ cods<br />

fd shdr.r stnhc.N!r.. dlr rtE <strong>lt</strong>Br.t simnr wi<strong>lt</strong> bG c||os w|..n rh.F e<br />

mulriph sSnnc rh<strong>lt</strong> @.h rtE r..8.r.i.tq ytjcl b quiv<strong>lt</strong>ar ro rh. @c.rt ot<br />

uriliario in $. SECA our.r 122J, F<strong>or</strong> rh. ,(X,OXnit. shirduc. w !.r rhc b.e<br />

osB <strong>or</strong>shdtd rEd s.!n.rb lo stiSht, sm.lkr ut6 rt n rI. @ @ns ofloer<br />

rn x eShqt' a tbt d in T.bt. 1.3.<br />

An.hpk ofrh..tT@r ot <strong>di</strong>ir.dnl b.* @sts b.shoM in Fi8!rj.tj, In fiis<br />

.rdpc wc.d t<strong>rl</strong>in8 ro Dul. fbo d. $u@ of. rcr ro. r!,!cr 3ink rh|t lns rh<br />

units .w.y. W. c@td us le si.gbnoglh stDdc ro Eadr tnc r.rgd.<br />

Al&rn.tvch E co{ld eh th. uB., wirh jus <strong>or</strong>c ddbtot n8ti, qodldlrh, d<br />

ro.g-l.n8th cgmnr, In rhh @, ir o*B rh. nost *re ro !s rh. ddbtc-togrh<br />

sgn.nr siBc n ir docs not w.5r. an, pan ota wiE ond @hcs rhe,ink <strong>di</strong>ftiy, tf


tlE qo*llengrh <strong>or</strong> long-logrh $8hc.r *crc ctrscn, ths al ted hrtf of a .Eck<br />

s8'n€nr mlld b. *dr.d. si@ lh. @sl ot rhc doubletengrh egnsr is rhe<br />

ch€06r. ir NiU b€ chNn. tf att rhc sgncnrs hrd ! b6* 6t of | .0. rhd dy of ft.<br />

sgncn(s could b. chGn b @h rh. r08.r 3ink.<br />

Ficurc3.15. EunrDleof tl'.nfiel <strong>or</strong>ttificrcnt b.pcosr!<br />

Throu8h expe.imentation, we lound rhar f<strong>or</strong> <strong>di</strong>flicutr rouling prcbtems, lhe circuir<br />

delay inpoled byan rve6g. ol t1y..@mplEd ro n<strong>or</strong> usinsrheFgh. uriliation<br />

trhdMcnl- Simila<strong>rl</strong>y, am tow.nBs ouring probtcmi rhc cn uil detay inproved<br />

by !n avmge of57n compard ro ml usins fic sBnenr urilizlion dhdM€nt.<br />

3.5 SUMMARY<br />

ln this sarion. we d.$ribe ft. rwo FPCA dEhn(tuG we us.d to erpe ment. we<br />

describ. rheo heE becausc dct.itr<br />

undehtatrd Duch oflhe mareriat in<br />

lbour thc sinple FPCA archirecruE.<br />

.rchirecture in rh. chaprer 4<br />

ol lbc tqo <strong>or</strong>chhectuEs arc rcquidd ro fully<br />

rhis choptq and b Cive a cle compEhcnsion<br />

bef<strong>or</strong>c wc sl6<strong>rl</strong> 4peimffis using clusrer based


CIIAPIER tl<br />

CLUSTER.AASED FPGA ARCHITECTURE<br />

AREAAND DEALY ISSUES<br />

..I TRADE.OFFS IN CLUSTER.BASED FPGAS<br />

Muct ollh. spcd dd @


leb. This Eduas rh. si4 ot inc da@dt lnd @lring Fon.n. ed h.ie d6igi<br />

.onpilc rim., & inc@ingty inpotul @ncm 6 rh. togic c!p..ity of FpCAs ri$s.<br />

Fiially. chsr.rbrs.d togic btcks d inpbw FPCA sped cohp.,!d io 3inet.-Al€<br />

lo3ic 6lats by r.ducing rhc .umb6 of qnarions on lh. crhiql ,!rh lhr mu$ b.<br />

Eur.d b.lwdn loeic blal6. W. G inr.Grd in l*o 6p.crs qc.mins $. d6is.<br />

<strong>or</strong>cluj.rb.!.n bsic bksks.<br />

L<br />

2.<br />

Hos hdy LUTS should b. imtud.d in a ctcrd ro @r. FmA, wirh rh.<br />

bci @mbin<strong>di</strong>o ol sped and lMafitci.rcy?<br />

llow ooch is rh. rin. E{oiEd b @mpatc a circuir !ffdrcd b, <strong>rl</strong>r si* of<br />

4.2 ARCHITECTURE MODELING<br />

h rhir Flio w. fisr d.eribc rhc @ rid d.toy modch rhar k u<br />

v.rious chsar bos.d FPGA rrchiaduG. An r rhis K (b$rib. rh. .frd rh.r<br />

v.ryinS clusrcr sia ha on *8n.nr td8rhs, .nd lmnsiso. iizjns<br />

Thc tea mod.l thrt w. us b b4d on co.rine rhc numbcr ot,ninimum-eidlh<br />

r66asr<strong>or</strong> 16 r.{uiEd ro idpt.mc .&h FPCA archir.duE. *hict is d. enc<br />

dodcl 6 *6 u*d i. I | ]1, A mininuh-widlh oosisr<strong>or</strong> !M is sinpty rh. t.your @<br />

@pi.d bt thc sm.llet tdsin<strong>or</strong> rh.r on bc @,ll'cLd in a p|oss. ptls th.<br />

manin!'n spEing ro lnolhq rrurin<strong>or</strong> abov. ir lnd ro irs ighl By @unring rh.<br />

numb.r ofninimum-width tr.nsistd !E EquiEd lo inpt.m.nr.n FPCA, Dth6<br />

hrn thc numb.r of sque mico.s rhat de ldnsistoF @td Mupr. E ohrnin .<br />

D@$-iidcp.nd.nt 6tim& of rh. FPCA .u. Thc @ mod.t rh<strong>lt</strong> e uF is<br />

dcsribcd in dcbir in llll, W. us a p6sM a .d Tonscounr. ro d<br />

72


of ! .lonc-brs.d logic btek (inclu<strong>di</strong>ne $c let ctus@ rouling) wilh !n, v.trcs of<br />

clusr.r ezc (N), lookup abt. siz (K), togic inpuE (r). ud ddk inpuc (MLo Thk<br />

|,rcgrd! hodeh such efecrs ds bulld Esizing as a funcrion ofthe fanour of rhe<br />

conncction, within r loei€ btock..nd buitds mulri-sbge bull.s wh.n hiSh driv.<br />

stE glhr .rc rcquiEd. Sin€ rh. ae ot .i FpOA inctud.s bolh tosi. btet .rc. .nd<br />

dut'.8 r@, E us vPR to d.rcmiB 0r r6ci$<strong>or</strong> ounr of rhc @ t t.n by fir<br />

buring l<strong>or</strong> .ach FPCA of inreBt. md by rd<strong>di</strong>.g lhis .M ro rhc loeic bt*k @ ec<br />

obt.in th.lolal FPGA arq.<br />

.l,l,l Dlht Modcl<br />

llN dqhtsofrhccomccriotrs wi<strong>lt</strong>riI to!icctusrcNwcrc tiNrd tjy tsni,rniigst,t(.I<br />

simul.tions using TSMC s o.t5 um ploK t<strong>or</strong> e.ch stocruE in lh€ ctuncr_ Fi8rrc<br />

a,l shos |h. oaj<strong>or</strong> iretuB.nd sp.cd parhs in . losic dsc. tmpodr dctry<br />

v.lu6 lhtugh rhjs d[ns c 5ho*n in T$t. 4. |.Thc .rchiktuB @ftspoi<strong>di</strong>ng b<br />

th. numhcu shown in rbis ubte hod th. numt r of inputs per d6B s lo fie numD.r<br />

ol inpuls requn d r<strong>or</strong> d av.6sc uiliarjoi of98% (which is shown in s.ction 4,3,2)<br />

wh.n lhccircuits are prked wilh T.VPack.<br />

Trbl.4.<strong>lt</strong> InD<strong>or</strong>i.ntiot.r-ct<strong>rl</strong>i.rd.trytln TSMc'r oJS mn CMOS prM<br />

It


vPR hd a buih in dcl.y estimd<strong>or</strong> lhat uss! mo<strong>di</strong>ficd Eln<strong>or</strong>c delay []3lmodelb<br />

.sriod. th. delay ol dh @nnrtion in lh. outing<br />

Flgur.4.|: Sfucrnread sndd prtts ofa loSic clust.r<br />

'l h? mo<strong>di</strong>ficarids ro thc EI6o€ delay <strong>or</strong>. d*ibed in [38], 6tu1 !c ech $d ir crn<br />

b. led ro esrioatc d.lat of ci<strong>di</strong>ts onloini4 bulT.ri Eisr<strong>or</strong>s. &d opeitc. ARcr<br />

.vcry connslion s dclay in $e ci4on hrs b€€n comDuted. vPR pcrfoms a prill<br />

bas.d rininganalysis usingfies ibG(lunr conn{lion dela} valu.s (Elm<strong>or</strong>e d.lay)<br />

.nd intE{lsGr d.lry v<strong>rl</strong>u.s Oablc 4. | ), A full dsiprioi of th. rininsda<strong>lt</strong>r.<br />

osed in vPR isavlil.blcin(lal<br />

4,2,3 E<strong>lt</strong>cct <strong>or</strong> Clu<strong>rl</strong>er Sir oo lb. PhFlc.l L.lslh oIFPGA Rouilng S.gnen|!<br />

As B. inc@ thc clun.r size, b<strong>or</strong>h th. logic tra ps clustc. ed rc<strong>lt</strong>ins !rea pcr<br />

clu$cr sFw. Fisuc {.2 d.monsd6 hd .lil. (a logic blet plus i6 asi.t.d<br />

rcuting) srows as clu$cr size is incksd. This incEased ril. siz. rcsulrs in outing<br />

$gmena si$ rhc sa e losical l.ngth having <strong>di</strong>rTerent phtsi..l len36s nI logic<br />

cl6tc6of<strong>di</strong>ff.c 3iz.s, W€ dclirc fi. n.6!rcd ldA.h of! outing eeDed a ils<br />

ph}sidl lengrn, Thc Bisoce od Fp*ir'n@ of r rouring sln.nl cre* li.car<strong>lt</strong><br />

:t


lirh rh. *gncnl.s physic.l l.ngrh. W. h.v. dp<strong>di</strong>oqLtty d€hined thc rv@A.<br />

mr. ar whi.h rhe FPCA ril.s gbw wirh ctusr$ size, and hrvc u*d lhis intomarjon ro<br />

apprcprid.<strong>lt</strong> scale thc ouring ssmenr rcsisrance and .lpacit nc. v.hr.s f<strong>or</strong> rh.<br />

various clus|a si6. Th€ ifttle in fi. Bituc. dd qpacibE oj ourina<br />

s.em.n$ ar lhesizeofrhcFPCA logic blek incmses i!.i ihpona .|Ier rhar has<br />

onen b..n regler€d in pri<strong>or</strong> FPCA ahirerrc research,<br />

@+<br />

Fl8!r.4,1: Efi..r otdBr.rsizotr pbyri.rt Llgrh otmlrrr8lcBncrs<br />

!<br />

CtulM Su. C\)<br />

Figur. 4,3: f,fa€cr.ol.htr.r 3ire oo lll. l.nglh<br />

l,:


h FiguE4,3 *e siow expcinenEt rcsuls shosing rhc cfTccr otctuster!iz.on riLu<br />

l.nBrh. We us the <strong>di</strong>o offt. &rual v.lu.s in rhis c!rv. ro &cumrcty scale rouling<br />

egnqr lcngrhs f<strong>or</strong> <strong>di</strong>feEil clu$q siz6.<br />

.1.2..1 SizirB Rouiingfmlsbton lo Comlen$t.l<strong>or</strong> l<strong>rl</strong>fle.ent Phyricrt S.gncnr<br />

To Dotrrtcrsrrc l<strong>or</strong> <strong>di</strong>rcrcNcs<br />

ir FPGAs using <strong>di</strong>ficEnt sizcs<br />

(hc qt&ilaDcc lnd rcsisr$ce oiruoting scgmcft<br />

losic cluster! we sc.l.lh. rouring po$ lmnskoN<br />

and hff6. All 6f our pass rBnsistc ed bufter saling is in rel<strong>di</strong>o ro a be<br />

!rc[nelurc thar has bcn <strong>or</strong>er-dclay oprinized r'<strong>or</strong> cluslcE olsize tbur. From lhh<br />

ba* architcctuE, we lin6<strong>rl</strong>, @le @<strong>di</strong>n8 buftrs and pls rarsistou dcFn<strong>di</strong>rg on<br />

rhc Elarion bctwco rhe ncq s8ne l.nerhs and rh. blc segmcnr l.ngrh. F<strong>or</strong><br />

example. in !n FPCA wnh size 16 clun.6. rhe physiol sesdcnt le.glh h<br />

lppoxnn.tely two rim.s lotrgcr rhe in .. irchnNtut whh siz. 4 clusre6. To<br />

hointain oushly the sde speed per ouritrg sesmenr, wc incrcase the size <strong>or</strong>rhe<br />

ouling switch.s @nnecling ro ah wiE by a lebr of 2. In Serion 4.5 wc verify thd<br />

fiis lire sling of buf|u lnd pa$r6osisro6 wnh phlsical s.emcnl lenslh<br />

prcvides good rcsu<strong>lt</strong>s. VPR mod.h chang.s in delat eusd by resiring bulTe6 ard<br />

pasr@siiou in rh. ourin& lnd it ale .oudrely mod.ls the aE rcquiEd f<strong>or</strong><br />

<strong>di</strong>lTdrentsizcsolbuti'rg pds$l.o.sisr<strong>or</strong>s d buie6.<br />

{,3 FPCA ARCHITECTURAL PARAMETORS<br />

'to evaluarc rhc sp*d and ar€ ofan fPGA enpl<strong>or</strong>ing logic clusrcts fo. irs logic<br />

bl@ks. we nust ch@s not oily thc losic bldk architccture, but .lo r mutinl<br />

ehn@r!E. rotuhbr siz.s, ed rh. flqibilny of fi. logi. blck b Mtins indfc.<br />

'lhc followinS s.crions delail thc archir4onl paramereB uFd in ou cxp<strong>di</strong>ments.


We inEnigat island*ryle FPOAS in ,hich ech logic clusrc. is sumund.d by<br />

nntrirschlnrehotr 0ll rbur sidcs witn rhc losic cluncr inpui dnd ourpt<strong>rl</strong> pins ev.t<strong>rl</strong>y<br />

<strong>di</strong>sriburd aound rh. logic clusLr Frituicr. Tfiit typ. of FPCA *d dsib.d in<br />

Sculiotr 2 li<strong>or</strong><strong>or</strong>cr|*ri'ncrNclchci,cun is LnrD[cd ro <strong>rl</strong>r inlllsr *t0f ['(iA<br />

$irh Lnou8h loG'c !lL{6rnd I/O p'd. roac{nmodde i. F<strong>or</strong>ourcxpc menb.}u<br />

vlry thc nrhbcr ol l/O p s pg row o.cdluhn dopcn<strong>di</strong>ngon thc clu<br />

l.rgecl(ncrsize rc{uircs le*s clueculo imple'reila given circuir. wt rcqunc m<strong>or</strong>c<br />

l/o pads p$ Dw o. colmn. we sci the numbn ol l/o pods p.r Fw ot column ro<br />

tr[in; rhe n.nnf(_oflO prJ\ nc' rc$ o' !.lJnr<br />

wirh th. above equation kept lh. lolal .umbd al l/O pads Dlgl'ly rhe $sc lb. ..ch<br />

FPCA archiletue, indep.ndentoftheclund size tha( isrsd. R@llfod Setion<br />

2. | .I that wc @n dee b. r logic clui.r wilh aou p.rmeleE: de nnnb.r oa lqic<br />

inpuis (l). rh. numb.r of BLES (LUTS dd t.sisicu) ii a clusGr (N). th. nudbtr ol<br />

cl@k inpurs (Ml0. and $e iunbffofinpurstoeach LUT ((). In this chapls we fix<br />

rhc numbsofcls<strong>lt</strong>percluJr.rtr on l<strong>or</strong> lll our cxFrimcnls. sine $. MCNC<br />

beNhnli( circuits re ue lo.valualearchhectutstll have on<strong>lt</strong>onecloqk wesel<br />

lh. nunbs oa inputs lo @h LUT. K ro 4, since ptvids 'tgrch hd shown LUTS oI<br />

thissize arc rhe most .t$-eincient ll4l, ond bectusc this is lh. LUTsizc ulqd in<br />

n6r @hncEial FPGAS wc dcerib. how wc ter th. numb.. of i.puq l in thcncxt<br />

4.J-2Inpub R.quind s, ClutLrSi4<br />

Prcvious s<strong>or</strong>k []01 has csmin.d rhe isr of ho* manv cluu.r mpuls..c requ'd<br />

l<strong>or</strong> 98v. l<strong>rl</strong>lizalion ofthe logic clute6. Thh resetrch, howe!.r, used VPack b tup


loSic irro fic clue6. Sine w G Bins T-vpac} <strong>lt</strong>g<strong>or</strong>ilnm f<strong>or</strong> F&tdng i. ct6t .-<br />

bcs.d logic block .xp.dm.n!s, ed b.caus we show.d fi{ T.Vp6ct h6 b.tlcr<br />

utiliation thdn VP&& n is prudd ro c{n rhe *p.im.nrs *nh ryper. Fisuc<br />

.r,4. We ue th. T.VPack E$hs of $k qp.rimdl ro $r tl'e numbc. <strong>or</strong> i.puls Fr<br />

clustq r<strong>or</strong> rhc rchrinder of.rchi|elur. stu<strong>di</strong>6.<br />

:; r0<br />

0,]-|6<br />

cluk se (9<br />

FIGURE 4.a: Inpuk requl&d l<strong>or</strong> 98% t<strong>rl</strong>illaiion K.lullcr Size<br />

.ll,J Rouliq Ar.hilaluE<br />

Wc dclim dc nunb€r ol logic blctt tl ! mting s.Bmc spans a de logiql<br />

higth <strong>or</strong> thar s.gmcnr. li [33] it is show! rhat 'n.ehite.ru,e in which ouring<br />

sgmo|l hav. logiql ldgrhs of I uirh 50% ol rh. rgrcnts onnar.d by ui-rel.<br />

buffcA dd 50/. co.nected b, pasrBBGto6. povidcs good rEa-.fficiency and<br />

s@ fd FPOAS @nraining logic clGl.6 olsirc t Tnii dtins aEhatftoG it shoM<br />

in FiguE 4.5. We implici<strong>rl</strong>y auh. rhrt this ouring &hhccturc is g@d lo.<br />

.rchiccruB.ontaining logic clueeF oi<strong>rl</strong>l3i26,.nd w. ue this Mting.<strong>di</strong>ccluE


in all <strong>or</strong>dlr.inoG. ld€lly. <strong>or</strong> wout nnd lhD bd mdng NhilccruE lo, cach<br />

FPCA ehplotins o <strong>di</strong>nicnt clustd sizc. bur ihis loutd Equir a huge rnou<strong>or</strong> of<br />

cllbd. B, b$itrsall o' cxpenn.nu on rhis During archikcrurc, wc maystishrty tdv<strong>or</strong><br />

nch<strong>rl</strong>eruBs wid tizc I c<strong>lt</strong>rs.c over<strong>or</strong>h.rarchn$ruG.<br />

tE;t<br />

.ts;l<br />

fiaur. 45: FPCA rilh Lnalh a $?r.n!, 50% buf.rcd ..d 5lr% ps in$itl<strong>or</strong><br />

{J.,r Fkihilily <strong>or</strong> rigi. $lct lo R<strong>or</strong>li!3 l<strong>or</strong>crcoutrNt v$ Clusrcr Siz<br />

f<strong>or</strong> d clu${ <strong>or</strong>size 1 [30] sh<strong>or</strong>ed that o gd vahre <strong>or</strong>Fr (rhe numbn ofrotrtibS<br />

rtuts lo *hich cach logi€ blNk pin 6 @nnd) is W (thc lolil numt r oa rftks i. t<br />

chdnel): This value olF! Neans rhal each lotic blocl pin c.n conn.ct to any outing<br />

r@kin an adjcmch.nncl. How.ver. fo.lrgc clus.s. strins F,lo W Dovidcs ftr<br />

n<strong>or</strong>. murinB ll<strong>di</strong>bilily thrn i5 Rquir.d, *6rins ma.l33l round thar a n<strong>or</strong>.<br />

appoprialc lcvcl ofrourin8 fleribiliryresu<strong>lt</strong>swhen $c F.voluc l<strong>or</strong>losic bl@k outpul<br />

pins. Fqq is e b w/N, $ all fi..xp.rimqts in th. nqt $<strong>di</strong>on us rhis v.lu..


This lcin onc outpur lM 4h chuing lh. appopriate valu. a<strong>or</strong> F(,s involvus<br />

tir<strong>di</strong>ng <strong>rl</strong>e b.sl rBde-ofIb€rsecn kack sidth a.d arco p€r rck 6lollows:<br />

I As li! @is incE&:d, lser krcks are EquiEd to i'Dplercnr a Eivci circuir sirEe<br />

rhe rour.r h6 m<strong>or</strong>ccho<strong>ics</strong> ofwhich k&k.rch inpur 6n @nnar to.<br />

1Elch r&<strong>lt</strong> lokcs m<strong>or</strong>c area os F. f,is incMed sine dcrc.n o<strong>or</strong>c swrcheson<br />

4h hl {Nok lhal oulingau i\ ddcmin.d b} ttnvst<strong>or</strong> a@. n<strong>or</strong> wnng ru<br />

Th.rcl<strong>or</strong>c, w. musr d.temine lhc poinl ar which th. be$ tadc-ofloocud. we havo<br />

nn cxp.iim.rts on si4 4. 8, 14, ed 20 clust6 to d€lernin. the b.st F"..dYtlucs<br />

s shown in Tal'le 4.2, .nd h.t. lin@1, int.eohlcd beNccn the cuhs iot olhcr<br />

clusrcr sizcs Nole, f<strong>or</strong> dese dperimcnts, we hav. noti€d thal lhe c ical Pa$ k<br />

n<strong>or</strong> !fid.d by li. F!.rB, v.h.s chM, 5 wc ch@s lh. F! '@ Yalr bds.n onlv<br />

T.bl. .1.2: Rolrirg .b B sq InDll f<strong>or</strong> vrno!! clNt.r !i4<br />

iu{rn6lsn{!dQio<br />

4..1 ar.hi|ct{r. f,uluslio! Mct<strong>rl</strong>.: ard.D.hy Ploduct<br />

ln is srion wc defin.th.arca-dclay prcdud meric. which w b€liet.. is u$lul<br />

.v.luring<strong>di</strong>|IcE trchihlu6 *ith csper to both sp€€d and tEo


h ftir stioi *. {Llnrc the rs<strong>rl</strong>clay pbdud mctic, qhich we aal is usful lbr<br />

cvllualing <strong>di</strong>flcEnt architeruEs si$ asper to bolh spe.d a.d a.a. This is !<br />

E son$le chiierure m.tic f<strong>or</strong> r*o Easois:<br />

* @r to nnd $. point d *hich w. rc ecificinBrh.16l imounl <strong>or</strong><br />

'.lnruitiv.ly.<br />

aEa fo. rhc 6ost itonolement in speed, Givd th.t w. can alwals tadc are. lbr<br />

sF€d and sp.cd f<strong>or</strong> .ra. i mat s sn* lo cmbirc rhcs (wo faqou inro <strong>or</strong>c cun.<br />

lo see whde rhe besr rade{ffec!6.<br />

lTh. compuladonal tn@ghpul olrn FPCA (on o paElLl alS<strong>or</strong>ilnm) is si'nplr rhc<br />

numbqollunctional unns nlhiplied by ft.clGk speed.<br />

Atu$er wat ofl@kin! ai this is Thceaoft bt ninimizinglh. o@idat Dodud. we<br />

Th.rc !e rwo moin &ctoE thdl on aff.ci lhe arci_delay Poduct ol ai FPGA1<br />

rmsisr<strong>or</strong> sizing and th! FPGA mhilcdue. In Scncml<br />

tne spccd old FCCA €i b.<br />

incddJ.d (to . pointi by sizins up de bull.6 sd tFnsistou wnhin lhc FPGA. bul<br />

rhis incrcesaH. Ancdrtively, ih. FPoA cd bf made smallq bvsizin!doNn fic<br />

bufleB dd tonshtos. bur this dcgmdes th. FPCA p.domuc.<br />

Thoughour rhh chaprcr, we *ill sik th.ldnsnl<strong>or</strong> in 4n FFCA .rchitslurc lo<br />

<strong>di</strong>nimirc rhc FPCA!.ron |ay prcduct. Only by Bi2ing tnnsisloF tDompdd.lv<br />

f<strong>or</strong> $ch archit@lut in lhis way con we f.ir<strong>lt</strong>smpulc the spced and area{incicnct<br />

ofFPCAS silh<strong>di</strong>lleanr loAic blak mhiLct!6<br />

4.5 SPEED AND AREA.ETFICIENCY VS. CLUSTER SIZE<br />

ln $h srion we studt ihe cffcct lhat varying cluslq sirc has on ihe.E! ind dclat<br />

ol implemcntarions ol de h..chmtlk cicuit. To obbin culrs. s. use rhe<br />

erpsrimenbl now f<strong>or</strong>20 McNc b6ch'n!* cncuiB,.nd we prdsnr rc g€onretc


avcEes oi $. r6ulB l<strong>or</strong> rh* cncuiG. F<strong>or</strong> <strong>rl</strong>l of t. e\p€ridcnE in rhis sccrion<br />

scr rhc numb€rofinput,l, f<strong>or</strong> a cluss olsize N b rhc minimum v<strong>rl</strong>uc rhil lllo*s<br />

vPNk to achiev. 08% logic utiliarion (a shown in Figlr 4.4). Thb value o<br />

allows Iulluriliarion of logic clustem. *hile keping lhe c<strong>or</strong>nplexity (hcncc mr)<br />

a<br />

al===-{--''*<br />

'hrrrrullMsr. -<br />

FigoE 4,6: Tot l .u vt clust . ste<br />

In Figucs 4 6 md 4.8. wc show lhe g@dc<strong>lt</strong>ic tvemgc over lh. benchhark circuiB of<br />

$e lolal rPcA da rcquired and 6e c i6l palh dclay, Gp€clitclv N<strong>or</strong>. ihal Ne arc<br />

shosing three <strong>di</strong>ff.c.t rc<strong>lt</strong>ing rdsisr<strong>or</strong>sizing in clch aath* 8.aPhs lo.nstrE rh.l<br />

w. do not unfrj t p.Mliz oy architccl<strong>lt</strong> wirh m inapp@priarc tnnsislq sizi.g<br />

The solid cuBes show lhe ared.nd delat when we Lrsc the \onnal'ranrisr<strong>or</strong> ezins<br />

dc*ribal in S6tioi 4.2.4. $hit lhe dlshed cuds show lhc E$<br />

tBnsGr<strong>or</strong>s rhar arc oN"half<strong>or</strong> double the size of those in thc "nomal'case Nomc<br />

rhrt wc on ind..d rade spcd fG sd by rcsizi.g @ting traGislo6 the ha<strong>lt</strong><br />

lansist<strong>or</strong> size rcsulrs have less.rc!, bur grcalerdelav thile $. double naisist<strong>or</strong> siue<br />

rcsu<strong>lt</strong>s h.rc lcss dclan but seid ad. FiglF 4 ? shows thc cll.ct llul hrving<br />

32<br />

T.<br />

<strong>rl</strong>


cluis sir has on the aM rquiEd lo imptemenr rhc b€nchma circuirs. A@ is<br />

aflirr.d bt so feb6.<br />

r. As sc incMe cluster sie up to about siz.9, rh. ouring EquiEmsrs b.rwen<br />

clustcN I cduc.d sine m.ny conncriois rc complet ly rbsded within $.<br />

cluslc6. Ane. si& 9, dE m<strong>lt</strong>ing ag b.gi$ to inc@. W. b€li.v. rt'd lh. 6m<br />

l<strong>or</strong>thir ncrease is b€eue lrrg.clu$c6 nlk ir <strong>di</strong>ficuh f<strong>or</strong> lhc pherbdo.Bood<br />

job minimizinB wiEl.ngrh. Tliis is rh. cu<strong>lt</strong> of @ch clusle. bcins annerd ro $<br />

mmt ncts that ir is slwing n.rs wirh c$.nrially evqt other clBlo, ll is rherelbre<br />

lik.ly th.t when th. pl*r nov6 h.s l&gc clutr.6 to ihpot. rhc siE-lcngh of<br />

ehe icrc, lhis sane movc will i.crelseth.wiE leryth ofnsn, o$s nels.<br />

2. As wc inc@ chsl€r siz.. rh. iobl rg t lo by lh€ mu<strong>lt</strong>iplexeE uirhin 6h<br />

cluster g6ws quddrdlically, but rhe numbd ofclusreN rcquied lo impl.nenta circuh<br />

is dcc@ing. Tnis Bu<strong>lt</strong>s in . lit@ i.c't& in rh. ioEl 'e tkcn by all rh. logic<br />

cluslc6, F<strong>or</strong> sullcien<strong>rl</strong>y ldgc cluste6. rhd arei rcduc.ions in rhe rculing <strong>or</strong>e<br />

ovenatcn by fi. i.c@$d Gn 4quir.d lo implenen( rhc largq d$L6<br />

\<br />

__-*_--*<br />

snponenkvs, crusler si4


FiguE4.8 shows th.t ci(uil spcd incrcsca signilican<strong>rl</strong>y as we incrca$ rhe ctusrc.<br />

3izc. As oN irc@ lh. clcrft si4 lM si4 I ro 7, rhc ciMir sp.ed npidty<br />

in


D<strong>rl</strong>duct r<strong>or</strong> clod.r si6 nm 4 lo 10. A .lujl€r ot riz. 7 h$ th. lo*t<strong>lt</strong> !@-d.Ly<br />

pbducl. bur any clBrer si- b.rwtr 4 rnd t0 k wirhin<br />

hlne *old bc ! E $mbtc choicc.<br />

l!<br />

t<br />

E?<br />

;5<br />

:7<br />

aa<br />

i<br />

0.:3<br />

0.2<br />

85<br />

12% ol lh. ninimum, .nd<br />

&grJaT@Msia +<br />

,<strong>lt</strong><strong>lt</strong>TmrdsiE*<br />

D<strong>or</strong>bLTl<strong>di</strong>dsE +-<br />

Flgurc 4.9 Au-d.Ly Drodml vr .lurt.r r|t<br />

Notie thd moddrc.si4 l<strong>or</strong>ic d@E siFilisdy inptDrc lnc en€hy poduct<br />

ofd FPCA vs. usin! a si.gh BLE loajc blo.k, Compuing a siz. 7 logic dsta (witt<br />

thc nomal o.nsin<strong>or</strong> 3izing) !o a sik I logic clond (wilh doubl.-sized tnniktc, rh.<br />

b.sr r<strong>or</strong> thb cl6rc ai4} oc s $n lhc siz 7 logjc cl6t.r h6 e en.ky<br />

poducr fi.r h 31% lowcr thm lhll <strong>or</strong>asia I cluslcr, An FPCA osing6 si4 ? losic<br />

clnar b simllrams<strong>lt</strong> 2l% fasre (. 17% d.L, r.ducrion), Dd EquiF 19% 16<br />

rM lhan.i FPGA uslng! si4l logic.luscr,<br />

l8


!<<br />

-':!<br />

6i<br />

,E<br />

3<br />

5<br />

l<br />

I<br />

0<br />

Ionr


aa\<br />

\\<br />

\<br />

'-**-*-<br />

v*^v-\-.-<br />

hri4!$dD.r,i '-<br />

FlglF4.ll: B€td<strong>or</strong>! olc.ilic.l tnl! d.<strong>lt</strong>y Inlo i.t.ktusl.r rd i n-<br />

crus.ermmDonerk<br />

Thit m€ns ti. circuir tD€€dup visablc h Figuc 4-l I fo. liAcr clustq sia is nol<br />

only q.uscd by 6 rcduclion in thc number of inre.cluster oonncolions on the citial<br />

pa6. bur ako by i er{tli€r @nn<strong>di</strong>ons on rh. c.irisl padr b€coning 16r.r Th.<br />

imp@v.menr in ifier{lusls dela} }ilh ircrced clustersi4 is @!sd pim.riry by a<br />

rcducrioi in ihc _logic0l nranhlllo! dktdtcc sp.nncd by c<strong>or</strong>iecrion! in the IPOA. as<br />

illlrmred in FiguE,l.l2. By sizina rh. ourinB pss hsitro6 {d bufiGr (6<br />

dhcused in Setion 4.2.4) to comp.n3. f<strong>or</strong> th. inc@s.d physiell.nld <strong>or</strong>ro<strong>lt</strong>ing<br />

*iE sclmenrs a$ociakd wilh l6ger cluslc6, ih. dclay of ceh rouring F8mcnl has<br />

Emrined mughly @Nt.nt. Sine lne to.al numbs of muting scn.nrs on ln. qnial<br />

pa$ hisdecrcoscddE lolh€reductionof lh."logicol maih.n.n<strong>di</strong>stoce, lhc rcsu<strong>lt</strong><br />

is a grcdd impmvcm.nt in ciEuir d.<strong>lt</strong>y thu lh. Educlio in thc numb.. of inFr-<br />

cl$rq nds on lhc qitiol p.rh would in<strong>di</strong><strong>or</strong>..


, l!<br />

s ol tr q<br />

oE'<br />

FisuE 4.12 Dft'l* Ih loglol n.rh.lL. <strong>rl</strong>i<strong>rl</strong>r.c a .lusl.r siz i.ces<br />

t,6 EFFECI OFCLUSTf,R SIZE ON COMPIL' TIME<br />

tn lhissrion wcdcmonstdclhrt cluslcFba.d FPCA ehitcclures can sisnilicm<strong>rl</strong>v<br />

inpbv. onpilc time. FiguE 4. | 3 shovs how rh. av.Bse CPU tin. (on a I O Hz<br />

Penlium lv wo tsration) rcquired to implcmenlcirc!hs varv wilh cluslersize<br />

1<br />

\<br />

'-\=:<br />

\*****..<br />

Toa|('@ll.Tmr-<br />

Rd{nu c@1. Trr --<br />

Fxlsts cq't|h Ttr +<br />

.+.r-.+.;...<br />

-+._<br />

F,gur. 4,ll v.<strong>rl</strong>.liob of circuncoEpilelid. with loSic.hstcf size<br />

Thc rcurinr limc is rc lidd rak.n fot lot{trc$ roulings (mirimum width + 20%)<br />

As l<strong>or</strong>ser loSic cluneB @ .mplotd in o FPCA rh. rimc !o compil' circuits h<br />

dram<strong>di</strong>cally reduc.d. This occurs b.ctusc as ldgsr clusres.re e'nploved icwd of


thcsc clus.6 ae Eqund b ihplmsr och circuir. Sincc rhe size ofal,tecmcnr<br />

ptublcm k prcpo<strong>di</strong>oMlb the numbfl oflosic ctusrem rh.r o circuil is mapped b, rhis<br />

dmmarioll,r.ducplac.mdtrim.. In FiSuE4.ll. f<strong>or</strong>.x.mptcon qwrharrh.<br />

placcm..r rim. is Edu@d by I adl<strong>or</strong> of 3.3 lims 6 th. clusEr size ift@.s arom I<br />

ro 20 Larser logic cluslcu al$ Educe rh. oulins rime. This is the rcsux of60r<br />

.onnections using rh. ldal clusc. o<strong>or</strong>ins, with fi. eflcr rhat fi€ our& hs tcw.r<br />

89<br />

. F<strong>or</strong> .Mplq usina 3 siz. 20 logic cluis rcdlA<br />

outing timcby 2.7tihcsvs. usinga sid I olusler. suit<strong>di</strong>ngan FPGA wirhasiz.20<br />

logic clus|el reduces th.l<strong>or</strong>alCPU rime quidt lbl pteem.nh.d @urins by ? tim.s<br />

d.7 SUMMARY<br />

In thb .hapter we inv.srig.rc rhe sp.cd ind a@{fiicicncy oa FPcAs .mpl<strong>or</strong>ing<br />

logic clusc6 6 fi€n bgic blet- W. e p6nicuhny im.Eskd in rhc e<strong>rl</strong>cr ft<strong>lt</strong><br />

clustcr sizc h6 on FPCA speed and dcnsitt, To €valuarc thc sp.ed @d area ofon<br />

FPCA.mplotins losic clusrm a<strong>or</strong> its logic blocls. ee munch@e n<strong>or</strong> onlylh.losic<br />

bl*k ardndtuR bul al$ ! lsins dhirdluc. tmin<strong>or</strong> siai ed thc fl<strong>di</strong>bilily<br />

ofthc logic blekro outinE interface.<br />

ln the sxon 4.1 we <strong>di</strong>$u$ fie lEdc-ofis involved in $lccting the DmDs clune.<br />

riz. lbr a clusrcFba*d FPCA- Sarion 4.2 cxpLins how w. nod.l rhe a@ and sF.d<br />

of va ous FPCA <strong>or</strong>chitccruEs. seclion4,3 dcscrib.s various architecluml p&amete6<br />

rhat dcfin. the FPCAS usd in our exp.inens. section 4.4 d.scribes the rEa-dclay<br />

poduct rhlr rc ue to.v.luare rhe qualiry of <strong>di</strong>lT.Ent FPGA.cfiik(uE. S4tions<br />

4.5 and 4.6 wc cxpl<strong>or</strong>c kcy !rchircc{umlqu.iiotrs coNcming how circuir rpccd, uM<br />

FPCA neo'efllciency a!..ffaned bythcsia ofrh€ logic clusrcrused.


CHAPTER 5<br />

CLUSTER.BASED FPGA ROUTING ARCHITECTURE<br />

5.I PRf,AMBLE<br />

ln thc chapter 4, $e speed rnd arer oian FPCA emptoyiig togic ctuste,s f<strong>or</strong> its losic<br />

bldks hos ben .valu.rcd: b€sides logi. b|er 4hnat!E, euring mhit.turc is<br />

.ko tey onpon. ofan FPOA fthi|eturc. Thc Duri.g pDbtcn f<strong>or</strong>ct(jcFFpCA<br />

is m<strong>or</strong>e <strong>di</strong>mculr rhan claslc rculin8 b


lo routc Glativcly larS€ CLUSTER-'PGA archilecruEs conraining various<br />

poFnions oaCMS outins rhcts: rd n is abt. io ctr ctiv.ty rdslac $. EB<strong>lt</strong>a.iry<br />

in i.B-sup6{lu$cr mnnerivi9 i o ru etinss.<br />

5.2 PROBLEM DEFINITION<br />

A lcy probl.n in rcutinB oaCLUSTER-FPGA is ro deid. ita g6up oirgutar<br />

connerions $ould b. bur€d inrcush $. cMs rouiing t@t3 <strong>or</strong> thc fi..-8Fin ouling<br />

mcks. This willbe illusrBtcd wilh aconrrivcd ermpte shown in FisuF 5.1. tt shows<br />

$B vi.$s oflhc same secrion ofan FPCA. The fi61view !iv6 the outinS oprions<br />

f<strong>or</strong> a Bmup of lour rcgulrr mN<strong>di</strong>dt lh.l @nnel thc epcRlusr.r o. rhc toptn<br />

comd ro ihe $pcr4luster on thc bdlonjighr @rnq of lh. figuE. Ths four<br />

connccrions are collccrively hbeled ds .onn.crion bus A. Thc scond and lhe fiird<br />

vicw in the li8urc givc thc @utins oprions f<strong>or</strong> rwo in<strong>di</strong>tidlal co.necrions lab.l.d 3<br />

!tu1 C KF.riv.ly. In fi. figuc. a @uting seirch L shown a an X- a wn,na s.gm r<br />

0s i d<strong>or</strong>led linc. and. po$ible our as ! solid line. There rc nin. wire Fsh.nrs i.<br />

lh. routing channel, Wn. sesnenrJ I rhrcogh 4 de r@o ! group of lour cMs rouring<br />

r@ls. Thes four rd*r fom a si.gl. CMS ourinS bus by shlring a singt.3.l of<br />

conngudtion m€m<strong>or</strong>t, WiE *emcnrs 5 rhrclgh 9 e fod five ind€Fad.nr llnc-<br />

Snin ourins tncks. Now. 0$ufre d rcut.r Ihal alraF rcu|es grcups oi rcgular<br />

coinections thrcu8h lhc cMs rculir8 tdks. sine *iE $8m.nts l,2, L dd 4 d.<br />

lhc oly cMS oacks. thcy mst b€ llEEd f<strong>or</strong> onneio bus A. Then oc offtc<br />

con.cctions B and C cannot he routd bF.us tey both rcly on fie sam. siiglc<br />

rcm.ini$oprion. nancly the wne segm.nt numb.rcd 5. Und.r $.se crrcumn.nc.e. !<br />

moR *ibl. outer wdld ch(xE th. fin.-8Ein wiE $sm.nl 6, ?. 8. and 9 fo.


connFtion bus A. Connection B rh.n can bc rcutci lhrcugh {iE Fgmenl 1 ofrhe<br />

CMS rc[ing tBcks. Since wirc *gmcnl 2, ], and 4 shaE the safr. sst ol<br />

coifilunrion Dem<strong>or</strong>y rs wnc segm.nt l. th.v also become umvailable to rcuL lhc<br />

rcmlinins connection. Finally conn.<strong>di</strong>on C on be bul€d $rc!8h ,irc ssm.nt 5<br />

A<strong>lt</strong>hough this is a sinplc .x.mplc. n illustatcs $e .s*M oflhc prcUems rh acur<br />

bdue old. <strong>di</strong>llwnd<strong>di</strong>on of o<strong>di</strong>ns ldks into firc-gnin Facks and CMs lmcks.<br />

]!r$sro l<strong>di</strong> erd:61<br />

Figur. 5.1: Er.Bpl. ol Contc<strong>lt</strong>iotr b.teen CMS .!d ttnecnin N'i3<br />

Common ipp@chcs used f<strong>or</strong> routine in olhd FPOA archndus aft not sui<strong>lt</strong>blc f<strong>or</strong><br />

CLUSTER-FPGA. Mdc Roukr Il?,221, CCE [28], VPR ll4l, 5c inefiectivc<br />

bN&sL, $ showD i', chaptr 2. Nno of rh0r ir cquipFd o dcal wilh lhc CMs<br />

o'tring tlcks. Each als<strong>or</strong>irhm assum.s lhc muting channcls conhin odlv fi"_8Ein<br />

muring tdcks' wnich do n<strong>or</strong> she lny @n,igudrion mcmo.r: .nd *h !l8o hn<br />

@mpl€lcly igno6 dabp.lh cgu<strong>lt</strong>riry ale<br />

5.3 THE CLUSTER.FPCA PLACER<br />

1hc inpur io $e FGPR rouring alg<strong>or</strong>ilhm consis$ofa nedntoisuper{luscE Thcs'<br />

$rp..clu eB are li6l Dlded b, ! ddt.path{ ented placer thal enplovs llrc<br />

sint<strong>rl</strong>ard annealing alg<strong>or</strong>ilhm. Th. plsc.i, cllled rh. CLISTER_FPOA phc'r, i3 t


nd<strong>di</strong>icd vcsiotr ofthe vPR pleer[14] <strong>lt</strong> uses cx.cllv th' sme ainealing schedule<br />

and rh. emc mst tunctions d rh. lncs u*d bv lhc VPR plGt k <strong>di</strong>lfca lom rhe<br />

vPR pla6r in how clujcu 5re moved durii! rhe anncaling pmcess This<strong>di</strong><strong>lt</strong>eftnce<br />

ariss irom th€ n.ed <strong>or</strong> pl.scB ing dabp3th rc8u laitv<br />

Likc rh. VPR pher. $. CI-USTER-FPGA d*r fi6t assigns dch $pct{lusr'r to a<br />

Bndom looalion. Thcn il il.mtivcly imtrcvcs the inniol placemcnt bv noling eilher<br />

This abilny ol rh€ CLITSTER-FpGA pl.Er ro move logic blcks rom two <strong>di</strong>lr4nt<br />

hicmrchi.s rhc chster lcveL and thd $rPerclustet lov.l constitutca the mrj<strong>or</strong><br />

<strong>di</strong>ffcEd. b.tucn itand the vPRDI@. *hich onlv on m<strong>or</strong>c a singl' hicmhical<br />

leveloilogic blaks..dm.ly eclust s MolingNo lcvcls ollogic blals 8i!ss rhe<br />

CLUSTER.FPCA phci th. uniqG .bililv ol concurEntlv pescning daopath<br />

esulait. by noving in<strong>di</strong>vidual sup.kllstr thal co.6iB dtEparh cooponents d<br />

well as m.xinizine plaemcnl eincictov when Oossible. b, moving in<strong>di</strong>vidual<br />

clu$c6 Allins in eperalBr.B (h.t conbin onlv ircsul$ losic To cE re N movc'<br />

an inirillcluicr, i5 fid n.dodl] el4lcd.lflhe inni.lclun& c a ptd ofa dahptth'<br />

rhe enfi. supcrclusler conroininsthe cluster is moved io 3 new nndomLv slect'd'<br />

l@ri<strong>or</strong>. lf rhis t@tion is alEidv @cupicd bv dothd sDer


clu$er conlainine rhe laeer chBler, Finotty. thc mov. is evatuated usins rhe cosr<br />

fu<strong>di</strong>om. and is either !€.pred <strong>or</strong> Ejekd b.*d on rhc cvatu<strong>di</strong>on rcsuX.nd rhc<br />

5.4 GENET{AL APPROACH TO TIIE PROBLEM<br />

After thc plaffe.( lhc buring pmbl.n k rEnsfodcd i.to lh€ ao|<strong>or</strong>ing: f<strong>or</strong> 4tj<br />

lwo pont qonnection, the @uter mun fi6| ide.rify iflh. connecrion b€ton8s ro any<br />

goup of E8ular @nKrioni <strong>lt</strong> lh.n slDuld .h@* sp..ific during Es@s io<br />

inpl.mcnr rh. rNo Doimconncrion. Th. atg<strong>or</strong>irhm shoutd pefcr CMS outing lmcks<br />

ifrhe conNcrion h a tan ofa CFup ofregular conn.crions, OrheNk., fin€,gmii<br />

Dutng rdcts should b. uen when .y.ilabte. Th. FCPR @uter Et.s a @uring<br />

esourcc Smph rnd a n.tli$as irs input Th. rcuringE$urc. gmph Fprcsenr a brger<br />

CLUSTER-FPGA archir.cruri and th. n.rthr dpresnts a circuit ot inrerconnecred<br />

super{lusrcB in rh. laB.l architecruE. Thc turd $cn tinds a aadbte (defin d<br />

b€low) rcuring solurion i[ de r<strong>or</strong>triir r.sure eBph f<strong>or</strong>.ach ner i. i|t nenis. The<br />

$lurio. should mininiz. rhc delry of i.pur ciEuir. in rcrms ot mirinizi.g rh.<br />

oaxrmum prclasation rim. <strong>or</strong>all sign.k in (he ptred and rculcd inplr.dtin, ss<br />

sell rs lhc o<strong>or</strong>ourt ol e$Mces consun.d by de input nertisl. A ouring bturion is<br />

dcrinui b bL a collecion ol inredKld nods and edgcs $a! mh'ns rhc etrc<br />

node rnd lll the sink nod.s of a ner. To b. aesibtq fic Mupatrcy vatu. fte r<strong>or</strong>al<br />

numbci of ihes th.t a node arpcaG in dt ouring sotutions of.ach nodc in rh.<br />

rcudng sol<strong>lt</strong>ion nun b. lc$ lhan <strong>or</strong> cqual to i6 ap€ciry htue. OlhcNis. rhe<br />

mutinr elution is eid to b! infeosible. A n.r is said ro be roured, once a rcuring<br />

$lxdon (.irhe.l6ibr.6 infasibte) is tou.d.


5.5 CLUSTER.FPGAARCHITECTURALREPRESENTATION<br />

s trc. rhc prirhary purFi$ ot r|( l,Ct,R ro i,{ <strong>rl</strong>g<strong>or</strong>irtj$ is b providu n D{N Df<br />

i"v.nig i.s rh. d rp{h-<strong>or</strong>icnrcd muiins archirL\ruru ot CLUsTER-t,t{iA, rn<br />

appopri r mod€l mon be defined lo 6pruE rh€ uniquc f.atuEs of CIIISTER-<br />

FPCA. The model thar has been choscn is n n,tins rctourc. yaph Cly,^)<br />

co.sisriig of r e oa ,o./cr. V. condrd by ,./spr (Chopre, 2 srion 2.3) A. N<strong>or</strong>e<br />

{har ris model ir similar b rhe relrin8 E$trre snph of t39l; howcv.r, ir is<br />

considerub<strong>lt</strong> m<strong>or</strong>e 6mpl.x be€ue it modcts rhe ctuslcr togic, cMS rculing rmcks.<br />

andCMS swnch.s. ss w.llas lhe fin.-gEin Es(s.In lhc FCPR @uriis rc$uc<br />

tcth. ach node. V. Eprcsnrs r pie ololinS re$ue.. TheE aE skn rrp.s ot<br />

nodcs. rcprcsnrn8 a rgidl$urce (callcd d ro,ac,<strong>or</strong>e), a signat si (etlcd r r,)*<br />

,o!re). r sup€Hlusr.r ilpur pir, . sup.rclBr.r oulpul pin, .n inpur pin ot.n t/o<br />

blc*. !n ourput pin of d lr'O bt@ls <strong>or</strong> . burins .tuk (.nhd . CMs h.k <strong>or</strong> . finc<br />

smin rdck), Each .dg. in lhe ourin8 cotrrce gEph rcprcsents a p@s.ommabt.<br />

ourinS sw<strong>rl</strong>ch. Each nodcofrhe rcurin! ceu(e gaph is Gsiarcd wnh i.4!.rt<br />

v/k. This valu. cDEsnls rhe hqimu'n ruob..olin.s rh rh. rourins rcsurce<br />

rcprcs.nt.d by rhe nodc qn bc used in rhc fiMlmuling oludon. F<strong>or</strong> each pin <strong>or</strong>.ach<br />

6umg tmck.lhiscrpacity value is one siic. eeh ofrhesc oulins Esur..s on only<br />

bc lcgllly usd oft.. Fo. @h $uc <strong>or</strong> rink n dei rhis opaciq v.tu. iJ a posiriv.<br />

number whoe value dcpcnds on rhc eqlivalmcy <strong>or</strong>sup.Fctuster oulput<strong>or</strong> inpur pins<br />

[]91.ln lcn.ral, iio sou@Girk) nconn6t.d bx sup.rclus6, ourpur (inpu<strong>rl</strong> pins.<br />

rhcs piB mus b.losi@lly cqrivalcnl; lnd rh. €pqciry of rhc soc (jik) b cqual


A supetuluster conbiiiis M cluseN h modeled usiig M euc nodcs and M snk<br />

nodes. E.ch clusr.r is asign.d <strong>or</strong>c $utc mde and on. si.k node. A eurce node is<br />

connccd to all rhe drpf pins of irs cllscr ind ir! c.pocny i5 cqual b $c robl<br />

nunbe! ofBLES (<strong>or</strong> output pint in th. clun.i. a sink node is connedcd ro att rhe<br />

input pins of ns ctusr.l and its 6p4itt b.qul ro <strong>rl</strong>r l<strong>or</strong>al numb€. of.tui.r inpul<br />

pins. S.m. of rh. nodcs in 0 rcuring EsouM gdph ac goupen inb no/c-bu:e: A<br />

node-buscdn be M $urc. nodcs <strong>or</strong> M siik nodesofasop.Fclusrcr. h ato can b€ M<br />

clotrer i.pul o. ourplr pins in d inDd brs <strong>or</strong> outpur bus, M 6odng r.acks in a ourin8<br />

bus, M pld irpul pins <strong>or</strong> Odd outpul pins ir a pd-input bus <strong>or</strong> pod{ulpul bus. Edgcs<br />

connercd ro . nodc-bus d similft<strong>lt</strong> srcuFd inlo s.4jr.r,s re<strong>rl</strong>, *h b6 containing<br />

M edres. [ich cdSc-bus h.$6iated wnha flagin<strong>di</strong>caringil.hes{ilch.sinlhebus<br />

lhaE a $nsle st <strong>or</strong> conl<strong>lt</strong>uniion m.m<strong>or</strong>y. whcn ft. co.fieuBrion n€m<strong>or</strong>y is<br />

rha'ed. <strong>rl</strong>l M swnches in rhc bus mui bc tunEd on a lofar th. sm. rimc. wh.i<br />

lhc sl,rc ol lhcsc rco<strong>or</strong>t shffir8 soitclEs arc chanrcd. rc @up!trc! vllueot ! |<br />

lhe nod$ cooccted immc<strong>di</strong>itely dowftrE.o ro rh.* 3wirch€s must b{ incE *n<br />

and d6@*d simulbn@u<strong>rl</strong>y. An .x.mplc ol lhc rculing E$me gbph and ils<br />

c<strong>or</strong>cspon<strong>di</strong>ng murins reeurces is shoM in Figure 5.2. Thc supeFclusrer shown in<br />

lhc fiBUrc conlains re clBleis, moinS M - 2. E&h cllrt r mhins rs inpd pins.<br />

rwo outp(r pins, and is @nnccrd b ! ncilhb<strong>or</strong>ing olring channel .oisining l*o<br />

ine-gBin rcuring hck dd a rwebir wid. ouring bus, Ale noled in rh. fisure 5.2<br />

!r the logic ctpdcity oleeh node. rn golping ofde nodc.buei and thc C@ping


;"


slg<strong>or</strong>ithm 6 dcsrib€d in 04lj .cv.nhcbss. th. dsi. p.inciptd pEsrd h.rc ce<br />

.ho bc u$d ro hnslom oth.r coovcnl ionat rcur ing alg<strong>or</strong>irhms inro dauparh-<strong>or</strong>i.nrcd<br />

rcurcB. (vPR tl4l is *lect d rs lhe bdB of rhk *oft ovs rhe <strong>or</strong>igirul pa$ti.dcr<br />

oulcr mi,ly dc to its dr.nsive slppdt f<strong>or</strong> FPCA nrchndlnr .vatuation .nd<br />

6odclins, shich lhe Parhfindc, rcuh lrcks).<br />

5J,l St.p l: hiri.[atlo!<br />

Duing st€p l, FCPR identif<strong>ics</strong> int..supcrcl6rer conn.crions rh.t c.n be efficicnrty<br />

rcut d rhmueh rh. cMs rcurinB c4ks. F<strong>or</strong>.ach anpur n€rtis! rh. iniiialialion *p<br />

fiEt clGifi.s lll inter+uFr{roster connerions in6 re. rypa ot tpo-Miful<br />

conre<strong>di</strong>ot ld.ttn d 6 a loei@l a,nection cdbining one superclusrer ourpur pin<br />

.nd on. sup.r{llsr€r inpul pi.) gmupt ol Finc -a6in r*o{.minal concrions @llcd<br />

thc pr,-b,$r and in<strong>di</strong>vidrol fine-snin $<strong>or</strong>eninal oonnslions. Thcn inreFsupcF<br />

cluicr nG * simildl, claificd inb Brcups of Finc -gBin ncrs all.d d-boet rnd<br />

in<strong>di</strong>vidoal finc.glain ne$. Th. amount of tw<strong>or</strong>ernin.l connetions <strong>or</strong> n.ri €pturcd<br />

by the bus.s is . iuncdon of lh. eounr ofd rparh cBllo(y paent.d in rh. inpul<br />

trcllht, A/ebb is a sroup of M Met ninol onnerions wnh $. following lotrr<br />

| . M k cqual lo rhc Smr|dnt ofthe CLUSTER-FPGa.<br />

2. Allc<strong>or</strong>nstions Dust o.iginlre fiom thc ame soud supeFclu$e! {nd tcminatcrt<br />

rhc eh. sink supcr+lusc..<br />

L Ench t{o-lqminal conncrion nu$ holca unique source clustr and a uniqB sink<br />

4. F<strong>or</strong> cach solcrminal @nnccdon, ils souMclune. mun hrv. $. emc ind.x as its<br />

tinlclusd.<br />

93


d.nt't piniug* rd reths tn rre hFn n.n'st<br />

Add En n.G ftar ,. noi n n t luDi<br />

Add d *rfr unrcut d dtfu ro dr undsd{b rd.<br />

R@ d{ir in h afqr.4* ri3i<br />

Uodd.ftiidli,uDFr.:a4'molv<br />

FiglF 5.3i OveFid ol th. FCPR Roulhg Ala<strong>or</strong>ithn


An qanDl.ofa pin-bus is illusrEr.d in Figur. t.4.<br />

Flsur.5.4: A PiFttur<br />

Ro<strong>di</strong>ng .lE<strong>or</strong>iihms e mos .liici. sh.n rhcy .E ued ro oure a Nr. which<br />

conraLns a 3oute aid ol<strong>lt</strong>he sinks of$e surce, <strong>or</strong> a timc ind€.d of in<strong>di</strong>viduot rwo-<br />

rminal c@n*tions. To inc@c r<strong>or</strong>ing cmciacy. pin,bu*s .rc S6up.d inro n.!<br />

buses A,<strong>or</strong>r,r isd.finol to b.asrcupofM nets thar conrdns.t lesro!.pin,bui<br />

rvhft M is .qul lo fi. gmularh, ofth. CLUSTER-FPCA. NoG lhat a @!bus hay<br />

ahocontain tine-g<strong>di</strong>n $o-leminol mnn.ctions in od<strong>di</strong>tion!o pin-buses. An .x.hple<br />

ofnd-bus G showi in FiguE t,t.<br />

Fisurc 5.5: A Nei.BusC<strong>or</strong>lalilng Ncr A, B,rnd C<br />

t00


5.6.2 SI.p 2: Rouling N.B<br />

Aner inidaliarion. FCPR fid ir.6Gs thrcogh ail rhe n.r.bus in ihe inpu. nertkr<br />

and oulcs lhe pin-bus.s thbugh the CMS outiig tmcts, F<strong>or</strong> cach pin-bus, rh.<br />

abofthm <strong>rl</strong>s 016 rh. fint bit ofthe bur thrcu<strong>rl</strong> the fiic-gFin outins hcls. Thc<br />

cos ol rc ing th( <strong>rl</strong>sr bir h then compad with <strong>di</strong>c.osl olbuting rhe.ndre pin.<br />

bus. wnen lh. CMS hcks aE much moE conscared rhrn U€ fiic-B'ain tdckq rhc<br />

cd of Eutin8 thc pin-h{s thouS! $. CMS t actt *ill bc hi8li.r $r th4 6n <strong>or</strong><br />

ourinS lh. fiN bit lhrcugh lh€ fin.4Fin ld.ks. ln rhb c.sc, the shtion ofoutin!<br />

rhc pin-buslhrcugh the CMS lmcks is Ejel.d. Inncad .rch conncction in lhe pin-bus<br />

is rcutcd in<strong>di</strong>vidlally 6 dedb.d in dE Ml tvo pttgophs- on lhc <strong>or</strong>hcr hand. if<br />

using rh. CMS rcuti4 tacks incu6lo*r cost. thc slulion ofrouring rhc pin_bus<br />

fioush Ihc CMS l6cks is a*prsd.<br />

Du.ing thc muting of lhc ner+ues, an onmulcd-nss lisr is @nstruded. ll @hins<br />

$e ry!.s of nc$ inclu<strong>di</strong>n8 all the fin .8r<strong>di</strong>n n.ts in th. inpll Gllist, nets in n.t'<br />

bues rh snlain fine-gnin t*o'teminalconnections. and rct-bussonkinins pit'<br />

buss fiat aE rm .xFnsiv. ro b. rcutcd $oush lh. cMs Mling lFcks<br />

Alicr iteoing th@u8h thc net-bues, FCPR 8Gs lhoud th€ uniofied{.rslist 8nd<br />

roules crch in<strong>di</strong>vidualncl in dc list. HDru onlydB trnoulcdconns<br />

rcuted. A$in, a nct is rouLd thouSh bolh $e lin._8min and the CMS rculing hcrs<br />

The 6r ol usinS ft. fift.gain t@ks it cmpaEd .gainsr th. @n of 6ins lhc CMS<br />

racks. The low.r @e option isalwa'schen 6$c finllouting solulion. Nole lhtr<br />

rs in othcr cong.nion'n.g<strong>or</strong>i.tion rc<strong>lt</strong>ing tlg<strong>or</strong>idht, ech n.Lbus cnd cach<br />

in<strong>di</strong>vidualn r c out d using the n1e €xptnsid lls<strong>or</strong>ithn.8nd thc ouring slutions<br />

.E suidcd by rhe txpnnsion cosl. Tiis cosl is a combin.lion <strong>or</strong> rhc consc(idn cd{


and de d.lrt con. h is al$ a fu@tion of th. lop<strong>or</strong>ogy of lhe .xF.sio.'lhe<br />

congdrion cos! d.hy c6r, md fie .xpssion 6l !a dcscrib.d b.low in nm d.6il.<br />

nN FCPR ileodrhN uscs rtu snc congNlion *l tuicliotr as lhc VPR ruuls [l4l<br />

'lhc VPR cong6rion sr r'uncrion is bricny sumrntrircd h€E f<strong>or</strong> @nplcrenc$. A<br />

con8*lion cost is .s,gied to ach nodc, n. in lh. buling lsue goph<br />

^s shown<br />

ir Equation 5.l.lhis congdrion c6l is a Doduct o<strong>lt</strong>he bas cosl b{n), rhe curent<br />

congcsrion cost. p{i), and rhc hist<strong>or</strong>ic cong.sion cosl, h(n) Th. b6e @sl b(n), is a<br />

lunclio. of $e outins estre tyPe. Di,tccnr ouling t@cs oE dsiSnol<br />

<strong>di</strong>indnt brs cos valucs as shown in T.bl. 5.1.<br />

co36ud-totr"F dI' P{,' il<strong>rl</strong><br />

Trble 5.1: b(r) v<strong>rl</strong>u6 r<strong>or</strong> E!.h TyF. ol Routitrg Rs!ff<br />

Thc curcnt congcnion sr. p(n). iJ d.fin.d lo b. a lunctio of th' <strong>di</strong>r'Ence bd*s<br />

rh. cumnt @up!rcy of tn. nod. tnd th. qpecilv of th. node s shoM in Equaxon<br />

5.2, The $alins fact<strong>or</strong>, plhc, in Equarion 5.2 is slled the mudng ehedule of the<br />

rc$cr. Thc inilial v.lue ol pfac is a smlll (< 0 5). s durinS catlv ilcErions rhe<br />

curcd ong6tion of$c nod. k sma Fn of lhc robl cost of rh' nod' This<br />

'll<strong>or</strong>s<br />

.&h node to be usd moE thf itt €poci<strong>lt</strong> .llos Th€ v.lue ol pfac i! incssd bt<br />

a lacr<strong>or</strong> of 1.5 to 2 dui.g e&h ourins ireotion So duins fic lanet henrioN th'


curienr congcslion cost beomes a siSnitiq fa.r<strong>or</strong> in dcteminina rh. toul dr ofa<br />

dodc CoDscquctr<strong>rl</strong>y. d aturrcL'tligird.rions.<strong>or</strong>cdrnodcrcachcsirsrirtlcapiciry_ir<br />

no lotrgq qn bc uscd in tlE rcuringsoluiionsofoiher n.rs<br />

Anr = 1+ nDi(0.1*up3r*!n'- l -..pi.rr.yo,)l' pfac) r,qoihir<br />

The hisrDric @ng6rion c( h(n). it o Gonularion of rhe pst cons<strong>di</strong>on t.tu6i<br />

an<strong>di</strong>lisd.fin.dbyAquarioh5.lfo.lhefiEtitrrtion,l=1,$chist<strong>or</strong>iccongesrion.<br />

h(n)l is *r ro be one. F<strong>or</strong> each sub*quent iteration, th. <strong>di</strong>ftercnce b.treen<br />

ecuDdc, aid capacny is slcd by r consllnt valuc hfac, and is added to rhe<br />

hii<strong>or</strong>ic cons.slion co* h(n)!I, lon dE pEvios itcmtion lo deriv. thc curM'<br />

hist<strong>or</strong>ic cong€nion qr. h(n)|. Th. usual yalo. of hflc is b.n en 0.2 d L<br />

t,6,2,2 Opririzing Cncuil D{lay<br />

I r- l<br />

/'itr)r-r-tux(0,<br />

l


m Dm .lh.cilk0lp<strong>lt</strong>h d.layoflhcciEuir. whcn Lhc tobl d.lay olu conrction<br />

is ci4e b fte mlxihun dela, of rh€ circuit. the nd hts a very smlll slack.<br />

Conscquently, irs ohic<strong>rl</strong>ny h high. Wh.n the lolll dehy of. co<br />

small.r rhon the oainum deLy of (h. ciEuil, rh. ftt .s a very ldge slacl<br />

Conequently irs c.nialiy is low B<strong>or</strong>h tJE slack and Dmd v.l6 arc tglcula|cd in<br />

.ach buring itelalion bascd on th. onn*rivitt <strong>di</strong>u obllined from rhe previous<br />

EXPf,RIMENTAL RESULTS<br />

,<br />

.. rrerr/../,.1d.<br />

rCPR har b.cn us.d lo rcrc $vemlcicuirs implcmenled on $c CLUSTER'FPCA<br />

archiler0rc The ouline Esu<strong>lt</strong>s shown in lhis wlioi are based on th' twenrv<br />

benchmark ciEuns Tabl. 5 2 sivcs rhe n!me. size oacich b€nchmark circuil The<br />

clutrcr archilcciurcs usd ro obhin lhe €sulLs will bc pa*ntd in derdl in ftc nexr<br />

suFsccrion .lM8 wilh $. dcrnilcd buting archihtuE usd ii $e inv6lrsalon<br />

Aftcr rhe archnectudl deeriprion,lhe outinB Bu<strong>lt</strong>s in lems of tnck count lUTs<br />

rotrrirgarealnd o ing pcrfomoicc arc d.$ribed in turn<br />

5J,l CLUSTER-FPGA Archit.clure<br />

An inpotunr faclot tll4lins the aEa lnd sF.d ofi FPCA ir thc loBic bla* {rogic<br />

cl$!.t archirerure u&d eithin lhc FPCA In g.n.Bl a logic clu$er consisrs <strong>or</strong>c <strong>or</strong><br />

moB &sic Logic Eleme.tt (BLES)conndedbv a6t loc'l inr'rconn'ct- wn'rc rhe<br />

BLE, lhar *c use consins ofa 4_LUT aid a cSister' Th' sia <strong>or</strong> th' logi! clusrcr<br />

(numb.r Dl BLES it conbint) ued in nn F0GA aEhi@ruE on h've a dnoatic clT4r<br />

on ns arer and p.rfomme PEviousM Ill.l4ldemonsttalcdthe'f<strong>lt</strong>ctolclEtr<br />

t0.1


sia on aM cliciencr. Ale. in I lll it *6 5peulalln that 6 clctcr si2c i! incMsd.<br />

cituit speed would bc imprcved. Arclust r size it incrscd. $o fiinss h.pp<strong>or</strong>:<br />

L M<strong>or</strong>c crirical path connections ars abl. to use $€ fo$ local inrercon.ecr hihs lhd<br />

osin! slo$ inreFclrsld {b.rqen cluneo inrerco^ncct bur rhit lMl inrerconnccr<br />

2. M<strong>or</strong>c conn4rions .rc complclll, abed.d *irhin cluscB e l6s i erclutls<br />

.oulirrr i! rcquired (Bduciru areo), bul dE ldal inrerconnecr .na p.r clust r is<br />

groNing quadrarical<strong>lt</strong> (incrqsins arcO.<br />

wc aG @nccmed with d.rc<strong>di</strong>ning tle cll@r of loBic clu$cr siz. on circuil sp€d as<br />

*.ll a .€. .nd lin<strong>di</strong>ng whd siz€ logic clusrs ha $e bcn 'Mdclay tEde{r. To<br />

our knoslcdgc no so hos been done which simuhan.oBly inv.stigdes logic<br />

cluicB wnh ruspect o b<strong>or</strong>h !r.r aM speed.<br />

Figun: s.6: (o) Baslc Loglc f,lsn$t (b) simplilicd Model oIBLD<br />

Thn archnecturc is construcLd ba3.d on $e Esu<strong>lt</strong>s <strong>or</strong> s.vcml prcviols n0d<strong>ics</strong> on<br />

onvc.tioial clus.Fhcs.d FFCA .rhiratus dsdH in [l],l3J0l A biel<br />

omhary of rhe cho<strong>ics</strong> is pEsnl€d h4. Each tlp€Rluster led in tnis<br />

invesligarion consisis of4 clusters. Eeh cl6rercontains 4 BLEs (wirh on.4_LUT in<br />

cach BLE)and r0 inpuls. Al rhesupFclusls l.vcl, thisl6nslarcs lo40 s(pcr{luste!<br />

inp<strong>or</strong>s goup.d inlo rO 4-bil side input bu5 dd 16 suD.t{lost r oulpuls CouP'd<br />

inro 4 4-bn eid. ourtur bo*r Th. inpul bus e <strong>di</strong>srib<strong>lt</strong> d eund th. Fripllcrt of<br />

cach supercluster with 2 buses ar rh; !op, 2 bus.s on rh. ieb| sid. r buses at the


<strong>or</strong>ioh dnd I buses on rhe left side of each strpdFclusr.r. The oulpui bu*s e<br />

unifonnly <strong>di</strong>srribuled rrcund ach s<strong>rl</strong>p.rchster.<br />

The ssnch block topolosy uscd in lhis study is fie <strong>di</strong>sjoi ldpolo8y r<strong>or</strong> b.$ thc nt.'<br />

sEin tncrs .nd lhc CMS t@*s. F<strong>or</strong> inpu/oulpur cot.cclion blcks' .&h SUDCF<br />

clusrq inpuvourpd pin is @nnected to 40% / 25% ofth. fine_grain l@ls in.&h ol<br />

its neishb<strong>or</strong>ir! rcuting channels. Sinilq<strong>rl</strong>y eich pad'inpur <strong>or</strong> pad'ourpur bus rs<br />

connar.d ro 40 % /25'lq otrh.4-bir wid. cMs FulinS buss in eeh n.ighb<strong>or</strong>in8<br />

chrnn.l- h ii dum.d lhar f<strong>or</strong> 4h ciNuit. rh€ DhFical<br />

<strong>di</strong>m.nsion ol erch l/O blck<br />

is sall emu<strong>di</strong> $ thal rh. circuir will .lytvs b. c@- limited allcr d@menl Eoch<br />

1/O bl@<strong>lt</strong> inp <strong>or</strong> ourput pi[ is strmed lo connel b 20% of the fine'lmin rcuting<br />

lmcks in its neishb<strong>or</strong>ingrouirgchainel Si<strong>di</strong><strong>lt</strong>dv eachptd_input<strong>or</strong>ad{utpurbusn<br />

$suncd ro con.*( to 2{P ofrhecMsouringb(es Fidl<strong>lt</strong> qch @mgegndc<br />

(ei$.r firc-g6in <strong>or</strong> CMS) is dsmcd to.xpdd tm $F*|usreB N<strong>or</strong>c lhlr rhe<br />

!rchiledural scrcotion m.lhodolo8/ d.sribed in Il4. 111 is u*d to setr'drc the<br />

acru0l topologJ ofthc inpuvourpll connection bLocks btscd on thc p€rccnragc vah'es<br />

Two archicduml Yatitblcs ae used in lhc l€sts oflh' FCPR mutins algofthm' Th€s<br />

v<strong>di</strong>ables .c tht nudber oI CMS ouiing tncts .nl th' nunbd ol nn''Cr<strong>di</strong>n rcuting<br />

mcksineachoutinschann.l Thcteninspnc'sconsists<strong>or</strong>fiBtspecilvins'nxed<br />

number ofCMS ourins tdcks per channel f<strong>or</strong> rcurin! a eivcn cncu[ The FGPR<br />

murc! is rhci u*d lo find thc minimum iurb€t of fin€_goin outing tdckr rcquiEd<br />

i. och cha.Nl (in 4ddnid b rhc fiNd number ol CMS outing trckt in <strong>or</strong>dcr to<br />

succc$fully outc rhc circ!tr


Toblc 5.2: crperhetrr'l cjrcuib<br />

CiFu<strong>lt</strong> Dariplion I<br />

{.te. n.pplng lo BLEO i<br />

t527 0 t516 8 1522 r5.16 5408<br />

r878 0 l9 t r878<br />

t262 t27l 1262 t21l<br />

1707 114 t6l 197 t707 6lll<br />

8l8r tl t8l 82 8l8l 10462<br />

159 | 1347 256 245 I59l t847 t0<br />

r9l5 l9 l56l<br />

1170 224 l32l 229 r 170 r599<br />

1602 I t2l 485t lll 4 1604 t7t5 t26t4<br />

4598 0 t0 l0 4593 16073<br />

t064 0 r072 6] 1064 1072<br />

t5l9 886 20 6 li56 tt76 l2n)<br />

t397 0 t4ll t\97 14ll<br />

4575<br />

4575<br />

3 t942 l91l 1935<br />

6096 t46l 7538 t06 6.415 2t\44<br />

5]8584 | 6231 104 6485<br />

l5<br />

0 1706 r706 |]808<br />

185 t43l t22 t099 1760<br />

Thc rrcrhodology uscd in serrching f<strong>or</strong> rhe mi'ri'n!6 trtrmb'r of finc-gnin bong<br />

r@kr issimil..to dc on s dsnb.d in lll.l4l Tte dtb @ll@td lom rh's' kns<br />

ne ued ro d.monnEt $. abilny ollh !l8oi$m ro uriliz' lhc CMS oulinS<br />

'CPR<br />

lncks i. pl&. o<strong>lt</strong>he lirc'gBin rcuting tmcks<br />

The arithmclic alerage oflh. addniodl nuhb€r ol fine_g6in ouling rets rcquircd<br />

b Ddc a circln f<strong>or</strong> . spail'.d nrmb€r of CMS @ling t@ks it sho*n in FisuE t 7'


where lhc aveEgc numbcr of lin .gmin lmcks is plolEd 4rin$ rh. sp..ified numbc<br />

ol CMS rftks. Th€ X-axis is rftk 6unr in rms of rh. numbs oaCMS rouring<br />

<strong>rl</strong>achs spccified in E invssisarioi. The y.dxis is de lmck count. bui ir k ir renrr<br />

ofbe nunbcroftacks nadd in <strong>or</strong>de.toso@$tully out acircun.<br />

Al$ pl<strong>or</strong>rcd in rh. Fkurc 5.7 is rtu lath eric avcn8. oarhc t<strong>or</strong>al trumbs ol hrs<br />

(,ineghin trckl plus CMS r@kt rcquncd p€r ohdnnel lbl rcutins a circuir agaiis<br />

thc sp!!ili.{ numl's ulCMs rncls.liinally,l<strong>or</strong> rhc e$ <strong>or</strong>'<strong>rl</strong>innoc, rhu n<strong>or</strong>$q of<br />

CMS surinB tacks sp..ifi.d in eeh invgrig<strong>or</strong>ion is nansf.rcd ibm lh. X{xG iNo<br />

the dashqd line in the Figurc 5.7.<br />

l,-':--'-<br />

r N@B-dlr',<br />

Flgurc s.?: Tnck Cou<strong>lt</strong> v!, *€MS Tr.ckt p.r Chlnn.l<br />

As shown, lhc avcdg. numbcr ol tinc-grin lmcks dei€dcs nom 56 lFcks down ro<br />

lB thd lo hcks pq chlnnel eJ $e av.F8. numbq of CMS hcks is inc6ed<br />

ion l) lo30hcks per.hdnnel, Thisdecrelse is du.lo rh. usoalhc CMS tr.cks in<br />

place of $e lii.-gnin rRks by FGPR. Ndre rhit fic fintgbin t&*s dccrct<br />

sigrili{ ly wh.n rhe iunbd oICMS t6cks i5 incclscd tM 0 ro'10 rffks p.r<br />

channcl. By ad<strong>di</strong>ng thesc 40 CMS t@ki a m<strong>di</strong>duh of 2l nnc_l<strong>di</strong>n l@ks e<br />

103


elimintkd, The dle ol decEis slows significm<strong>rl</strong>y when lh. number <strong>or</strong>CMS tlacks<br />

is funhd incEasd frcn 40 ro 30 t&ts pqchanrel. By ad<strong>di</strong>n! ftese 40 CMS lmcks.<br />

@1, 5 finegnin rtukr aE evrd. Thir dow down is du..o rh. fd $d, in mrny<br />

circuiB lh. nlmbs of CMs tiack hrs rachcd eruEtion. In eroEiion, tudh.r<br />

increosls in lhe numbcrofcMs tr&ks *i I not rcduce the numb.roffine.gmin lmcks<br />

sire th.E d alMrr ncc $at @r ndd ben mul€d tntush lhc CMS L.cki.<br />

5J.3 Routiqarq Rsulrs<br />

Thc arithmctic averugc ol $e tokl arca consuned by routing re$uss lbr ach<br />

circun is shown i. FiB!rc t.8. Thc ad it n6uEd in Lds ol lhe minimum-eidrh<br />

hnsist<strong>or</strong>.@ []ll. In ihc fisuE. th. Xais ir rh. nonb.r <strong>or</strong>CMs mrin8 l6ckr<br />

specificd by rhe invcslisdtion. The Y-.xs h the areo m4surcd in minimum- ridlh<br />

rnhrG/ndb lrme6:dranr rt0r)<br />

Figurcs.3r An. v!, rcMS Trrckr<br />

As sho*n. rhe g6ph can bc <strong>di</strong>vided it<strong>rl</strong>o Ih6 dgions. In $c fi6i reBion, whec rhe<br />

.rchitcluas co.tain bcnxlen 0 ro 28 CMS Eicks pc, ch..ftl. ihc rutine @<br />

aduallygets wo6. wirh the increasednunb€rofCMS <strong>lt</strong> cks.This i.cE $ in F. is<br />

t09


duc to thc fel lhat th. area eticiency of rh€ CMS tricks is oulweighed W dre<br />

cxlrcmcly sDall numb.r <strong>or</strong> Durins bu&s a th€ inc@d <strong>di</strong>v€uily i. ourins<br />

rusourccs. ln the sond rcgion, 6 rhc nunh.r of CMS <strong>lt</strong>uk3 is funhcr incEr*d. fte<br />

touunl ire! slans lo d4re.se. Ar b.lwc.n l2 to 64 cMS tachs Fr channcl. thc<br />

dutinaea b4om6 sm.ller dd the ouingas ofth. ehiccturc that conEins no<br />

CMs rm.ks. Fn<strong>rl</strong>ly. ir rcsion thN!. ns rN nunftroa(MS lml<strong>lt</strong>s Erchcserrdlnnr<br />

thc rouring area again sllns !o incEis. and b.comes la€.! than thc rcurin8.E of<br />

rh. archircctuR thal cont ins noCMS rcuting tBcks<br />

5-7i nourils Dcuy Rsulre<br />

Thc geomdric ateB8. of$e ponion ofoitical parh delly thal is consumed by lh.<br />

ouliig Esources f<strong>or</strong> pch circuir is shown in Figurc 5.9, In the figuft. lhc X-aiis<br />

tspeen$ rhe nunbq ofCMS ouling lEckr sp€ified itr lhc invcstisalion. Th. Y-<br />

!\k Ep€snrsrh.d.lry n.Gured in nanomnds<br />

As shovn, theE aE en. spc€d pcd<strong>lt</strong>hs<br />

Flgrrc5.9: Dcl.y v!. #CMS T<strong>rl</strong>ck<br />

'sid.d<br />

lln<br />

with usinS lhe CMS lmcks f<strong>or</strong> t<br />

nrj@iry of dchnelud' F<strong>or</strong> 4. 3. 12, 40. ,14. 60, and 64 CMS muring rel6 p.r


chin<strong>rl</strong>, ho*ffi. ri. pcrfmd@ of hce ehieruB .c mp.dblc lo E<br />

archit.ctut oontaininB no CMs rhcks,<br />

5.8 SUMMARY<br />

lr rhis choprer stio 5.2 d.$rib6 $. tc' id6 b d.wloc lhc rubbility- aknGd<br />

alg<strong>or</strong>ithni slion 5.1 d.eibes rh. plrcam.nt als<strong>or</strong>(hm th.t is led in @tluncddn<br />

*nh Oc IICPR: slion 5,4 den6 $c m<strong>di</strong>ng pmblcmi Setion 5.5 Ersc 0rc<br />

nodcl B.d b Ep@fl CLUST€R-FP(|A .rchilcctrd oitlhing CMS oulins<br />

ldlsi ection 5.6 dcscrib.s tn. FGPR o<strong>lt</strong>ing algodlhm ih dehil; a s<strong>di</strong>on 5.7<br />

pcsn rhc Eslrs fim rhe rss ofrh. rcutr.<br />

l


6.I BENCHMARK CIRCUITS<br />

RESULTS AND DISCUSSION<br />

To cxpc mefl with thc ncw rCPR rouler. wc rcquired a sel ofl.rge benchm4k circlits.<br />

Unfon@icly, rcrt br8. circuia e <strong>di</strong>ffcuh ro obr.jn, bui E <strong>di</strong>d mdage ro @U.cl 20<br />

suilabl. cieuils. Tabl.6.1 8iv.s th. compl.c d€$riplion of rh€* circuirs usd lo<br />

hedure to$l aea, i.rrd-cl$tei aGq intercluster arer. total circuit delay. inrra<strong>rl</strong>usler<br />

delay. and i!rcrcluter d.lay.<br />

CHAPTER 6<br />

Trble 6.r: B.rclo.rk .iFrit3<br />

||2


62 TOTAL AREA RTSULTS<br />

Falc 6.1 rd 6a !d 6J giE ! ph of dE am.lri.E|8. (-c.ll 20<br />

ciEUiE) ot th. rotal !M ,lquiFd a d tunctid of cl6rs ria ud LnI siz. S.v.nl<br />

ob*nad*dt mad. ndn tnir &te<br />

c!'e. I<br />

F'arE 6.1: To,r.l Au (d0') tr MiL \vldll Tnni Au (Ctxt.r st . - 1.,<br />

3<br />

2<br />

I04!!r<br />

hl.{l|e-Er<br />

+2<br />

lk<strong>or</strong>.42: ha.Flu.td a (tlo1 ir MtL Wn<strong>lt</strong>l TnL Au CIB!.i $sr-?)<br />

<strong>lt</strong>3<br />

+2


5<br />

I<br />

3<br />

2<br />

t<br />

0<br />

--.- 2<br />

--.- 3<br />

--*- 5<br />

t-tl<br />

--*- 6<br />

Flg*.6J:I!rnd!,r.r AM (!r01 b ML w|dtr T||& Aa(Ctut.. SiFr-?l<br />

LUT !i26 of 4 .rd 5 E dE n<strong>or</strong> @{tr idr fa dt .lus4 3is,<br />

Th.rc is ! Fd@lion iD iotal @ whln de olun r siz is ince3.d fiDm I 10 3<br />

fd .ll LUT sia HN€, s clldds c m.d. t .ga Cv > 4) $6 is vqy<br />

linL inplcr m !<strong>or</strong>.l FmA @a, FigG 6.1 dcfroisrat s lhi! b.hlvi<strong>or</strong> tfy<br />

wll, X b a.en<strong>lt</strong>.xpei.d rbc itutsirg logic bLct tuFtidDlily Crdld<br />

lwh i. nG BI-Es b.ing !dd..l !o. clus.nd @.Gtios rhrr n(l@Iy<br />

@ld have hen out d sdemlly e mw .bot d inrcn.t to th€ .l6i.i<br />

This sh@lrt EdE dE i'i.r€tun r e <strong>di</strong>ch i5 urattr n*h hjshd sa rtE<br />

i 6alud.r @ dd dus having. pGitive ioper on 10Ll Ga, Fiewr 6.2<br />

ard 6., @6m dL n1l HowE, rh. |Es .h. l<strong>or</strong>rt FPCA .s d@'r<br />

d-ce k be{e i'mhg loljc 6pa.iry (moE inF<strong>lt</strong> & dQur piDt<br />

6u<strong>lt</strong>! in & itr:IE@ ir r!.[ out.<br />

ll nd .Lo bc l<strong>lt</strong>lmb.tld rhlr lh. |o!ic btocl @ is .ts. imEi!! d* ro d. LUT<br />

!s dd tn. nulipl.&r m, so $c @ $vinss js ml s signifi<strong>or</strong> 6 n alpoB.<br />

4


Th. tobl oca crn b. bmken inro rs prns. rtc togi. btek r@ {inclu<strong>di</strong>ng de nrux.s<br />

iisidc rhe cluscA) and $e rourioe rd, $hich is $c pm86ohlbtc suring c\r.mal<br />

to lhe clusrc*. We rillfird expl<strong>or</strong>e rhc irrd{tusreraR. Figurc 6.1shows rhe l<strong>or</strong>d<br />

lnta{runer a@ componcnr <strong>or</strong> rh. r<strong>or</strong>0l ar.o iasain, s6n.r.icc[y aleraged over rh.<br />

20 circuirr) s . lun.rio ol$e LUT sizc. The dab shos rh<strong>lt</strong> lhe inira{tdd ru<br />

Inccag6no. of LuTr inc6as.<br />

Thh area is rhe prcduct of thc t<strong>or</strong>at nunbq ofctusreB imca rte irea p€r cluner, A<br />

plot of rhese two @nponcns f<strong>or</strong> a ctusrcr sik <strong>or</strong> I h gilen in FisuE 6.4.Thc logic<br />

blck aE srcs axponcntially wirh LUT siz s rh@ de 21 6ils in a K-input LUT.<br />

In ad<strong>di</strong>tion. lded LUTsizes requirt laB.. inrta{losier nutriptcr.G b.sus thc aizc<br />

of.sch nohiplexd is (l +N) = (K/2 (N+t) + N). As K increas$. fiough. de numbcr<br />

of clustcE de@6 (be!u$ €cn LUT on impl.m.d n<strong>or</strong>c ofrhc loSic functiotr) s<br />

sho*n b' ln. rtoM$rd .urc in FiS!G 6.4,<br />

Figurc6.4: Nunb.. of ClNt.B .nd Cl$r€r AH v.Eu! K (to. N=l)<br />

5


The rcsulrs illusbre rhar rhe tocat inrd{tusEr routins eca cr..<strong>or</strong> b. tn<strong>or</strong>.d and<br />

ob$ in8rhclb$lurevatuesinFisrucs6,1,6.2,md6.3,wcsh<br />

aG ryp'6lly l.k.s ut abdr only l5% lo 40'lo of rh. robt a€, .xc.p( whcn rhe LUT<br />

nz @hes 6 rnd ?. ar which poinr in|m{t6r.r a@ be.n6 a dminut f&br fie<br />

key ctt.cr. ns llears in FPCAS, is with rhc 6uri.e ars. Fi8ue 6,2 k, pt<strong>or</strong> otrhe<br />

r<strong>or</strong>al Dl€rdust r roulinS area as a iuncrion ofrhe LLrT size dtrd ctusrer size. The<br />

FiBure shows $.r rhe rcuting m. ds@s in a lin@ tshio. wirh increins LUT<br />

sirc. This Fnicllf 6uh is inLGring jnc. p@ious uo* too IIll h6 shom rar<br />

rhe muling aco lchieved ! minimum bcre.n K-l ed K=4, ed incfr4d t<strong>or</strong> vatu6<br />

To explain rhis observed behavi<strong>or</strong>, obscnc Figure 6.4 which dM poses rhe bhl<br />

muting ag into lqo epaFr€ oopon.nn: rh. numb€r <strong>or</strong> ctBteR .nd $e During<br />

a@ Fr cluscr Th.s. cup€s de givo f<strong>or</strong>actuslcrsizoft. but.E cpEsm<strong>di</strong>vc<br />

l<strong>or</strong> all cluner sizes, Th. poducl ott.& two cufres gives hc r<strong>or</strong>at mrerctusrer<br />

roulin8.rca, Th. rc.son why fie outin! e6 d.crces tinearty with LUT size is rhd<br />

as w. rncElw lhc LUT sia. rhe nudbcr ofctu$eu ddrcGcs moch f6cr rhan lhc<br />

El€ at which thc moting aM p€r cl6r.r inc@ The Durin8 @ p.r ctunq go*s<br />

slishdy snh iNE.ting LUT size si.a du. ro rhc f!€t ftar d@ k v.ry lirrt. ch,ng.<br />

rncha.nelsidrh 6fie LUTsize h vlied. This is shqn in Tabtcs 62, wher cs<br />

al$ be seen drd incssinS ctusler size t.ads ro l.r8er rvemge chanrct wdrhs. The<br />

chdnel wid<strong>rl</strong> is fic najo,ddeminins tacr<strong>or</strong> ih inrerctusErarcr. tt. <strong>di</strong>lfeMce in<br />

6ulrs rrcm I<br />

I ll &d olr curent 6u|ll m b. dtdbured lo rh. ad rhn wc .e nos<br />

ueng be!.r CAD l@h wirh new FGPR <strong>lt</strong>goilhmj j. panicut* rh. quahy ofrhe<br />

pliccmcnr tool !trd rhc ruflins root ts sigtriliclnrty bcuer. atrd usc! sigrili.. ly le!!<br />

6


wring, In lddnion, lc clu*ed logic blocks, n<strong>or</strong>e ot rhe 6urin! h b.ing<br />

i plcnctrtdrithin rhe clu$er i6.lf<br />

Trble 6.2: Ch.nn€l wi<strong>lt</strong>h vr, LUT 0nd Chst rSia<strong>rl</strong> b 7l<br />

ctldvrdrh(s<strong>or</strong>d'k rvg )<br />

t7


The sond k y meric fo. FPCtu is rhen 3p..d m..s<strong>or</strong>.d by rh. fihicat path detay.<br />

Thd r<strong>or</strong>aL cririql pafi d.tay is d.fincd 6 rh. rol<strong>lt</strong> dcta) due ro rhe logic ctujer<br />

combined with th. routing dclay. FiguE 6,5 sho$ rhe g@nerric av.mS. of the t<strong>or</strong>sl<br />

criticalpath dclay acro$ dll20.ircui$ os o funclion ofrhe ctusre, size sd LUT size<br />

Observing thd Fie!re. it is cl4r thar incB.sing ctusrer eize <strong>or</strong> LUTS. d€cre{ses rhe<br />

crnical pah delay. Th.s. d.c@s .rc ai8nincsnr: mehirecturcwi.h N=l and K=?<br />

hasd rvedgedelayof25 ns whilc fo. LUT-?, hdd cvebge cdri€t palh detay of<br />

jlsl 16 6. There .re rwo ftnds rh<strong>lt</strong> cxpld. ihis b.h.vi<strong>or</strong>, As rh€ LUT snd ctBrcr<br />

i. Th€ d€lry of rh. IUT ed rhc dclay $ough . clun6 irc€.s.<br />

> Th. nunb.r of LUTS dd clust 6 in ei.s on lhc qiriat prd dtu!<br />

wc Nill <strong>di</strong>sus th@ .n cc io BoE d<strong>di</strong>t b.low.<br />

It is inshcriv. ro b@k lh. rot l d.t.y inro rwo @mpondrs: inlm{tNer dchy<br />

(shicn includcs ih. delat ofthc m!x.s.nd LUTS), rnd int r<strong>rl</strong>05rerd.lay. Figure 6.6<br />

sh<strong>or</strong>s rh. ponion ofrhecriricalp.rh delat rhar co6.s fioft rh. inrra,cluster delay 6 a<br />

lunciion of K and N. Th.rc .rc two lcy points lo obsfl. her..


2,<br />

clud.r.ht 2 3<br />

Ft E6.5: Tobl Dd.y h 1&.a& (c|Btr ab. = l- D<br />

TIE itul'r.d &Ly d.o6 s ilE LttT riz. im'Eg Thn is<br />

+2<br />

l19<br />

b dE<br />

'nE<br />

ft.r tlili t[d n . E n<strong>di</strong>d i! <strong>rl</strong>F lmbd of aLE LEL 6 rt qirid F$<br />

.rd IEE l,lG will b. fCM kidc l*k ro inplqn d. Thir will ttuihr.<br />

into a r.d&rion in intn*lcr.r &1.y. Fiiw 6.6 ilbln&s tnis c@pt tr@<br />

Tle 9@nd b$lviq ln!,! lhdld b. Dotrc.d i! thll tlr intr4l$r.r d.by<br />

ircFs fd ey giv6 LUT 6ia $ <strong>rl</strong>E clsrq siz. is imE s4 ac.Dl llF<br />

.luter siz.4 io J fq dl LUTS. Thb b b6rc th. ieduc ne! 8a<br />

|!gi !d tlEtfo.. sl{,!,r. H<strong>or</strong>lq, d. r|.].y rhd|3h 6d ouG b nill<br />

nEn fr{.r |n.D Ih. i<strong>lt</strong>d{lura &Ly. A! K itr E.s b 4 .ta! c fffi<br />

LOIS 6<strong>lt</strong> €itiql !.1! .!d $i. a.6ld6 irno fG€ i,r.elulrd dring<br />

ItnL.' .h6 de4inl <strong>rl</strong>E inr.FllJG dtina &by. Simibly, a N i.


P1s<br />

incRed 4 .rd 5 tlm @nnedtu e qflu<strong>rl</strong>d wi$in r.h&r, d arai!<br />

ttE ircRluscr Euing d..EB,<br />

rt|E 6.a: hr'.d.r.. &h, b dro€<strong>lt</strong> (chr.r se. _ r- n<br />

ln <strong>di</strong>$usins rt@ <strong>rl</strong>dettr il'r rtut !o fo o* ! drficn .60t . Ho*M. ir is<br />

int <strong>di</strong>ns lnd iaBirg clusi.r siz. hc linj. ihpr.t .n r. €ri.in pojnt {fc,v> 3),<br />

FEe 6.? shoB lhis cl*ly eh.E f<strong>or</strong> &y fr.d LL|I ,ia, rh. n\Friry <strong>or</strong> <strong>rl</strong>E<br />

inprcvencd in .rilic.t p.th d.by cc6 s th. ctulr.r ,i4 ir in@ed nom I io 3.<br />

Any tunler iftcs i. ctusl€r 3ia Eslr! in. v.ry nininM delay jnNv€m<strong>or</strong>,<br />

'Ihis b.havid 3ugs€s rhll crBtcnng h6 tjfil. ctret ai.r I a@o D,.t. .fhat<br />

6cludes, mploying h.gs clBrB thould !lw.y3 rdu* .h. critiar path, Ahhousn.<br />

the tohl d.lay Est!! tion tigw 6.5 do not co ..nicr rhis, whar surp,isinr is hw<br />

linle ofd iDpbteDo. in bl.t d.l!} rhar b &hav.d wirh t.rgd clusr., tile 6.<br />

--<br />

+2<br />

t20


fiarF 6.7: ht.t4lsa.r &b! h !.ro.@!d! (crud.r 8ir r-7)<br />

To b@r urdd.rd thir situ<strong>lt</strong>io, n is $mcidr b .mie rh. nmba of losic<br />

b|@r Lv.ls (if,: clulls l*ls). TIE @l!s cldly J&w <strong>rl</strong>€ nDbq of Lrcls<br />

d.cMirg *id i@ing clB.. rnd LUT 3id But f<strong>or</strong> oy sj6 LUT siz. ir @<br />

b. s. thd nod of the rEdu.id tr d. nMb4 of bv.b Gm s rhe clust r sie is<br />

in e!$d fron I b 3. Al$, @U lhll lh. nj<strong>or</strong>ity of lhc criti€l Frh d.lay w6<br />

Edud in lhis @9e Th. <strong>di</strong>6t ELdo$iD baven ln. nmb.r of cl6d kv.ls on<br />

$e crniol ,oth dd lhe iiMl lotal &lay i3 io coircidce. Fewq logio blals on fte<br />

critisl palh lerds to inFov.d p.rfomde. Thc d.in t€a$ th.r lh. totol &lay <strong>di</strong>d<br />

mt inpov. sig.i66ily a wc wi.d th. cllG siz. nm I b 7 ss thai $cc ws<br />

m signi,idt edu.tio in the nmb.r of lotic bl6l l*.|s.<br />

withod 3 Edsrbn ofdE rmbd of inl.ralu.!6 hrcls M $c crili@l Dad w<br />

.!m possibly arper inFo@db in FPCA Frfw. Ardha i@ing<br />

EHd to ob$re 6w I'gE 5.6 L tnd imEnns rh. cluc siz hlr ls <strong>or</strong>d .frc.i<br />

ra e<strong>lt</strong>dtcs @p6cd of l!s.r LUT3,<br />

12l


F<strong>or</strong> exmplc, li.eosilg rhc cluslo da <strong>lt</strong>oD I lo 7 f<strong>or</strong> r 2"ioput L!t.archirerurc<br />

6ulls in a 60% rdmtid in d'. numb6 of ctusLr t€wtr o rhc qnid jlh.<br />

Conv*ly, oploing BLEr wio . ?-i.Ort LUT &rd v.rying rr. cl$tcr da ron I<br />

lo 7 Buh3 in dD ! 2ra Ed<strong>di</strong>o in logtc t*ls H.ftc ctusraint p|!G ro bc<br />

mN ctr criv. ld sd.lLr LttTs.<br />

6.4 SUMMARY<br />

ln lhis ch4icr, rc dcnosr,:ad df culr. of q0qio4rs M ro n@uE iot t .@<br />

inbr


CHAPIER 7<br />

CONCLUSION AND FUTURE WORK<br />

Thc Soal olrhjs rh*is rs ro *doE nc' archirecturcs ..d CAD otBoiirnn lo rcdue<br />

FPCA d.lay Nithofi ecificing targe mounrs of ar... This invotved cxpt<strong>or</strong>ing<br />

crusr&bcu,l n,c^ rrcl|iLuurc. *i.h Ngud b ttrc cfi&r ol cMs 6n ctuskr barsl<br />

tuLrin! ^


miny dcadenic sru<strong>di</strong>.s ed starc-oh&d conncrci.t FpOAs This crose<br />

4enblonce aiong with hiSh param.t.riadon enabts a <strong>di</strong>E<strong>or</strong> oompairson berw*n<br />

$. ma c<strong>rl</strong>cidcy oflhc Ctuser bastd FPCA <strong>or</strong>chneruE ud rh. @ etnci.ncy of r<br />

conv.ntional FPCA !rchndu€ tnd ws wid.ty usd in oMy poious nu<strong>di</strong>rs.<br />

The0lgoithm desribcd in cha er5, slcd lh. FineCftin phcer & Rouler (FOPR)<br />

dS<strong>or</strong>ilhm ioi CLUSTER-FPCA, addEs $c i$6 of .h. batanc€d osc oa burins<br />

rGcks bt celully @nsid..ins th. uegc of ach typc of tr.ctq by Nignins rhc<br />

rasten parhs to the connccrions rh n..n rh.m. The FCPR hos been used ro obrain<br />

erccll.nr outing r.sulB f<strong>or</strong> rbe m<strong>lt</strong>ing ciEuirs,te. The Esutb shoq lhar F6pR G<br />

abl. lo rcurc Elariv.ly t&gc CLUSTER-FPCA archircruB conraini.E vrrious<br />

prcponrons oacMs rcurin8 lmcks: and ir i3 abte lo er.ciiv.ty rhnstale lh. r.gulqrny<br />

in intcFsup€rclusld @nneivity inro eo slvings.<br />

As ar inpotui fad<strong>or</strong>.a|cline rhc.E. ed sF.d oad FpcA is rh€ togi. bt@k<br />

(rogic crun€r) architeturc lsed within lh. FpcA. The sizc ofrhe togic used i. FpcA<br />

arcrirccrurc €n havc a drmaic efiec! <strong>or</strong> ir5 aE and pcrfomane, previous w<strong>or</strong>k<br />

I I ll d.modd€d rhc cfd of ctund ,ia oi 'E .trci.rcy. AtF, it w6 sp..!tar.d<br />

$a as clusre. sizc is ieErsed, circun rpa{ }o!td b€ inprcv.d. As ctust r 3iz. k<br />

incre.scd, lwo ihinls hapDen:<br />

|, Moe crili€l parh tunedons @ abt. io us rhe td t@l i.q@nnd 6rrcr than<br />

urnB 3low incr,clui.r (bdwen ct6lcr) inr.rconner, bur $is to@t inr..onn.cr<br />

? MoE onndrio: !c @mpl.kty lbrdhcd wirh,n ctuJ.D<br />

ourng is Equnld (rcducins @), bur thc taat i.cennmr<br />

Aowins quadBtically (incrc.sing area),


Th. .It ct of losic clusre, sie d ciElil s!€d d vc<strong>lt</strong> s @ is hc<br />

fo. FPCA rcgrches. Con$qu.ntly suir.bt tosic ctuner sia must *erablrshcd to<br />

mect $e coh<strong>di</strong>tion l<strong>or</strong> ben area-d.try rad@ft The rcsuhs of r@k counr rcuting<br />

aNo. atrd rc!!trg delay suggesr tha( conlj8umtion Dem<strong>or</strong>y sharing rechniquc h !r<br />

cilanivc mc odoto8y in achievins signiucdr aM srvi.gs i. lhc clustcd rpCA<br />

> TR^CK COUNT<br />

Clapter 5 concluded thar rhe <strong>di</strong>rhncric lv.oge ofrhe ad<strong>di</strong>lionatnumb€roffinilEin<br />

ourinS kocts requiEd lo @ure acircuit f<strong>or</strong> a speified nuhber ofCMS rcuring tFcks<br />

h shown in Figure 5.7 chrpre! 5. whec $. avcrc8e nutber otfine-8nin kacks is<br />

ploll.d agaiNt rhe sp.cified nuobd ofCMS rBcks. The x-<strong>di</strong>s k tEc[ @unr in<br />

r.nns oi lh. numb.r ofcMs rcuring rmcks rp.cified in the eudy. Tt. y<strong>di</strong>, is at$<br />

r@l( counr, br n it in rms ollh. m. of retr ieden in dds.o {cEstuly oulc<br />

Ale plotrcd ih rhe same igure is rhc.rirhmcric av.Eg. otde routnumbd olrnc[s<br />

(nncsraii tocks plus CMS hckd rcqrircd p€f ohannct t<strong>or</strong> rouring a cncuir lgaiNr<br />

lhc spccifi.d numberofCMS lncks. Fin.<strong>lt</strong>r. f<strong>or</strong>lhcee of rcfdne, rhe numboof<br />

cMs rouri.g lmcks sp*ifi.d in *h inv.nig.rion is rtusfe.ld iDm rh. xqis inro<br />

lhc dlsh.d lin. in rhe FiBUE 5.? chafld t.<br />

A3 showi (Fisurc 5.7I the av.ra8. nuobcr of 6n.-sain hkl dec@s trco t6<br />

tlcks down to 16 rhtu l0 rracts r€rch.nictasrh.av.Ege nunb.rofCMS tsks is<br />

n.rcascd rrcm 0 ro 30 r@ks per ch.nncl, This d.cRs. h due ro thc u$ofrh.CMS<br />

lftcks in pldce of fi. noe.gftin rracks by FCPR. Nole th.r rne finegoin rRcts<br />

d.crce sirnificanny *hd rhc numb.r oICMS rEcks k increasd toD o to 40<br />

rJ5


t&ls pn chann.l. By ad<strong>di</strong>ng lhr$ 40 CMS reti a m<strong>di</strong>hlh ot2l fi.e,gBin<br />

r€cks ..c eli'ninared. The nr. of d.c!.s. 3to*s significanrty when lne rumb.. of<br />

CMS tacks is funhs incrcased lom 40 ro 30 roc(s p.r chenet. Ay ad<strong>di</strong>ng thc* 40<br />

cMS tacks. onl' t ine-grain <strong>rl</strong>acks aro svcd. This stow down isdtrc ro rhc tacr $ar.<br />

many ctrcurs, the nunb$ ofCMS kacks hls<br />

'n<br />

@chcn sa(htion In saruBlioi.<br />

lirnher incrases in rhe numbo ot CMS l6cks wi<strong>lt</strong> n<strong>or</strong> reduce the nuhbe. oftinc-<br />

garn racks rtre rhcRarc w.ys ncrs lh0r c rcvcr bcctr butd <strong>lt</strong>ro(sh rhecMs<br />

> ROUTINC AREA<br />

The arnhn.ric avcEB. of rhc r<strong>or</strong>.t .8. @ns(ocd by ouring |sures f<strong>or</strong> 4h<br />

circln ir shoNn in Figur 5.8 chnprq J. Th. er is mG<strong>or</strong>cd in 0cms of rhe<br />

minimum-widrh tdsist<strong>or</strong>ea [33]. In <strong>rl</strong>r fisuE. fi€ x-uis is lhr.onb€r ofcMs<br />

outns rftks sF.ificd by rh. in6i8.rio., Thc y-oxis is rhc aE m6uEd in<br />

ninimum- *idrh r@3in<strong>or</strong> rEa,<br />

As show. (FiguE J.l). lhc gnph €n b. <strong>di</strong>vidcd inro rhE rcgids, tn rh. fiN egio.<br />

wheE rh. nrhit@rucs conuin bdw.en 0 ro 28 CMs 0&k! p.r ch3nn.t, rhc ouri.s<br />

:E actuony 8.6<br />

woKe whh rhc i.crcad nunbs otCMS rr&ks. This iicrc.se in<br />

aE is due to the lacr rhar rhe ik.mci.ic,of lh. CMS t6ck! houtwei8hed byrhe<br />

extemely snall nunb$ of ouing bu$s and rh. hcrased <strong>di</strong>vedty in Duling<br />

rcsources. ln de sond rcgion, rs fic rumberofCMS rEcts is tunhn incrcased. rhe<br />

rounng are sfis ro dec@s.. At beiwocn 32 ro 64 CMS hcks per chmnet. rhe<br />

rcunns !r.0 b.comes sroll.r dan $c @uling &! of dr. archilccrure lhar conlains no<br />

CMS lmcks. Finally, in Egion rh@, $ rh. numtFrofCMS lmcts rcrches satuBlion,<br />

t26


hc buring aH a8ain sLrc io ifttle lrd b@h6 laad rhj .h. rcuting aEa oa<br />

the mhikruc $al conr.insno cMs rcurii8 rrets.<br />

'<br />

ROUTINC DEI,AY<br />

Thc Bhneaic av.68. <strong>or</strong> tne ponion ot cririFt pdn d.lay lh.t is oNunEd by $.<br />

outi.g @urc.s f<strong>or</strong> och circuir is shoqn in FiCuE 5.9 chapl.r 5. In rh. fiCue rh.<br />

X-axh repf*nls thc.u6b€. oICMS slrii8 racks sDeifi.d in rh. i<strong>rl</strong>e$igari<strong>or</strong>.<br />

The Y-axis Epes.nG ihc delay neduEd in nrms@nds<br />

As shown (FiglE 5.9). th.r. ft em. spad p.n.hi6 .ssiatcd wiri sins rhe CMs<br />

tftks fm a mrjoity olaEhnanuB. F<strong>or</strong> 4, 8, 12, 40, !r4. 60. Md 64 CMs @(ing<br />

l6cks per channcl. however. the p€rromance o | ftese arch ireru r.s arc cohpambtc to<br />

rhc!rchilecttrrecon|lining noCMS rmcks.<br />

Chaprcr 6 presna $. rBulc of qp€dndB run ro n6ua |<strong>or</strong>at e4 inFa{lccr<br />

aE, fbrrusr.r d., robl cioir d.lan inlra{luslq d.t.y, sd inre.{tuster d.tay<br />

oflhe neP FGPR outilgalgoirhm.<br />

> LOOK-UP TABLI VsCLUSTER SIZE<br />

Th.rc have b.en sclcdl nu<strong>di</strong>6 in lh. p6l which d<strong>di</strong>ned rh. .fier ol toSic btek<br />

aunctionality on $c aB md Fsfomme ol FPCAS Tne r* ol l.Ac LUT5 gpn@lly<br />

prcdu€s Eood pcdomine Bulrs sincc ih.F ec a lew.r iunb.r of BLES on dt<br />

given crilical path. However bs3tr& thc logic blNk ma grow3.xponenrially snh<br />

tlic nunb.r ofLUT inpua, iha laa.r bl6k.rc vcry.xp.miv.. With rhis in mind.<br />

th. kct t(l dy FPOA logic hlcl rtudy b 1o bdee ln* tlo oppcins feb6 md<br />

delcmine an appropriaG LUT sir which givcs b<strong>or</strong>h good p.domance and logic<br />

densiry. F<strong>or</strong> cximpl.. rhh w<strong>or</strong>k shows rhar a LU l size ol4 and 5 <strong>or</strong>e rhc mon aR.<br />

cficienl in the clun.,el com*r. On. of th. k y obeRarions frcm rhis sudy is rhar<br />

tz7


th. FPGA 4. is nainly dominat.d by rh. intcrclKer rcuting @ ard e@ $ough<br />

iica<strong>di</strong>nc logic funclionahy Esuhed in fcq.r logic biocks lhis could casily be olTsct<br />

by rhc incr@. in @ulins.ca du. b fi. lms€r numb€r of.xtcnal pin ro pin<br />

c<strong>or</strong>rdnn$ hclweo, blNk! llcncc. n is $nchdd llrr l(aic hk{ks wnh hilh<br />

luictionality pe! connectcd pin prcduced th. besr ar.a rcsuhs.<strong>lt</strong> isobe .d ihat uling<br />

a LUT si& of 5 to 6 eavc $. bca p.rfoms€. The FPCA p..fomdcc tu<strong>di</strong>6 tdd<br />

ro fav<strong>or</strong> larger LUTS siice lhet rsuhcd ii fewer leveb oflogic on $c crniqi path,<br />

Siicc the euing delry it lalg.r than rhc losic delay. rhis gdcdll, ledt ro positivc<br />

d.layrcsulh.Conclu<strong>di</strong>ngth.<strong>di</strong>eusionecobsc .dlhot:<br />

> Thec it . Educ(oi in r<strong>or</strong><strong>rl</strong> @ *hd rhr cl6r.r rir is incrcls.d lom I to l<br />

t23<br />

fs all LUT sizes. H<strong>or</strong>cvcr, 6 cluslcN e madc 1.4.r (X > 4) rbse is v.r,<br />

linle impacl on ro$lFPCA.@.<strong>lt</strong> is gcneBlly crpected thar incE<strong>di</strong>ng logic<br />

bldk luncrionolny should 6uh in moE BLEs b.irg tdd.d lo a clund dd<br />

conne<strong>di</strong>ons rhat noflnally would havc brcn rcured exi.nally are rcw<br />

absod.d intmll to rh. ctun r. This should ,.due lh. incr+lust.r .eo shich<br />

is usudly rnuch hilh0r lho. $e idd-clu$er aru! ond rhus hrvirg a posilivc<br />

on r<strong>or</strong>.r e..<br />

'npacr<br />

t wc obscd thd d. i.rrelustd .B rwislly td.6 up .bout o.<strong>lt</strong> 35% ro<br />

40% ofthe lot!|6a, cxcept wh.n the LUT 8iz. re&h6 6 6nd 7. !l thich<br />

p.inr i d{lust. as bc@d. dominet lactoi th. kcy .lI4], s !lMy3<br />

in FPCtu, h with th. outing aRa. Figure 6.2 dGcuss.d in chapter 6. gives.<br />

pl<strong>or</strong> ollh. total i cRluste. mutin8 @ s ! function ofrh. LUT sn &d<br />

cluncr sizc. Thal Filurc shows lh. outing da d@rc.s in . liftar tashion<br />

wi$ incrc.sins LUT si4. This panicula 6u<strong>lt</strong> is iiFreninS sin@ pEvious


woA tiom !3lhas shown rha h. burins ae. lchievcd ! hinmlm *rrei<br />

K=l od K-4. dd incras.d ao, valocs of K b.rond rhis.<br />

'lhc <strong>di</strong>llsrcncc in rusuhs tiom l|]-14,4t1 n.d our cuftnr rriuns cm ft<br />

!ftibur.d blh€ facr rhar rec iowusingbctr rcADrek *ifi neq FcpR<br />

.Ig<strong>or</strong>irhm;in pr<strong>di</strong>cularrhcquatiryof6e prac.n.nr tmt.nd rhE ruuun8 r<strong>or</strong> r<br />

signifiQnlly bencr, and us signifidn<strong>rl</strong>y t.s wiring. rn d<strong>di</strong>tion, f<strong>or</strong><br />

clunercd lqic blocts, hoE ofrh. Buting is b.i.g tnptcmd!.d wirhin rhc<br />

fte inlm-cllstsdcl.y dE@ss rs rhe LUT sizc ioc6*. Trris is du. lo th€<br />

ircr rh.r Erc ha Gduction in rhc number oI BLE tcv.h on lh. citicalpa$<br />

ad henc. rh.re will b. few.r togic tw.ls b inplemnr. Thi, *, r@,talc<br />

rmoa reduction ii itrr!a-ctusrerdcl.y.<br />

inc im6{lusb d.lay incffi f<strong>or</strong> dy Civd t_UT ti2. as rhe crusl.r,,a 6<br />

ncrc.scdt cxcepl tne ctuster sizc 4 to 5 t<strong>or</strong> a[ LUTS. This B Ec.use rhe<br />

g.t latgcr Md rhftaoE stos.. How.,. th€ d.tay<br />

turrcugh lhcse muxcs h sri nuch tasler than rhe inlsFloster detay. As K<br />

irc@s to 4. rhcrc ar. t rer LUTS on rh. cira€l paih. &d us r.nsrdes<br />

into f.wer lnter cl'|sle routinB tiiks, rhus darcasins rhe intekruser oulng<br />

delay. Similsly, rs N G imEascd 4 md t uoe onnerions aE oDrutd<br />

wnhin a clu$.r, rnd ogain, rhe inreFctusrer rourinAdecG.scs<br />

In <strong>di</strong>scu$ing ths rade{frs. ir\ usfut to fo os d erpticn cx.nrte.<br />

How*cr, it is intercsrins rhar i.c6ins c|Brer sizc has tide impacr after a<br />

eiain poi (f<strong>or</strong> x > l). Figuc 6.? shows lhis ctwty whcE i<strong>or</strong> any fix€d<br />

LUT sia, $. majoily ofde imprcvement in crniat palh detay ocquu 6 rhe<br />

t29


clu$er size k incGasd lom I ro I Any l]rther incMs.s in ct\,srr size<br />

Buxs In a vcry minidum d.lay imprcvemcnr. This b.havi<strong>or</strong> suggcjs thar<br />

clureing h.s tide ctfer aticr a c.tuin poinr, This h countcr-inruirivc lo *har<br />

ae exp.cr. Thal is, cnploying tarSd ctustcrc shoutd atwoys rcdue rh. oiri€l<br />

path. Ahhough,lhc l<strong>or</strong>al dclay Butrs from Figuc 6.5 do n<strong>or</strong> conrn<strong>di</strong>cr rhk.<br />

Nhat w6 strrpruing wrs hos tird. ofan improvemenr in ro6t delay .r w6<br />

achi.v.d wirh ta.g.. ctrstq tik. 6. To b€Ir., ondeGrand this snuarion, ir is<br />

su<strong>lt</strong>icicnr to examinc lhc numb€r oftogic bt@k t.v.h (iq ctust,levek). The<br />

6u<strong>lt</strong>s cl.aily sho* $c nuDb.r ot t.v.h dercsing sith inc@ing ctoslo<br />

!trd LUT sizcs. Bur, rbr any Bivcn LUT siB il on be soen that mosr oifie<br />

aducrion h lhc numb( oa tevch ftcuu N thc ctush sizo is ince$d rion I<br />

ro l. Aho, recattdar $e hoj<strong>or</strong>irr ofrne criliatpath detay ws reduccd in rhis<br />

tug€ (s sho*n in FisuE 6.?). Tfi. <strong>di</strong>@t Ela on,hip bcrEn lhc nunha <strong>or</strong><br />

cruster teveh on rhe criijcat parh ud rhe nn0t rolat detay h no coincidenc..<br />

Fe*& losic bteks on rhc criridt parh reds b inpovcd perromance. The<br />

frain eason rhar rher<strong>or</strong>atdctay<strong>di</strong>d dot improve signincanny as ue varied rh.<br />

cluser sa2c lmm I to tO 6 rhd rhcE \6 e sisnifie du<strong>di</strong>on i. rh.<br />

numbq <strong>or</strong> losic bl6( tev.k Withod a reducrion <strong>or</strong>lhc nunber of iileF<br />

clusrcr lcve<strong>lt</strong> on lhc qit€t p6th E @.<strong>or</strong> po$ibty expc.t impovcmoG in<br />

FpCA pc<strong>rl</strong>brmancc.<br />

AI$. rhc srody lound <strong>rl</strong>Br rhl @nfiBuhtio. mcm<strong>or</strong>y+harina shcn. sti cin bc osd<br />

roegnificanr<strong>lt</strong>Educ€theamounrofcdnfiguBrionn.m<strong>or</strong>yu$drocofuota.FpcA<br />

and rcha'ns ro bc a pDmjsi'rg rehnoto$, in ,pplicarion f<strong>or</strong> ctu$c. bascd FpcA<br />

B0


FUTURE SUGGESTIONSI<br />

Thd CLUSTER-FPCA archileluE m b. os€d a5 a twh t.hicl€ b inlesrigar.<br />

inro r va<strong>rl</strong>ous queniotrs rcgtu<strong>di</strong>nSCMS ourinS rcsources. inc,uohs:<br />

I Can configurarion mcm<strong>or</strong>r sheing b..fectiv.ty used in supcrc<br />

inc@sc rhea@ crnci.ncy ofih. CLUSTER-FPGA .rchirccturc? Cumiy rheE is<br />

no sluinA of configuDtion nch<strong>or</strong>t inside lhc supei{tustc6. However, sincc, {s<br />

des'ibcd in Chaprert. inoderro aprure i.r!.bit-<strong>di</strong>* connections inro im.rsup.F<br />

.iuscr b!ei, ide ical LUT configudlions a one k.pt insid. a sinBt. sur€.<br />

cluslcts and cach of $csc idcmiqt LU,rs arc hptcmcnrcd i[ uniqlL ctund^.<br />

configumrion mcn<strong>or</strong>y sh&ing &rcs ctusicB niShr b. .<strong>or</strong>. ro rcdue rbc<br />

mprdnmbrion .E oa ft. sup.r{lunc6.<br />

The sha ng nccds n<strong>or</strong> ro be implemenrcd f<strong>or</strong> atL togic and tdat ouring rcsources:<br />

inicad. n mi8ht b€ most bcn.ficiat ro onty shar. conti8uErion n.m<strong>or</strong>y f<strong>or</strong> onty i<br />

D€rccnra8e of lh.s rcso06. R*dh iccds lo b. don. ro frnd lh. b6r prcpo4ion<br />

of confi guErion mcm<strong>or</strong>y sharin! resourccs inasup€Fclust.r.<br />

2. ls tlcE ,.t bcnelir ro od<strong>di</strong>.g prcgBm m!bt. connd ions bdw(n rhe CM S DUr i.g<br />

t@rs and lh. ,ine,srin muling rEcrr inside $c CLUSTER FPOA swi<strong>rl</strong>h bt@ts?<br />

cuiiendy, ir h Numed lhar insid. €ch CLUSTER-FPGA switch btock, rhft is no<br />

conncctiviry b.rwen aCMS rek and a fineErain hck.<br />

^le tr'is rhcsis dpl<strong>or</strong>cd lrriout apnlMhd lo impEvins FPCA pcrtbmarcq<br />

cluscFbased logic blocts, rimtnS.<strong>di</strong>vcn psoking, and rinins-dnven praen.nr<br />

in rhc furuE, ir woutd b. imcGring ro * how a ctun+bas€d ,EhitRrure wirh<br />

LUT5 oth€r than sirc 4 <strong>or</strong> s anbination ot<strong>di</strong>flcEnr sik LUTS eutd pdfom. F<strong>or</strong><br />

FPGAS.ompo*d ofrh6e nes tolic;twcs, itwoutd be inkEninglo see how many<br />

Bl


l|!{& c Equftd ft. tutl uliti4rir! rn h<strong>or</strong> naibl. ttF mriry ii& jstd<br />

be, Ano|na .6 ol Inr.6t wutd b. ro ,ludy & FPOA wirh i..Gli.tihb<strong>or</strong><br />

i<strong>rl</strong>@ rdr Tl*.. @lEio|n ,qtd dto'" cttiot dE to t d|.d bclEl<br />

d!.r.F u.lni f.{ i<strong>or</strong>€l4t8hbq @r.dG dlh. rh{ utiS tt driv.tr jd<br />

itr6.l'e noir. To lrdy dft ie|.' t wdd bc ,Ec.{r, ro dcEho i6{ CAD<br />

loob..FtL olqd<strong>or</strong>ts ft& at&c!nd-<br />

tt2


RETERENCES<br />

lll Brcwn, S., Fhncis. R,, Rose, J..lid Vmesic,2., "Field<br />

Arzys." Kluver Acadcmic Publisn rs\ 1992. pp.25-21 .<br />

I2l Roben Fmncis. ]odrh.n Ros, and zvonko VBnsic. Chonle-cra Fan<br />

Technolog MappinS lbr Lokup Ttble'Bascd FPGAT'. ii Prc.23rh Dcsign<br />

Autom<strong>di</strong>o Cont, 199 t. 227-211.<br />

Illlson Cong $d Yuzhcng Ding..FlowMapr An Oplimcl Tcchnotogy Mappins<br />

AlSoilh <strong>lt</strong>r Dcl.y Oflihialion in Leluprr.bh Brscn fpCA D{signt..<br />

IEEE Tmns. on CompurerAided D.sien. t994,pp,ll t.D7.<br />

I.ll Krishmenhy. S,. Swoinalhln, S,. dd T.sri.r. R, .Tehnotosr M.pping<br />

Alg<strong>or</strong>ilhtrrs lbl Hybrid FPOASConrainins LookupTahtes ard pLAs,,<br />

IEE€ Tm.s. on ConpuLFAidcd Dcsign, 2001. tp.545-559<br />

I5l sFopsrs D$iCnCofrpiterManuat, Synopsys lnc,, t999.<br />

16l oat!, K.R.. Rajpul. A.Q.K., .nd Choldhry ,B.S. ..Anotris and conp.is<br />

of Synth.sizinc Alg<strong>or</strong>ithms f<strong>or</strong> A@ atuj D.toy Minihizsrion in fpcA<br />

Archiieturc'. Mchnn Univ6ir, Resh Jam.t ot €nsiftsins &<br />

T6hnologj/, votum.2J, No,4. , Jm3ho@. prkish, Ocrob..,2006, pp 35 r,<br />

362 .<br />

I71Yu. 4.J., rnd Lchi.o\, c.F. "D.f6lbtcrant FPCA $itch brak md<br />

connelion blel silh fin+gr.in kdund.nc) f<strong>or</strong> yictd ctrhinccoc.r. ,/1<br />

conl on Fi.L1 PnsruDhobh Loeh @jd Azpticdbn,, ZOO', pp. 42541t .<br />

I8l Lin. 8,, and wihon, S. j. e.. Merccel Archneiucs f<strong>or</strong> producr Tem<br />

Enb.ddcd Mcho.] Aruys, , prcscnled !r rhe I]lh Inrnrariotrd Conferonce otr<br />

lll


Ficld.PBs.ammrblc Losic md Appticarions. 0cr6r. UK. Augusr 2oot. pp<br />

JZ5-329.<br />

I9l Bosn. S., Rc. ,,. Z, Vlmsic. c,. "A Dcbit.d R@t r f<strong>or</strong> Fi.td.<br />

Prcghhnable Catc Aiia)s,'/E t bmj on CAD,M^y 1992,Fp.620 - 62A.<br />

ll0l Lcnicox. O., aown. S. A Da.it.d RouF t<strong>or</strong> A miinB WiE s.gmcnrs<br />

i^ FPAA{ ,4CM/'rcD, Pl'Fical Desia, ly<strong>or</strong>tttt'p. 1997. 99_215-226.<br />

lll Roy. K., &d Mch.ndal., M. .,OFimi<strong>di</strong>o. of Chene| Scsm.nr<strong>rl</strong>ion fo.<br />

Chrnrcll.d Aahicrtre FPCAS. C/CC. Mr, | 991 pp. 44 t -4rt4.<br />

Il2l Boqn. s., Khcllah, M. and Vnncsic, z. ,.Minim izins FPCA lftrconnccr<br />

<strong>lt</strong> lnys. IEEE D.risn and T.n MaE@,rr, winrr 1996, pp. t6-2t.<br />

l3l Bdz, v. Archnelurcs lnd Algofthns f<strong>or</strong> Fictd-prcBlanrrubte Crr.<br />

A6ys,^ Ph.D Disftdati@. Unlf.6ny ofTodlo, 199t.<br />

Il41 aelzj V. er rr. (VPR: A New pccking, ptaehc lnd Rourins Toot tbr<br />

FPoA N.eud\,' tnt.r<strong>di</strong>o"d tyutttrp on FpL \991, @.2tt-222_<br />

051 wihon,s. Arch irdlu r.s and A tgo.irbms a<strong>or</strong> F i.ld- posram 6ab tc Oalc<br />

Adys wirh Eob.dd.d Mms<strong>ics</strong>," pLD. Di!&d<strong>di</strong>o\ Untu.Big ot<br />

lr6f Rubin. F. _rJ.l. L6 P.ih Connarion l],sonrh ,n EEE TM. Co\ad.A,<br />

Scpr, I 9?4, pp. 907,9 I 4.<br />

II7l Soukup.J. Far Me Rour.t: PM. r5th D.<strong>lt</strong>gr,4uton<strong>di</strong>on Conf, Jnn<br />

1978.p0.100-102.<br />

r.)4


091 Kuh, E. S, ed Mtrek-Sado*rk., M, Clobal outing; in LaNe Desisnu<br />

B5<br />

p.M<strong>lt</strong>y-tuftiion <strong>di</strong>vn wiE rouring<br />

Ob6uti. Ed. N.w Yoft: Elsvid Scicncc. 1936, pp.169-198<br />

[20] Nan, R. "A Simplc Y.t Er6tiv. Tehniqu. r<strong>or</strong> clobal wirin&" /E t<br />

TtuN. o, CAD, Mzrch t981, pp. t65-t?2.<br />

I2tl Xilin\. XC4(4qE .tul XC100OX S. es FicLI PtosMbla cda AtalN.<br />

P.qluct Spr.if'ation. Noven!.r l9?, ovril.blc fDn ww.xiti"\..otrr.<br />

[22] BDwn, S,. Kh.lbn M.. and L.mi.ux, c. ..S.gn.nl.d Routing f<strong>or</strong> Spc.d-<br />

P.rfomdnc. dd Rourabitity in Fictd-pog.ammabt. Oarc Aftys.. ./,,/,"1<br />

,/ t4sl Ddrrg4 vot.4. No,4, 1996, pp.275-29t.<br />

[2]l Rubinsr.i., J.. P.nfeld, P, dd Ho@iE, M. ..Sien.t Dch, in RC TG<br />

Naaqkd IEEE ftaMtifu on Conpmer Aided DaiSn of btesded<br />

Circrns anl S!a?ns, "lol. CAD-2. No. L luly I983 pp. 245-249.<br />

I24l Alcxandq. M., Cohmn. J.. cel.y, 1.. ud Robins. c, .pqfomon*.<br />

oienr.i Placcmcnr and Rouliry t<strong>or</strong> Fi.td-Pbgmmabt. Calc Amys.<br />

[25]<br />

Eumpca Dcsiqn 1d@ion ConJ, I995, pp- 30 - 85.<br />

Ki&pakick, S., er al."Optimialon by Simurared Anneotins,,, Ji,ir,.d, May<br />

ll.l983.pp.67l{80.<br />

126l Ko!, L,, Ml<strong>lt</strong>owskt. C,. and B.m!n, L. A Flst Al8<strong>or</strong>irhn a<strong>or</strong> Steinct<br />

Trees. Ackt l<strong>rl</strong>o.mohca, $. t5.l98t,pp. t4l -t45,


I27l Lee. Y.S.. wu, A. 'A<br />

FPOASc<strong>or</strong>sidcing Pnrh Dcloys," D,4(', 1995. pp. 557. 561.<br />

B6<br />

Pedom.ne ad Roubbilitt Driven Rourn i<strong>or</strong><br />

I28l ElmoE, w. C. 'The rasiql BDon* ot d.mpcd tina n.l$lks wnh<br />

ponrctrrar ruga'tl to Nidebmd anplifi c6. .,t,,tu<strong>rl</strong> /r/r., vot. t9. n0. t. 19.18.<br />

lX9l Xilinx.lnc,. Chipsnpe Ptu SoImM Uer Cti&, e6,3.1. O


[]5i Xilinr lnc., Th. Posrdtubtc rigic tuh Aook. re9,t.<br />

116l Xili,lrc. yid.t-I Ptu Pldhn FPdr Uzrcarih,r2A, AoC.2@1.<br />

[]71 A<strong>lt</strong>(.nrc,, MAX+PLUS tt CcoiigSr!dc't." t995.<br />

[38] B@*,K.4,.ctol. FidelityrndNeFoDtimatityotEtm<strong>or</strong>c-B.scdRourin!<br />

Cd3rmdoc, tcsD, t 991, !C. 8 t-84.<br />

[39] N.8 . S, .nd Rurdb.r, R,, "Pafo.m.F<strong>or</strong>iq Sinulr.rour pt& ud<br />

Rourc f<strong>or</strong> Row-8&s.d FPGAJ . TCCAD t995. pp. 132 - 338.<br />

[40] Snid.r, C., Kkk6, P., aid Willilejr&. S."CMOSnik to8ic in Dcfective<br />

NaJ1ogh Cb$!o!s!"/{e- oktrElo&,, vol. I5, pC.88t-891. ruft 2(xX_<br />

l4ll Khcll.t. M., S. lld BNn, Z, "Mod.lin! R@ring DdlF in SMMb.scd<br />

FPCAs: PM. cana<strong>di</strong>an Co"l. on ftsr. 1993, W tc,2-t056.<br />

B7


Arp.rilL E<br />

AeD..db E<br />

APPEI\DICES<br />

Tst A€(xrd) h Mn virt Ttu As<br />

Lt!4lur<strong>lt</strong> Ar. 6106) in MiD. Wldth TtrrE<br />

Inbrcluit ( An| (x106) in Mi!. Width Tma<br />

T<strong>or</strong>.l D.]|I b ru4o6dr<br />

ldl<strong>or</strong>dd Dc||0 h nm-sc.o<strong>lt</strong><br />

It cFclu<strong>lt</strong> r D.l.y<br />

t3E<br />

'n<br />

Mes.con<strong>di</strong><br />

t9<br />

ttr<br />

l()<br />

Itt<br />

l7{<br />

Itl


App..dh A<br />

Totil Lngic Are. (itr Ditr. ivid& rElsisr<strong>or</strong>) ro. the 20 B.nchmlrk<br />

Circui|l<br />

/t I<br />

In locic a@ csulrs l<strong>or</strong><br />

9s-spp.n<strong>di</strong>x<br />

th.20 b.nchnai. cncuits .E Bivcn, tha!<br />

'okl<br />

inplemmlcd ir cluster bascd uchirecrure wilh ctunet si2e I !o ?,<br />

Tabl. A.l: T<strong>or</strong>.l Aru (t10o) h Mir Wtdrh TnG. A€ (Ch,r.r St 4 - r)<br />

2-LUT }LUI +LUT ILI'T CLUT 7-lur<br />

4.061 3.14 2.621<br />

t.867 4.131 5 t6<br />

2.41 2.698 1.026<br />

3.311 1.502 2.264 2,051 t,l0l<br />

20.771 17.3t4 l8,l9l t7.565 19612 2! 726<br />

1.695 2.161 2.341 2 254 l_222 t.5 t4<br />

1.702 2.282 2.216 2.t61 7_J61 2.651<br />

l_021 2.124 4,t42<br />

6,4JJ E.306<br />

I l.?5 | t0.I? 8,661 I0_2ll l0.tol 7.131<br />

2.421 2.t84 1128 2.O71<br />

,.164 3.0?6 3.055<br />

4.021 Lt46 2.682 2.76a l.B7 I4lr<br />

r5.]]l t2.11 r2.048 <strong>lt</strong>87l t2.065 12.711<br />

3_21 l.0t 1.t67 ].fl8 4.161<br />

5184t? r4.|]7 |.127 9.172 t0.<strong>lt</strong> 7 7.8t4 t0.l)l<br />

stE58.l t2.941 It.D6 I t.5t4 r0.l9l t0.997<br />

4.J65 1.115 t,1t1 1.686 4.074 4,581<br />

ll.9l 8,298 9.52 |.297<br />

r.t65 |.515 r 5l6 t.879 t.059<br />

6.u055 5.696t 5.7J75 5,8468


Trbre A,2: T<strong>or</strong>rt atu (rt01h Min. wt<strong>rl</strong>h Tnn' Arer (cl!3tcrst,e = r)<br />

2-LUT }LIJT 4.LUT<br />

'LTfI<br />

CLUT 7.LUT<br />

1.484 t.]t8 2,786 2.319 1.t16<br />

1.63 1.929 i.9l 420{ 5.042<br />

2.141 1.0r9 2.9<br />

2.908 1.593 2.008 2.006 t.167 t,tt7<br />

18.631 10303 2 14.t51<br />

2.795 I581 2,287 2.4t2 t.286 | 521<br />

2_4J1 2.||l 2.]]t r156 2.161 2 668<br />

2.409 2 058 2.014 t.487 |.416 1.9t9<br />

6.143 5 9.16 592 3.54.2<br />

12.264 9.t5 |l 088 I0.82 7.82.1<br />

2.]]t 2 6.ll 2,281 2.2.11 ).061 t.9t I<br />

6.938 1.919 3.411 9.415<br />

3.348 1.022 2.726 2.346 1.021 1.633<br />

B.!94 t2lll t2 658 t2.166 D.l |].921<br />

.t.725 t.242 t 234 t.27' 4.2t1<br />

tJ_u I t.82t 3.t91<br />

377 3.7t1<br />

t2.2t6<br />

10.629 t0.621 9.243 10.085 t0.594 || t59<br />

|.612 t.<strong>lt</strong> t.t6l r.8ll 2.965<br />

6,32495 6ll3 6,0t375 6.92325<br />

t.tn


Trbl. a.3: T<strong>or</strong>.l Area (x105 i! Min, wdrh Tdns. AM (Ctut r Sizc - J)<br />

2-L<strong>lt</strong>T 3-LUT ..LUT 5.LUT GLUT 7-L<strong>lt</strong>T<br />

2.35 | 2.507 l<strong>lt</strong> 2.791 2.651 2.961<br />

1.4t6 1.261 1.605 I331<br />

2.524 2.1t3 2.547 ).633 l.l2<br />

2.254 2 342 r.98J t.t5.] t.I9<br />

r7.251 t4.561 21053<br />

5.171<br />

2.O42 2.075<br />

2.042 2.073<br />

|.262 t.173 4.224<br />

3.295 9.212 7.t.12<br />

2.16 t.371 t.373<br />

6.t01 3.723 t0.885<br />

.2.33 2.669 2,421 2.93 1.501<br />

9.828 t0.7t7 t0. r75 I t.87<br />

1.t92 2.336 2.5t8 2.751 l.9ll<br />

t4.t03 r0l5J<br />

t18584 t2.t5l 9.05 .859<br />

1.345 t.025 LD9 I601 4.325<br />

3311 4.29 3 931 t0.t37<br />

|.402 LII t_724 2.96t<br />

5.Jt345 4.9651<br />

14l


T.ble A"4: T<strong>or</strong>.l Ar! (! rol i! MI., Widrb Tmir. Ae (clusrer siz. =.r<br />

z.LUT }LUT +LUT 5.LUT GLUT 7.LuT<br />

1.73 \.4\2 3_!t7<br />

2.462 2_115 7_101 l.tt7<br />

2.547 2.52,6 2_219 2.t3 ta\2<br />

t6.t42 21.297<br />

2 671 ).151 2.2t5 2.241 t. t64 | 548<br />

t.393 r,687 t.136<br />

5n8 6.I3 5.nl<br />

9.08 | 8.ll 9129<br />

2.051 2<br />

5.361 6.29.1 6.92 I t.z2<br />

2 40t 2105 l.6l<br />

10..1t1 t2.tG9<br />

2 t2l 2.t71 2.751 4.021<br />

<strong>lt</strong>.l2t ll_012 9.121<br />

t]8584 ll 163 t0.0tl to.252 . 8<br />

1.103 t.0t5 2,91 I t45 1.676 4.591<br />

3.214 7.l]4 9.012 t0.229<br />

| 261 |.701 | 869<br />

5.6427 t)J07 5,01'675 5.2t525


T.bre A"s: T<strong>or</strong>.l Aro (1101 |! Mir wid<strong>rl</strong> Tn4 ae (ct$Lr sir = 5)<br />

!-LUT }LUT .|.LUT tLur GLUT 7-LW<br />

2.706 2.l.rt 2.265 2.tt7 t.112<br />

1.261 Ll0l 1.231 t.t26 4 t02 5.r.t2<br />

2.453 2106 2.t74 2.432 tt75<br />

7 22t 2.2 2.044 1.521<br />

t5.401 t5.95 15.498 t6.442 r9.8r2 24.196<br />

2.$9 2t72 t.2t4 160.1<br />

r.918 1.822 2.066 2.169 2.t91<br />

1.706 t.531 t.50 | 159 1.525 4.4!8<br />

1.465 5.061 J.965 5.66) 9 225<br />

3.67t t0.177 8.581 9.]]7 9.63<br />

t.9t7 2,.|6 I 945 2.t91 2.052 2.102<br />

5.911 6 054 9.285 lr 781<br />

2.116 2 608<br />

t0.9tl t2.|]4<br />

2.7t1 2.438 2.431 l.l2 4.217<br />

t1.442 10.106 9.4 tJ 3.661 lli3<br />

10.153 8.291<br />

t.025 2.96r<br />

3.234 al75<br />

1.27,t r.6tJ<br />

5,2663s 5.344J


T,blc ,{.6: Tolll Arc{ (xloi) tn Min. wdt|' Trrns. Ar.r (Crustostze = 6)<br />

I.LUT ].LUT 4.LUT 5-LUT 6-LUl'<br />

2.1t5<br />

1.222 3lzZ 1.555<br />

2.451 2.142 2l,t 2.498 2.922<br />

t.98 2.201 2 089 2.0)r t.5l<br />

t5.373 t5.64.1<br />

2 t5t 2 009 t.26 |<br />

2.0t3 |.129 2.021 2.223 2.272 2,331<br />

1.303 t.'] t.541 t.431 t.5ll<br />

5 !22 5.n8 6. 9<br />

a.615 t0.t77 3.531<br />

t.9t7 2. 6 L94t 2.193 2.O52 2102<br />

7117 2.4t1 2.t06 2.41 1.617<br />

ILl04<br />

2 695 2.45 2.481 2.16 1..21 4.t95<br />

l2.9Jl t0.2<strong>lt</strong> 9.7t2 3.562 2l9<br />

| 127 9.422 t0.t0t .4 t4<br />

Iotl 2.m8 l.2l<br />

3.931 t0.2t5<br />

t.2t3 t.t65 I 481 t.451 3_229<br />

5r9535 5.04t r5 a,935 5.25t35


T.blc ^.7: To..l AM (1101 i. Mh. wirtri Tnn! a6 (ctrr.r sia - ?,<br />

2-L<strong>lt</strong>T J-!ttT ,|.LUT 9LUT 6'LUT 7.LUT<br />

2.768 2.16 2.34 2l5l 2.621 1.t33<br />

r.r86 t.t7l 1.529 1.9t3 5,023<br />

2.463 .2..159 2.296 1.23<br />

2..t0t 2.t61 2.003 .:.002 L4t5 |,427<br />

tt.301 tt.335 r3.365<br />

t_996 2.015 2.t11 t.507<br />

t 38l 2.0tt 2.042 2.074 2.564<br />

r.591 |.262 t.173<br />

5371 5 t06 4.202 5146<br />

8.29' 9.2 r.l 7.112<br />

2.0)9 2.094 2.004 t.87t t.904 t.878<br />

661' 6ll 6.J01 8.728 r088t<br />

2.33 7,.t5 2_421 1.501<br />

9.328 r0.7r7 r0175 r0_?99 ||,87<br />

I t92 2.336 2.tr8 2.751 t.9t]<br />

5.18'r t7 14.103 t.t89 9.926 9.514 1.461 l0.lJJ<br />

s18584 t2.t5l 9.lll 9.5t1 10.819 |L8J9<br />

3.345 t2 3.025 l.B9 J.601 4,t25<br />

3.314 7.954 3.29 8.981 r0.ll7<br />

t.184 t.402 r.t t.l |.124 2.961<br />

s.26425 5.rt9E 5.r608 5.67t:t5 6.6482


Anncn<strong>di</strong>x B<br />

Inlra clusler logic rrea tin min. *idth tEnsist<strong>or</strong>) f<strong>or</strong> the 20_&!S[!4!:t<br />

eillcle<br />

ln this apFn<strong>di</strong>x hll, clutcr loSic ea resulls t<strong>or</strong> the 20 bcnchmek ciEuils are givcn,<br />

that inlplenened in clu!€r bded dchir€crurc rith cluler siz€ I to 7.<br />

Trbl. B,t:ttrh-clcter AEr(rr0) i! Mtn. wtdthTnN. Ar€. (chsr.r size = r)<br />

2.LUT 3-LUT 4-LUT 5.LUI 6-LUT 7.LUT<br />

0.6J2 0,848 t.t5l 2.115<br />

0 552 t.051 1.461 2.148 J.218<br />

0185 0.514 0.716 L045 t.422 2.061<br />

05t2 1.t78 l.B:<br />

2.45J l.l4l 4.6t 6.051 <strong>lt</strong> 199<br />

0 501 0_488 0.881 L l4t 0.807 t.2<br />

0.558 0.811 L05t l26l L941<br />

0.415 059 0156 0 791 I )14<br />

0 942 t.285 2.001 2.161 I086 5.458<br />

t.406 2.021 2645 I817 4559 4.51I<br />

0.102 0.57t L042 I l0l<br />

|.2t5 r.859 2 509 4 062 5.746<br />

0426 0.534 t02 l.6l l .2.t97<br />

1.401 1.668 2,444 l.l7l 5 071 6.9t8<br />

t.009 I l2l t.795 2.6\6<br />

2.256 2.598 3.144 4.412 7.08r<br />

318584 2.059 2.452 t.t59 5.964<br />

0.492 0.6)5 0.919 |.264 t.816 2.151<br />

t.2t8 141 L978 2.88 4.21 6.t21<br />

0.i I I 0.86 0.55 0.701 l. t08 2.011<br />

r-t6Jl r.60dt5 2.13545 2.46a/ 4.17115


Trble 8,2: Inin-C|lst.rAF. (xt01tn Mtn. wdrfi Tnm Am (ctwrer s<strong>lt</strong> E 2l<br />

2-LI'T .]-LUT 4.LUT 5-Ltrr 6LUT 7.LUT<br />

0.548 0 664 0.893 t.2t4 I 322 2.712<br />

0.617 0791 LIl6 l.5I 2.29 .1.16<br />

0.56.2 0.761 1.09r t_527 2.1f5<br />

0.592 0.806 0.995 1.215 t.0?l l_146<br />

2.3t6 J.52 6.115<br />

0.58 0.125 0.91 L I92 0 862 I 245<br />

0.5t I 0.533 0.879 t.lo5 t.142<br />

0.527 0.659 0.842 0.902 L l02 I451<br />

l.t4l l4.ll 2.2.t2 .2.688 1.401 5.14<br />

1.69: 2)49 2.9t4 4.3t1 4.967<br />

0.18 0.495 0 671 0.902 t.188<br />

t.259 1.529 2119 1.015 4 681<br />

0519 0.665 0,875 t_22 t.861 2.651<br />

t16l 2.08,2 2,8t4 4.0.12 5.826<br />

!298 0.888 I 002 t. t8l 1.592 2.016 2904<br />

sl84l? t.1t5 3.085 .1.728 5Dl 7_67<br />

i8584 2_482 2.92\ 3,741 4.39t 6.661 8618<br />

0736 |.027 t.401 2.056 2 965<br />

1.491 t.7.1-] 2.18 LtTl 4.661 6022<br />

0.171 0.401 0,618 0.78 l zll 2174<br />

1.0998 t.?76 2.t115 1.1717 4.4s51<br />

I.l7


frbl. Bl: I n-Clu<strong>rl</strong>er aEr (xr05 ir Mh, Widlh Tnnr. Af{ (Clurer Siz. ' !)<br />

!-LTIT J.LUT +LUT<br />

'LUT<br />

CLTJT 7.LUT<br />

0.438 0.51 0.116 L04 t.554 2.107<br />

0 508 0.605 0941 t.ll8 1,962 1.001<br />

0 155 0.4.29 0651 0.919 |,297 1.876<br />

0.616 0.84 r.055 0.915 |.026<br />

2.265 2,704 4,t66 4.248 12.259<br />

0.461 0.557 0.?91 t0ll 0.711 0l<br />

0.408 0.45 0.741 0.941 L l45 1.765<br />

0 401 0..175 0.671 0.71I 0.908 1.001<br />

0.87.] 1.0.12 l.?73 2_l 2.81I 4.987<br />

ur l0l0 t.l9E 1.655 2.J42 3.418 4.161 4.t27<br />

0.29 0.162 0.545 0-7 0987 1.258<br />

0.959 l.?58 2.191 1.891 5.572<br />

0.411 0.485 0.101 0.97 1.54 2.306<br />

1.46 t.87 2.58 1.557 5.285<br />

s298 0.7t4 0.899 1.068 1.401 1.876 2.771<br />

sl84l7 2_352 2.944 1.5.16 4.698 4.882 7.485<br />

o8584 7_t41 2.181 t.551 4_668 6.211 8412<br />

0.5t4 r.135 1.926 2.971<br />

|.29 L648 2.075 ].012 4.t87 6.412<br />

0 t26 0.586 0.749 t. t6 2.129<br />

OJ9E3 t.l70J5 1.55ll5 2.0?53 4.09?5<br />

t43


Trbl.8,4: Ink$Crstsr Ahr (xr01 i! Min. widtr' Tr,ns. A.q (Ctusl.rsi&-1)<br />

2-IUT 3-LUT ,I.LUT IL(JT GLT'T 7-LUT<br />

0.548 0.664 0 891 | 2t4 |.422 2.372<br />

0617 0.?91 Lll6 l 5<strong>lt</strong> 2.29 l.16<br />

0.562 0.161 l09l | 521 2.135<br />

0.592 0.806 0995 t.215 | 071 1146<br />

0.58 0.725 0.9t r.192 0362 t.245<br />

0.5t1 0.588 0.87t t.105 | 142 \.r77<br />

0.50.) 0.621 0.8 0.811 t.059 l.t6<br />

t.091 t.149 2.|l I 2.411 1.288 5 594<br />

1.625 2.t74 2.785 3.995 4.819 4.586<br />

0.364 04?8 0,646 0.81t Ll57 t.184<br />

1.)02 | 443 2.071 2.788 4,511 6 246<br />

0.5t5 0.61? 0.E28 t_127 L798 2.589<br />

|.161 2.062 2.834 4.012 5 826 7.752<br />

s298 0.888 1,00t t.l8l 1.592 2 tJ16 2.904<br />

!18.r l7 2.442 1.214 .1.921 5.t5 5.j91 ?.339<br />

s18584 2.597 l. t07 .t.945 5,121 6.336 8 871<br />

0.619 0.778 1.084 t 5l2 2,|9 1.064<br />

t.558 1.828 2.249 4_8t4 6.818<br />

0.191 0.421 0.849 | 274 2 241<br />

1.t054 1.3429 1.7815 2,J9265 3.t802 4.4621


T,bk 4.5: Inrn-Cl$t.r,{hr(xlo!) I! Mitr. Wiitr[ Tr.!r. Ab (Clu!r.rSizr-51<br />

2-LUT J.LUT 4LlIT<br />

'LUT<br />

GLUT ?-LUT<br />

|.2t9 |.129 2.439 1.526<br />

0.484 0.6.22 0.447 t.218 t62 2.21<br />

0 641 0.90! 1.097 t.401 t.146 | 2t9<br />

Lt 1.89 5.402 7.t71 t0.21 t4..l9l<br />

0.6t2 0.301 \.027 Ll5<br />

0.558 0.652 1.248 i 424<br />

0.551 0.689 0,879 0.941 Lt?9 J.526<br />

L201 L498 2.i29 279J I 501 5,86<br />

|.112 2,188 1.08 4.521 5.123 4.821<br />

0.J97 0.522 0.69 09{l I 228 1.478<br />

t..t t3 t.598 2.284 3.151 4.8t2 6.514<br />

0.519 0.665 0.875 1.22 l 86l 2.651<br />

L761 2.O82 2.814 4 012 5 826 1.752<br />

1298 0.888 I 002 LlSl 1.592 2.016<br />

sl84l7 2.842 I274 1.923 5.15 5)91 7.889<br />

s18584 2.591 3.107 t.945 5.Dl 6.886 8.871<br />

0.6t9 0.778 1,084 1.512 ) ll9 1.06,4<br />

1.558 1.328 2.289 1.449 4_824 6.818<br />

0.191 04:7 0.849 t.274 2 241<br />

t.t867E9 t..t52051 t,927051 1,621632 1J5968:l 4,69.12<br />

150


Trblc ll,6: Inrrr-Clu<strong>lt</strong>cr]\nr (x10") i! Mn'. wi<strong>rl</strong>d' Tr.ni, AM (cttr(crSia -61<br />

2.LTJT 3-LUT .|'L|'|T<br />

'LUT<br />

6-LUT 7.LUT<br />

0.176 047 0565 0,833 L.275 t.808<br />

0.419 0.56 0 691 t.07t 1.60t 2.572<br />

0.108 0.186 0 486 0197 1.076 r.6?5<br />

0.416 0.51 0.6t7 0 E28 0.75 0877<br />

1.934 2.195 1.056 4166 10.476<br />

0492 0.6t 0 ?96 0.60t 0.942<br />

0.1.r6 0.181 0.541 0.719 0.944 l.5l.l<br />

0.342 0.189 0.573 0.555 0.746 2.568<br />

0.74) 0.827 1,t05 |.61 2.Jt4 4.21<br />

Lll6 L606 |.702 2.911 3.407 1.615<br />

0tl9 0.4t1 0.512 0.3t6 r.07<br />

0.321 o.927 I 289 l 862 3.188 4.765<br />

0.15t 0.439 0.514 0.784 | 256 LS82<br />

L t6l Ll9 t.719 2.102 5,914<br />

0.L52 tliT<br />

2 091 ) 245 2 817 1.785 4 251 6.5(l<br />

l. 4 2l{26 5 126<br />

0.457 0.552 0.784 t.089 | 681 2.576<br />

L l5l l .288 |.672 2.491 1.86 5 701<br />

0.29 0.291 0.466 0.6 1.0n4 r.864<br />

0,11145 0.9r48 1,1167 1,6679 2.!3795 r.5Jl15<br />

t5l


T!bl.8.7: li.n-c<strong>rl</strong>rrera..r (rt4 in MiL wi<strong>di</strong>h Tn$. ^d (crui.rsi&-r)<br />

,.LUT 3-LUT ,I.LUT 5-LUT 6-LUl' ?.LUT<br />

0628 I t65<br />

0.547 0 781 1.091 | 726 2.17<br />

0t07 0.191 0.515 0.786 L ll9 |.1J4<br />

0.4t2 0 559 0.691 0.872 0 802 0.95<br />

t.952 2 452 1.4t5 4.515 1255 l1.t25<br />

0.508 0.641 0 843 0.641 t.0t7<br />

0l5l 0.41 0.782 | 007 r.616<br />

0.146 0.4.1 0.568 0.587 0 799 2.716<br />

0.841 t.586 | 895 4.522 4.78a<br />

1.256 l 666 2.101 3.965 1.98.1<br />

0.28 0.155 0.487 0.636 0.919 L212<br />

0.91t 1.048 1.565 2 t62 J.109 5.18r<br />

0 t96 o.472 0.612 0.373 2 2J7<br />

l.t0l 1.46] 2.018 2.915 6,5<br />

s298 0652 0 691 0.858 LIJ? 1.6.11 2.4t2<br />

2.09r 2 245 2Et1 1.785 4.251 6.567<br />

s.18584 2.|4 2.426 1.16 5 426 7.1t8<br />

0 45? 0.552 0.784 t.089 1.631 2.576<br />

L l5l 1.288 |,612 2.491 1.86 5 701<br />

0.29 0.291 0_46 06 1.864<br />

0.80715 0.94625 t,2415 l,7J9l5 2,5914 t.t399<br />

<strong>lt</strong>2


I nter cluster logic area<br />

App.n<strong>di</strong>r C<br />

ttrin. width trrnskt<strong>or</strong>)<br />

C!Is!!E<br />

l5l<br />

f<strong>or</strong> the 20 B.nchmark<br />

aEa resulls f<strong>or</strong> th. 20 b.hchmark cncuils m givcn,<br />

ed ih clsrer bd$d mhn€ctN wilh cluler siz I lo 7.<br />

InrcFcluderAu(xt0!) In Min. width Truns, AM (Ctunc. Sie = l)<br />

2.LUT 3-LUT 4.LUT 5-LTIT GLUT ,-LUT<br />

't.716 2.E61 2.t81 2.001 t.6ll 1.52<br />

4163 1.54 ).2t4 1.296 l.0El 1.003<br />

1.2t9 2,637 2.374 2.518 2.206 2.0t.1<br />

1.498 Lt57 1.82t |.462 0,785 0.562<br />

19..275 t6.164 r6 0.]6 14,546 l4.l5l I4.88<br />

1.39 2.453 t.9.12 |.641 0.751 0.71<br />

:.414 :01| LE52 1.815 1.612 l.l7l<br />

2.758 1.859 1.798 0.981 0.827 \.975<br />

2.00, I 289 0.889 0.1t4 0 761 0.713<br />

10.909 7.481 8..151 7 646 4.866<br />

1.615 2.5 | 2.tl 1.84E 1.445 0 907<br />

8112 7.411 6 552 6.7.11 7.31 7.541<br />

1759 2.881 2l2l 2.2.18 2.157 1.171<br />

l4 451 <strong>lt</strong>34 t0.8?l 10.124 8 t95 7.t5ll<br />

s298 2.4:6 L661 |,419 0.912 1.143 I 021<br />

sl84l7 12.70i r0,408 1.725 7.967 5.171<br />

sl8t84 I L629 9.884 9.8t8 7.427 6.1J4 5.4.?t<br />

t.461 1.268 1.024 2.904 2.67<br />

Itr49 9.261 7.15 8 175 6.918<br />

| ?84 1. t98 r.t06 l.l4l l 201 1.658<br />

5.56 J,059 3.689 3.t44 2,E34 Ll73


Tablc c,2: lnrcr-chrt$ arc! (rro in Mir wid.h TEN,IM (clGt.r sir = 2t<br />

2'LUT ].LUT 4.LUT 5-LUT GLUT 7-LUT<br />

L r0? 2.848 2,22 L986 1.568 |.t68<br />

t.242 3 369 t,2tl 2.911 2.599 241<br />

264 2155 .2. t6.l 2,222 r.825 t8l9<br />

2.492 2 087 1.192 l l78 0.616 0.419<br />

l7.5ll 16285 t7.253 t5Ir] t4.499 r4,48t<br />

2.J94 2.089 |.671 1.616 0.685 0.58<br />

2.091 I7l t.6t1 |.2t9 I.I55<br />

2,067 r.668 t46l 0.71 r.151<br />

5 406 t.091 5.61.2 4,216 I606 4.212<br />

8052 10.658 7.648 7 412 4.188<br />

21t,4 1.241<br />

6572<br />

5.459 2.721 2.6.47 2.165 t.7l I<br />

I2.lll l0 921 9.t51<br />

s298 t.488 Llr 2.544 2.254 1.86t 2.008<br />

538417 t2.727 ll 78 9 513 8.298 4 516<br />

s.]8584 t2.019 t0.227 4.47 7.51 6.75r 5.6 r6<br />

1.162 l.164 1.066 2.8 2.56 2.117<br />

9.609 7.846 7.206<br />

t.168 r.0t8 r.087 t.018 0.961 1.105<br />

!.906 3307 3,024 2.531 2.613<br />

t54


Trhlc Cl: tnr.Fc<strong>lt</strong>rst .lM (rrd) in Mi!, Widrt Tn.. Aq (Ctsisr sia =3)<br />

2-LUT 3.LUT 4.LUT 5.LUT 6-LUT ?.LUT<br />

2.771 2 202 l,%2 1.625 1.291<br />

3.14 2.885 2.571 2.281 2.112<br />

2.446 2.011 L8 l915 t.66 1.601<br />

2.t75 |.529 1.258 0.511 0.482<br />

t6.154 t4@2 12.721 r2.121 12.079 11.97)<br />

2.269 | 845 |.561 1.401 0.521 0 5ll<br />

1.391 t.5,26 L565 1.157 1.056 l0l7<br />

t.751 | 525 t.196 0.81I 0.587 t.571<br />

5.024 4 502 1.78.? 3,214 4.016<br />

4.452 6.621 6.617 6.051 I666<br />

t.951 1922 L619 l47l Lll5 0 706<br />

6.106 5 657 5.t32 5.46 5.656 5.994<br />

2.597 2.253 |.971 I ?t8 t.572 t.42,<br />

856 9.325 7.911 6.206<br />

s298 2.892 2.188 t.827 1.607 r6l<br />

sl84l7 t2.187 9.595 7 244 3.989 4.2t5<br />

s18584 t0.461 9.511 1214 6.561 5.678 5 004<br />

L691 l.2ll 05E9 0.511 0.422<br />

9 4)5 8.276 6.312 5.106<br />

I l9l 0.9?5 1.009 0.84 0 863 l. tl<br />

J,968 3.171 2,91r 2.{65 2,156 2.239<br />

155


Trbl. c.a: lr|FclBrcr AM (<strong>rl</strong>01i. Mi!, widrhTnE AE (Ct6rcr Sie =,t)<br />

2-LUT 3.LUT .I-LUT 5.LUT GLUT 7.L!T<br />

241 2.011 1.682 l.tt5 l l6l 0.927<br />

1.052 2.425 2.4t3 2.41 2_W 2.027<br />

2.t8 t-721 l.|1 1,506<br />

1.801 |.764 I 2t5 0485 0.1.16<br />

15.071 13.692 l2 071 I1.206 | 522 I t.246<br />

1.748 l.t9l l.l l6 Ll5t 0.424 0.41l<br />

<strong>di</strong>{Ieq |.684 t.454 t.112 t.2l I 0.981 0,869<br />

1.162 l.0l 0.992 0 625 0.5t5 |,J42<br />

4.528 4 t28 4.6t6 1.451 5.084 3671<br />

cxl0l0 8 879 6.t92 6.09t 5.241 I t49<br />

t_149 |.14 l.5l? 1.214 0.966 0.666<br />

5 689 5.261 4.7J5 5.015 t.019 5.504<br />

2.484 2.t96 t.718 t.541 1.459 1.265<br />

r0 t94 8.164 8.618 1.26 6.D6 5.t7<br />

s29E 2.541 2.t9J t.66 r.6t4 \.428 l.4El<br />

sl84l7 t2.011 7.108 5.789 3.616 1,788<br />

s]8584 10.245 7.9J\ 6,501 5 751 5.414<br />

2 888 2 648 2.24r 2.049 192<br />

8.178 1.526 6.2Et 5.798 5_t2l 4.4J4<br />

r 09\4 0.809 0.916 0.713 0.721 L099<br />

1.524 2.42 t,6t8 2.068 2.026


T.bls c.s: rntcFcl$r.r Arer (<strong>rl</strong>01ln Min, wid.h Tns. arc. (clB.ersi4 =51<br />

2-LUT ]-LUT 4.LUT 5.LUT 6-LUT 7.LUT<br />

231 1.35 1.584 t3ll 1.07 |.076<br />

2.909 2.581 2.4J4 2.2t1 |.957 2.026<br />

2.1I3 t8ll L641<br />

r.8ll t545 0.5<br />

15.146 8.099 <strong>lt</strong> 7t9 10.6t6 12.)14<br />

1.731<br />

|.597 ttSl 1.252 t.0.24<br />

t0l4 Q.675 019 t.352<br />

4.855 3.944 l.6r) 2.953 3,146<br />

? 781 E.l9 t.788 5.159 5,162 t.J41<br />

| 612 |.692 t.4ll l.l 0.9)1 0.684<br />

5 t46 4.515 4 527 5.0.25 5.643<br />

2l9 I 945 L65 \.521 r.ll8 |.22.<br />

7 968 7 88s 6.707 6.t91 s.t49<br />

s298 2.Ltl t.795 1.558 r.565 t.106 1.456<br />

L263 3.74t 6. t93 5.881 I561 3.98<br />

318584 9,783 7.898 6,615 5.647 4.535<br />

2.U2 2.138 2.16 2.02 r.7t9 I.8I2<br />

8.t84 6.821 5.121 5.058<br />

t.049 0.808 0.911 0,69 0.752 LI t2<br />

l.l?9 2.653 15l5 2.01 t.822 2.tE8<br />

t57


Trbrc c.6: I irer-ctBrer ^Er (rro1 in Mir. wi<strong>di</strong>h lnn, aFr (ctBe.sjzc.6)<br />

2.LUT 3-LUT .LUT 5.L!T 6.L!',r' 7-LUT<br />

) 192 |.754 r.158 \.242 0.991 0.881<br />

2.769 2.59 2 323 2.2t1 t.912<br />

20r8 1.891 t.748 t.485 t.406 1.167<br />

l519 t.l9: L05 t 0.806 0.411 0.147<br />

r.1.824 12.4t6 <strong>lt</strong>.l64 10.636 l0.l9l ll.5l<br />

L.628 l t9l Llll 0.985 0.18? 0.405<br />

| 529 r24 1.271 Llll 0.887<br />

| 281 0.511 0.429 I 01.2<br />

4.t8 ].5JI 3.117 1.256 27t2<br />

6.633 5,825 5.5I 1.019<br />

1.582 1.576 l.l L l9l 0.616<br />

1.914 4.2\ 5.154<br />

2.l0l t.65r |.424 r.388 t.t8 |.017<br />

9.127 7.19J 6.805 5.821 5 061<br />

s.298 t.906 |.7i6 I 508 1.5.1 t.226 t.ll4<br />

1t.021 8l6r 6.145 5.166 r.514 1.325<br />

s.]8584 6.114 5.57t 4_666<br />

2.64 2.t21 l967 t.704 r76<br />

7 786 6812 5.24 5.1r5 1.885<br />

0 9t9 08ll 0 718 Ltx5<br />

Ll?r 2.561 2,265 1,t32 t.729 L92A<br />

t53


T.ble c.?: Inr.r-cturer Ad (<strong>rl</strong>01h Mtn. width Tnns, k (cluder siz. = 7t<br />

z.LUT 3-LUT 4-LUT 5.LUT GLUT 7-LUT<br />

2.2J |.7t3 1.4t6 Ll64 L004 0.827<br />

2-7@ 2.231 2.065 |.954 l-854<br />

2.07i |.717 |.631 |.411 r.565 tlll<br />

|.414 1.259 0.86? 0.50t 0.189<br />

t2,948 t2.61 10.848 t0l9l r0.806 10.997<br />

|,79 r.451 t.t07 t.031 0.427 0.401<br />

1.405 I 215 Lt5l 1. t02 0.924 0 977<br />

|.152 t_241 0.E05 0 601 0.50r Ll7l<br />

4.271 l.?18 4.221 J.256 2.952 1.661<br />

d l0l0 1li4 8.057 5.141 5.40J 4.99 | 1.081<br />

t.551 1.618 |.299 L36l 0.895 0.719<br />

4.729 4.56 3.98 4.28 4,751 5.515<br />

2.2U1 t.479 t.281 r.206 L441<br />

8291 7.269 7.059 6.217<br />

s298 1.845 r.507 l.l5l L29J 1.222 1.168<br />

sl84l7 t0.215 7.t51 5.6E7 4.812 3.142 1.549<br />

sr8584 8.645 6.901 t.7t5 52t4 4.151<br />

,588 2.1t5 2.014 t.3t |.75<br />

7..114 6.586 5.06 4.588 4,624 3.751<br />

0.t41 0D8 0.854 0.661 0.7 | Ll5<br />

-r.t ?l 2.541 1.825 t.114 t.917<br />

159


Apoen<strong>di</strong>x D<br />

Total Critic.l Path Detay (in o.nos.conds) f<strong>or</strong> thc 2o-Benchmark<br />

Circuias<br />

h lhis apr.n<strong>di</strong>x |out cririat prh dela;;-sutc r<strong>or</strong> rhe 20 b.nchMk .inns m eiven.<br />

that 'nplemented in clusbr based dhilecruft wilh clusrer size I lo 7,<br />

Iablc D,l: Tot<strong>rl</strong> Detay in nrtro.,econd! (Clur..r S,ze = t)<br />

Z.LUT ]-LUT +LUT 5.LUT GLUT 1-LU'f<br />

49.68 28.05 22.1 t1_16 16.51 t4 2l<br />

3t.7 29 t1 21.16 2l t8 23.19 26.55<br />

ll.l 19.78 18.57 2l 68 20.71<br />

20.66 14,84 13.77 25.2 t4.9 I l.5l<br />

67.85 50.7 51,68 49.8r 4105 1t.88<br />

24 43 22.48 22.04 21.07 l8.ll 40.41<br />

29 2l 29 )9 20.19 ,0.84 29_75<br />

20.81 t5_57 t2.7t r.l..l9 t2.92 29.67<br />

l7 85 2t 41 t9.82 21.16 19.68<br />

4Q.15 75 49.52 25 5l<br />

25.r1 21.8r 18.t6 17.21 r6.91<br />

91.12 41.79 19.04 t2.55 29.71 t0 r8<br />

26 4l 20.98 22 6l 16.87 2i<br />

50,54 64_7 | 4t.61 5l.l l<br />

s298 58.92 49.18 t9.a7 11 ll.l I1.76<br />

sl84 | 7 45.15 21.61 29.16 20.98 16.61 t5 22<br />

s18584 64.18 14.t6 10.79 29.6 28.04 ll 88<br />

3t4 t01.2 t8.4 18.34 18.4 27.t1<br />

4).6) 46.t8 4129 .18.92 16.18 14 2l<br />

5r.12 18.25 20..1r t8.25 t6.21 14.27<br />

t0.5! 57.5.1 45.03 18..t4 3?.05 44Jt2


T.ble D,2: T<strong>or</strong>|l D.l.y h n.no*econdstCturterSi.e=2J<br />

2-LUT ]-LUT 4.LUT<br />

'LUT<br />

20.l9 22.14 \a_77 t175<br />

6-LUT ?-LUT<br />

24.2 24.81 19,81 2t.29 t9. t7 I9.95<br />

24.t3 2012 20.41 :t.t5 t8.t2<br />

14,81 t2.42 t2.t2 11.05 1067<br />

5t t2 45.28 40.56 17.07 J7.02 tt6<br />

19.91 t90l tE.25 19.18 15.51 t4.4<br />

l1_49 )4 58 221 l7.16 15.49 t4_21<br />

1.t.58 t2.21 10.55 9.)1 10.54 ,.t5<br />

48.08 18.04 2E.6E 24.16 27.4<br />

<strong>lt</strong>l 47.t6 10.64 18.01 28.84 22 Ll<br />

22.47 18.81 21.16 15.82 14,66 t2.6 |<br />

6t.49 42.14 11.99 .10.2t 29,26 28.t2<br />

22.4) 2t_67 18.61 18.19 18.51 15.r6<br />

19.69 t6.t 5 J6.22 28.19 28.84 23 24<br />

s298 45.66 148 J3 24 1t.66 16.0t 21.24<br />

sl84r? 15.6.1 25.54 2t.59 20.12 15.6? t4.t8<br />

s18584 .21.44 22.62 174 18.19 15.79<br />

24.7 19.15 t7.4 13.65 t4.E2 2J.4<br />

t9.17 i5_6 14.14 )0 24 25 59 21.15<br />

i4.t2 26. 20 1.2 t1_73 rt.48 I5.05<br />

42.46


T.bl. D,3: Tot.l Del.y in n.m{(obd! (CtBrer Size = J)<br />

2-LUT .}.LUT 4LUT<br />

'LUT<br />

GLUT 7.LUT<br />

22.08 2l25 14.48 t5 t2 t5 5l<br />

2t.22 19.19 I8.15 19.89 15.97 l6 5l<br />

22.t6 t9.29 16.69 t6.52 t3.31<br />

ll.5l l0_81 Ei5 4.91 7.42 8,16<br />

55.09 39.16 3?.01 11.95 J2.24 J4.24<br />

r8.45 r5.01 t:1.02<br />

22 5l t7 82 t8.28 |]t5 t:1. t4<br />

D.26 r0.98 8.55 9.21<br />

32.93 28.1| ).J )4 25.2J<br />

l5 02 44.15 2El 24.86 32_63 t9,18<br />

20.55 18.02 t5,95 <strong>lt</strong> t9 D t8<br />

t4 56 15.78 12.8 29.21 29.21 25.65<br />

19.5 19.2r 15.0? t4.46 IJ,9 D.87<br />

11.65 16.9 29.t1 l4 t5 21,62<br />

s298 4.].8 J7-09 12.89 t0.61 29.49 1052<br />

5184r7 32,49 28.5 t9.41 r5 5l B88<br />

s18584 13.18 r8.61 14.95 15.04 16.71<br />

20.45 l7 l6 16.04 I3.l 15.02 14.91<br />

32.6J ll 58 25 l5 28.1 14.15 29,11<br />

l2 29 22.19 t7.24 16,54 15.67<br />

54,!7 45.44 J1.66 10.16 30,25<br />

t62


Table D,4: t<strong>or</strong><strong>rl</strong> Del.' ir nrno+eo r {Ctutrersre = 4,<br />

).LUT .}.LUT 4LUT<br />

'LUT 'I-UT<br />

l!l<br />

7.LUT<br />

lJ.2 t9.81 15.96 r2_J2 ll_35 t4.22<br />

30.01 2t.t9 11.24 \1.18 t1.46 ll.ll<br />

22.22 22,51 17.85 221 l9 t4.66<br />

t2 67 E.5 8.06 3.01 3.75<br />

50_94 l7_58 14,78 t5.l ll.9 ,lJ<br />

I9.49 164t 15.23 t].94 D.32 D.l5<br />

65.14 l9 l8 3l.41 32.ll 28.18 24.1<br />

t2.92 12.4 l l.l 7.53 t0.97 8.08<br />

11.25 25 72 28.85 1648 21.61<br />

40.t 7 24.t4 28.14 2t.24<br />

25.15 t9.ll 15.92 t9 97 16.35<br />

55 14.44 28.09 31.86 ll.9l<br />

21.42 t7_7 | 15.65 t5.22 D.l6 t474<br />

201 I8.87 t5.26 t6.87 t5.ll l2.ll<br />

5298 36.76 17.09 12.ll 10.88 18.29 27 t6<br />

sl84l7 10.t9 2).1 r9.ll 18.62 14.2 15 89<br />

si85E4 2l t7 l6.l 14.88 t 4.04 8.86 t4ll<br />

20.17 t5.t7 15.91 t4.81 t5.41 tt.06<br />

.14.19 42,19 2.].1 27.14 2719 19.16<br />

15.42 2t 21 11,29 t6.17 1t.04 14,6<br />

68.62 4l.l 11.25 2E,49 28.89 28.82


T.blc D.5: Tot<strong>rl</strong> Dehy i! nrescondr (Clu|ler Sia = S)<br />

2-LUT ILUT ,I.LUT 5-LUT GLUT 7-LUT<br />

32 r8 22 45 11.i9 l7 05 t4.29 \4.29<br />

2491 lr.8 t8.2 n.4 15.12<br />

22 52 r6 86 16.42 t5.74 t6.l I t5.88<br />

12,57 10.01 8.29 8 t8 6.ll<br />

49.81 14.27 12.06 37.16 lJ 0l 28.24<br />

19..17 2t.37 2t.52 l0 42 t4.42 l.] 64<br />

28.0? 2t.41 tet2 15.65 8.45 t2.72<br />

')5.9<br />

11.1 15.2 14.85 |],l4 t4.98<br />

28.88 25 66 24,48 20.04 22.26<br />

50.02 58 ]4 4t,92 l5 32.3 19.89<br />

ll.2E 9.66 9.98 8.2 799 '|.24<br />

48.75 J2.11 29.3 27.05 29.78 1,7 52<br />

t8 46 28.16 16.48 20.14 1J.95 ll 75<br />

31.99 5t.85 J6.)6 l0l8 11.85 26.95<br />

sl98 46,05 J4.67 t6.71 .14.17 29)6 21.26<br />

sl84l7 19.19 20.42 t5.61 t7.21 14.91 |.15<br />

sl85E4 2lol 11.16 15.04 18.t9 20.1/ t4.26<br />

2t,63 l7 05 t5.18 t5.54 15 25 ll.06<br />

35.t4 IJ \J .)7.11 24.81 25.15 21.65<br />

25.17 r6.69 14.63 14.12 11.56<br />

57,9s J9.14 t2.07 31.17 21.62 2?,85


Tnble D.6: TotllDelay in n!trGs..on& (Clust.r Size = 6l<br />

2.LUT ].LUT 4.LUT 5.LUT GLT]T ?.LUT<br />

ll.0l 12.41<br />

24.11 I6.93 16.51<br />

28.51 16.52<br />

I t.6l l0 03 ,lJ '1.21 7.51 703<br />

.15.98 12.48 <strong>lt</strong> l 25.57<br />

2152 20..21 t6.t2 \).22 li.ll<br />

lo.9 Il54 ?.1r 1.13<br />

36.17 2t )1 22.51 21 5a 2196 )o)<br />

3218 13.28 16.76 2t 6l t3.ti7<br />

l9 87 18.25 l?.ll 18.19 1422 I l.16<br />

52 84 ,.51 .10.86 29.48 26.t1 26 2t<br />

l7 55 17.45 14.?9 ll.7l<br />

l8_42 lr.6? 24 8l 15.91 27 t2<br />

41.55 40.7 29.14 t0.55 25.61 24.81<br />

28 18 2J 02 19.06 ll.t6 20.36<br />

l93l t5.26 t3.92 t4.64<br />

2t 09 \'7.84 t5.86 13.36 t2.42 ll45<br />

14.t6 .28 05 26.7 22.52 t8.01<br />

r0.09 22.35 16.E4 1618 14.54<br />

.19,55 19.9 u.29 30.97 28.25 29


T,ble D,?: Tot<strong>rl</strong> Oelr' ln n.no+{ondr (Clur.rsir= 7)<br />

'-LUT<br />

].LUT<br />

,ILUI<br />

'LUT<br />

GLUT 1-Lt'f<br />

l9 t6J9 I5.t6 tl t7_6 D.l6<br />

28.6t t1.n 11.39 t1.J2 I7.01 t5 04<br />

19.71 21.28 t7,49 11.24 I1.28 18.21<br />

8.99 1.t9 1.\7<br />

57.68 32.26 J9.49 24.19 12.06<br />

.t5 966 1.24 7.8 6.1i<br />

2t.o1 16.02 ra.l5 t2.11 |.92<br />

16.52 t5.71 \4.97 1296 l06l 12.46<br />

t9.08 Jt.74 27.71 21 71 24_49 22 29<br />

J2.2J 165l 24.62 21.22 2t_89 l8_75<br />

22.0) 20.08 t5.28 rt.78 t4.69 1t.08<br />

49.02 15.79 30.09 29.91 28.02 25 6l<br />

19.6 l6 4l 16.31 1t.0t 12.69 B.l2<br />

t4.41 l8 t4 <strong>lt</strong>.5l .)8.9 Ll9 28.t1<br />

s298 39,6t 16_92 29.11 25_49 22.tJ<br />

slE4l7 14.26 27.01 1l84 t6.89 16.96 It.8<br />

s.18584 t9_67 18.62 t4_45 t6.t7 t4.ll 16.88<br />

23.29 l5.ll 14,25 l6.l? |].52 t3.t2<br />

11.97 10.17 26.85 .]0.0t t9.99 19.59<br />

2r.9 .22.15 16.08 15,74 l3.tl tl 62<br />

49,5 -18.66 32.45 40,?9 26.62 26.1t


Appen<strong>di</strong>r E<br />

It<strong>rl</strong>ra.Clusicr Dela 20 Benchmark Circuits<br />

h <strong>rl</strong>r's nppen<strong>di</strong>x lnrE,Clusrcr dctay rcsulB tb<strong>rl</strong>he 20 benchnark ciRuirs ar<br />

rDpleNeok<strong>di</strong>nclusterbaedurchirecturewithclurersia I to?.<br />

Tlblc E.l. Inln-ClBter D.l.y i! r..G$cotrd! (Ct{rr.r Siz. = l)<br />

2.LUT 3.LUT 4.LUT 5.LUT 6-LUT 7.LUT<br />

l.t4 J.62 2.98 4]l 4.t1<br />

5.11 l.<strong>lt</strong> 5 5.tE 5.tl<br />

4.26 1..14 'J 62 4.]l 5ll<br />

1.88 1.87 1.52 2.59 2.05<br />

B.l9 5.21 4.89 3.8<br />

ll4 4.18 4,13 1.56 4t7<br />

l4l8 899 6.9 4.22 5 9l<br />

.].88 2.41 LE7 2.2 2.05<br />

8.54 8.25 8.29 8.3<br />

5 t3 5.tl<br />

1.78 167 t.65 2.14 t.2 |<br />

D.l5 l0 <strong>rl</strong> 10.71<br />

515 422 t.62 1.65 1.56<br />

601 4.21 5 5.r8 5.<strong>rl</strong><br />

s298 I1.48 9.42 8.92 9.1<br />

sl84l? 678 1.24 5.56 585 5.91<br />

!18584 9.1| 5.51 5.29 4.tl 4.37<br />

).J4 4.31 4J1 5ll<br />

5ts 5.09 3.65 4J7 5.tl<br />

15.81 942 1.41 6.9 6.66 6.81<br />

21,r8 12.16 ll.6l [.23 10.21 I.04


T.bl. E.2. htn-clus..r D.l.y i! !.!qeods (clur€r Si4 = 2)<br />

2-LTJT I-LUT 5-LUT 6.t-!l' ,-LU'T<br />

J_29 2.03 )47 1.99 2.21<br />

5,63 5.14 562 582 5.1<br />

5.22 t8l<br />

5.22 l.8l 4,53 486 5.1<br />

15.48 6.12 4.1 t0.09 9.16 9_El<br />

5.22 1.92 2.58 1.06 1.54<br />

t548 t0.l? E.7 1,52 6.58<br />

4..)8 2.74 2.01 2.41 1.99 2.21<br />

21.2.1 I1.38 9.1 9.ll 9.16 9.81<br />

645 t.l5 4.51 4.86 t.82 (.14<br />

5.22 4.14 4.53 4.86 4,62<br />

t4.92 12.33 t2_77 11.04 11.97<br />

4.31 3.3.1 t,t2 t.3a 1.93<br />

6.45 515 5,?4 5.62 6.78<br />

5298 l!.42 IO.EE 9.1 10.09 10.2E t0.89<br />

sl84l7 l0.<strong>rl</strong> 1.U 4.46 4.75 6.59 6.58<br />

n8t84 7.68 '1.13<br />

1.43 5.82 6.14<br />

5.61 1.8.1 4.51 4.86 5.1<br />

6.45 5.15 5.14 5.62 4.62<br />

l7 5l t0.l? 6_88 78 1.52<br />

14,2 ll.4l t2n6 t2a2 l3J5<br />

168


.bb E.3: Irtn{|!s.er D.t.y i. tr.rHc<strong>or</strong>dr (Cturt.r Si& = J)<br />

z.LUT 3.LUT 4.LUT 5.LUT 6-LUT t-Lr,rT<br />

6_13 1.64 605<br />

5.16 5.37 5.43 5.89 6.05 126<br />

4.2 509 5.09<br />

406 t05 2.t5 2.58 2.87 2.2i<br />

t5 r0l 1.29 9.?8 1.66 9.18<br />

512 4.1t 3.49 Ll7 J19<br />

t4 l6 9.22 6.58 5.14 6.86<br />

l.6l 1.6 2.t5 258 2.81 2.t.1<br />

l8 79 10.86 9,86 8.98 9,57 9.t8<br />

!\ l0l0 6.l8 5.117 5.E' 6.05<br />

6.t8 5ll 5.89 6.05 6.1<br />

214t l7 12 4l 12.18 I t.49 |<strong>lt</strong><br />

4.2 4.15 5.09 5.09<br />

Ig 3.5 4.29 509 6.t<br />

s298 t3.74 |l42 986 8.98 l0 l4<br />

s.]84t7 869 8.07 6.65 7.18 6.7 686<br />

s16584 5.76 252 5,41 t.89 6.05<br />

5.76 4.29 5.09<br />

6.6 5.E7 5.41 4.29 6,05<br />

15.84 r0.86 8.t8 8.18 1.66 8.01<br />

22,02 t4.5 <strong>lt</strong>.J7 tJ,?1 t4.12<br />

t69


Tlblc 8.4: lnrm-Closter D.l.y in roes.@nds (Ctwrer Size = 4)<br />

2.LUT !LTIT 4-LUT 5.LUT 6.LUT 7-LUT<br />

487 5.2 5.ll 5.26 6.09<br />

49 4.87 4.5 5,26 J.11<br />

5.16 5..11 5.26 4,93<br />

442 7.24 2.59 :.96 2.21<br />

16.41 8.45 9.92 t0.ll<br />

5.32 e .02 5.2 626<br />

15.48 IL7t 7.61 6.84<br />

4.88 t_69 224 2.59 2.96 L46<br />

t1 t(, t2 t:.9<br />

402 5.ll 6.26<br />

19.78 t5.15 l4l3 t2.62 8<br />

6)9 545 l8 3.64 t29 1.71<br />

167 602 6.61 6.14 6.26<br />

s298 15.02 t2.28 996 t0 95 10.91 l0.ll<br />

5184t7 I l.l4 5,98 786 7.61 5.68<br />

518584 6.61 5.ll 6.26 7)4<br />

5.16 4.47 Ll<br />

487 5.9 t.<strong>lt</strong> 626 6.09<br />

t1 19 t2.28 9.26 8.45 7.9.1 8<br />

22.69 17.t5 t!.76 r!.1,<br />

t7l)


Tabl. E,5: Ibro-Cluster D.l.y in mro-s.condr (Ctusr.r Si,c = 5)<br />

2.Ltn ].LUT 4.LI.IT 5.LUT 6.LUT 7.LUT<br />

4.52 3.98 1.3.2 1.14<br />

591 452 546 5.41 6.J4 6.01<br />

192 412 5.47 5.13<br />

5.91 5.12 4.72 6.03<br />

r5ll 7l 10.5 9.59 t0.06 r0.21<br />

5.12 4.12 5.ll<br />

l t.7 | r05 8.12 6.78<br />

4.01 2.66 2.37 2.69 3.01 2.2<br />

24.24 t2.Jl |.2i 10.45 10.06 10.21<br />

5.91 5.72 6.2 5.41 5.ll 6.01<br />

401 187 217 2.69 3.01 2.2<br />

28.41 t4 t9 I l.0l 13.03 t0)l<br />

591 l.9l 3.98 5.ll<br />

7.14 62 614 (01<br />

s298 ll.9 t2.92 10.5 10.45 Il06 16<br />

1.09 1.54 1.86 6,18<br />

s18584 8..28 547 6.14 1.t7<br />

4.52 417 4.ll 4.89<br />

512 412 5.41 614 6.01<br />

tt.0J 9.76 8.72 8.04<br />

25 r6.21 t4.48 t!..12 l4J8 D.95<br />

l7l


T{bl.E.6: rntr.-Chrte. D.lry In <strong>or</strong>no{.con& (Chsr.r SD.= 6)<br />

!.LUI ].LUT 4.LUT 5-LUT 6-LUT ?-LUT<br />

5.61 5.tl 4_66 4.68 5.21<br />

812 6,56 685 7.26 605<br />

6. t6 4.68 l.9l 5.56 5.21 6.05<br />

516 4.01 2.48 2,14 2.94 2.2<br />

t7.1, ll.lir 9,61 <strong>lt</strong>.5l 10.25<br />

6.56 4.66 t.56 6.27 6.05<br />

t69 t2.16 t0.16 1.t2 t.96 6,8<br />

4.67 I)8 2.14 2,14 2.98 2.2<br />

24 2J 12.79 ll 09 8.88 7.95 10.2t<br />

665 .) 4l 5.t9 556 627 6.05<br />

6.65 5.tl 4.68 1.28 1.15<br />

l0 59 17.8 l4 0l t4.t4 t2.92 ll4<br />

4.68 l9l 5.56 5.21<br />

6.t2 5.21 6.05<br />

s298 t5.41 I 1.09 t0.6.] 10.91 .4<br />

sl84l7 |l 0.1 9.(5 8,18 '7.12 6.95 5C5<br />

6. t6 6.56 6.85 7.2<br />

468 5l9 5_21<br />

5t9 5.t6 527 12<br />

t2.79 96l 8.83 7.9t<br />

25.v) t6,22 15.02 ll.,l.l 1t.22 I.l<br />

t7a


T"bl. E,7: Inin-Clu<strong>lt</strong>er Dehy ln n$o{..ond! (Ctusre. Size - 7)<br />

2.LUT ].LUT .-LUT 5-LUT 6.LUT 7.LUT<br />

575 195 5.t6<br />

542 1.14 5.36 6.21<br />

5i6<br />

4.7! 4.ll 2.15 2.n9 t.02 2.J<br />

13.66 1 r.03<br />

711 tJ.l2<br />

t8.t2 t3 | 8.95 8.71 106<br />

1.74 4.ll 2)5 ?.69 102 2.3<br />

t8.62 ||.t6 a.2l 6.99 7_06 10.59<br />

e<strong>rl</strong>010 77J 7.01 5.42 6.12 t.t6 6.21<br />

5.11 4.68 )14 5t6 5.04<br />

ll t92 <strong>lt</strong>,l5 <strong>lt</strong>.l4 |.17<br />

624 5,7 | 5.42 5.46 6.J1 621<br />

6.74 5.71 468 tt4 1.86<br />

s298 11.66 I1.76 9.68 10.44 1t.77<br />

10.68 9.71 3.21 6.99<br />

t_24 6.t9 6.88 544 6.J1 141<br />

5.75 504 1.95 1.14 5.16 6)l<br />

872 5.42 5.46 6.t7 74\<br />

20.1I 9.68 8.?t 8.08<br />

2635 )0.18 l5,l t4.t7 r4.,15 t4.21<br />

t7i


Appen<strong>di</strong>x F<br />

Inlcr-Cluster Del, f<strong>or</strong> the 20 Bcrchmsrk Circuirs<br />

In th$ appen<strong>di</strong>x lntcFclusrer dclay resulrs f<strong>or</strong> lh€ 20 benchmark cncuiis ar<br />

'hplocnt€d<br />

in clusrcr bed d.hited@ with clusrcr siz I to 7.<br />

Table l,l: InIeFcluller Dehy in n.so-reconds (Clust€r Si2c - t)<br />

2-LUT ]-LUT 4.LUT 5-LUT 6-LUT 7.LUT<br />

r8.7 1842 1142 IJ 56 77 2l<br />

25 99 25.83 21 5l r(.t8 r8.6 2t 42<br />

21.M t6.t6 t414 rTtl r 5.57<br />

19 76 t9.5' t454 D.55 t.l.l6 8.82<br />

54.56 45 )l 44.92 t5 57 27.08<br />

t6.71 12.41 Il89 2J.61 r2l l<br />

I907 t4.11 10.26 t2.29 8l<br />

l6 9l B.t4 10,85 1t 19 r0.13 27.02<br />

45.09 24.) 22 24 2l..16 t916 21.08<br />

cxl0l0 40.54 49.15 r6.5? 7t ]5 44..11 20.4<br />

2J 87 25.94 20.54 15.86 11.29 .25 t8<br />

67.21 2604 2t.61 t9<br />

2l.41 2t r5 t7 .15 t9 65 t25 r8.81<br />

i.tl 5r.18 ]661 15.96 45.91<br />

s298 1976 .1t.88 28.08 21.99 2t.9'<br />

slEl l7 ?041 21.95 t5.42 9ll<br />

r18584 28.54 15.91 t4.53 16 8l 15l 10.7<br />

275 26 78 I4.01 14.01 2t_97<br />

38.29 4t.29 42.56 J5.21 ll.8l 29.09<br />

15.49 t8 8l 12.87 l<strong>lt</strong>5<br />

59J6 31.41 21.2r 26.U J2.98<br />

t14


'frbb F.2: Intrr{lust$ Dchy in.rno{ccon'ls {Ctusrgsta = 2)<br />

2.LUT ].LTJT .I.LUT 5N-UT 6.LUT 7I,TIT<br />

195 16.15 t7.61 ll9 t2.85<br />

)2.57 t4.67 15.66 D.l4 14.25<br />

l9.ll t6 28 1655 17.25 t2A9 D9<br />

17.71 27_81 21.66 l?.83 16.22 16.15<br />

r0.61 8.98 8.52 6.9 8.55 708<br />

14.71 t4.\1 14.32 16.81 t2.45 r0 86<br />

22 0l t4 2l ll.4l t0.12 1_97 7.69<br />

10.42 r0.29 t05E 6.48 8.4t<br />

2685 26.65 19.18 t944 18.04 2t 6l<br />

e<strong>rl</strong>0l0 1.2.85 4t 8t 26.t1 ll.l4 .210r 15.84<br />

11.25 t447 t6.61 t0.95<br />

18.96 11.86 26.98 21.61 22,79<br />

t1.78 t5.29 15,05 14.51<br />

33,23 10.8 10.48 22.76 23.02 te47<br />

\298 l2_24 2J.92 .2t.94 2t.51 25.14 t6.15<br />

2t.5 I7 tl \5.J7 3<br />

\18584 t5.75 t5.29 15.97 ll.l3 9.48 902<br />

t5 52 t2 a7 | 1.19<br />

1217 l0Jl 2t 24.62 tt tl<br />

17.i8 \J.44<br />

16,8E 32,09 3t.05 2.1,E2 20,81 t7.J8<br />

t75


Ttbl. F.3: Inter-Clulier D.hy in mno{econds (c|!!r.rSizc = 3)<br />

Z-LUT J-LUT {-LUT 5.LUT GLUT 7,LUT<br />

ll96 .3l 10,88 l0 45 10.39<br />

t7.46 11.52 1272 9,92 9.25<br />

t1.61 15.09 12.54 r5.ll ||.4] t2,22<br />

6.r 6.19 6 tl<br />

t4 76 26.\l .12.I l 21.28 28.1 2t 5l<br />

rt.9l r 9.6t 9.69 l0 0l 9.41<br />

t68-l 12.79 86 |l.7 8,21 6.28<br />

9,62 7.J1 6.29 6.32 569<br />

20.21 22.01 r708 19.ll I].66 r605<br />

28.84 12.88 2t.ll 18.97 26.58 11.28<br />

14.3 t3 26 l t.t6 t0.65 3.1 8.21<br />

40.09 28.86 2972 24 t7 24.59 2t.05<br />

t4.t8 I5.01 r0.91 3.81<br />

Ll4 t8.78 24.J1 17.05 t7 72<br />

s298 t0.06 25 61 23.02 2t.65 r9.91 20.t 8<br />

21.81 20.41 12.78 r 1.06 E.8l ?.0t<br />

318584 16.8 15.85 899 10.61<br />

15.54 t3.51 \2.54 t4.0t 9.91 8.81<br />

26.01 25.7 t9.72 21.81 28.1 2J.21<br />

I l.ll 8.66 8.16 8.01 612<br />

13.9 2.1.85 2138 22.36 17.94 t5.t7


Tlble F,4r Inter-Clurre. Detay h mno-seonds (Ctusrcr Siz€ = 4)<br />

2-LUT ].LUT +LL'T 5.LUT GLUT 7.LUT<br />

28.21 t9.24 18.81 22.49 t5 l5<br />

r9 5l B.tr 2t.t5 ll.7l ll92<br />

t6.86 t8.22 tl.t5 r6.8 t3.14 9.71<br />

8.98 6.)6 506 654<br />

ll.l6 24.81 25.91 2l.91 t8 2l<br />

Ii.2 1t.02 I L,14 t0.ll t2,.03 9.51<br />

14.55 9.48 128 t0 t7 6.51<br />

8.04 8.71 8.86 6.61<br />

t5.68 22.1I tt.05 18.74 23 59 |].14<br />

21,59 24.81 26.66 2;t.9tl :1.41<br />

t5.2 |].E) 10.76 t2.19 8.Js<br />

25.22 20.15 20 2l r5.46 18.96 2J.92<br />

14,55 I t.85 D.59 8.89 t.8l<br />

30 29 14.95 10.76 t0l 8.59 8.tl<br />

s298 21.71 24.8t 22 J5 I9.91 t7.18 t? 05<br />

,164t7 t8.85 t1.72 I t.46 .0l 7.26 10.21<br />

s18584 16.26 r l.4l 8.71 1.61 6.81<br />

t5.41 t0.69 t2_82 t0.16 I L14 r0.t l<br />

29,49 J7 t2 17.4 22,43 21.51 8,01<br />

17.6.1 8.99 E.0l 1.12 7.tl 6.61<br />

47.92 21.9,1 r4,19 16.73 t5.7<br />

t77


Trble F,5: lnr.r-ClBt.rDehy iI n.ro{sonds (Ct!sr.rSir= t<br />

2-L!T ]-L!T 4-L!r 5.LUT GLUT 7.LUT<br />

2028 r5.57 <strong>lt</strong>.l I 14.02 16.7<br />

18.98 15.29 t2.14 .93 878<br />

19.84 I t.57 9.96 9.52 6.99<br />

8,tl 6,t6 5.91 5.25 5.17 4ll<br />

14.52 26.56 2l.51 28.r8 72 t5 t8.02<br />

It0t B t8 |22 to 24 912 11 2.,<br />

r0.88 5.62 6 9-l 5.94<br />

7 7.62 5.5t<br />

| 1.66 t6.56 14.41 14.01 9.98 12.05<br />

52.62 15.71 26.97 <strong>lt</strong> 36<br />

t7.51 12.95 |.7 t0 23 t0.93<br />

12.79 r5.l t0.95 t2_6 6.86<br />

l).52 t25 1t.74 8.6.2 887<br />

10.65 44 92 t0.16 24 92 25.51 20.92<br />

12.15 21.76 26.21 2J_92 t8.19<br />

1628 t2at 13 98 718 686<br />

5185E4 D.l2 t0.41 8.t 12.92 l].82 7.08<br />

r5,23 12.51 10.46 t 0.94 t0.9.2 877<br />

.28 74 27 45 12 59 t9.34 19.01 21.62<br />

B.t I I t.l4 3.ll 6.25<br />

32.95 22.91 11.6 17.85 11.24 13.9<br />

tTlr


T.ble F,6. <strong>lt</strong>rter-Clurrer Det.y in nano-$eondr (Ctu<strong>rl</strong>dSiz. = 6)<br />

2.LUT I-LUI +LUT 5-L!T 6.LUT 7.LUT<br />

t4.2 12.94 t2.64 13.1 895<br />

l7 0l t4.o2 t0.8t t0.96 9.l2 10.48<br />

22.15 r6.06 t2.58 12.21 871 8.04<br />

6.07 6.86 4.87<br />

26.17 29.81 26.35 20.9J t5 t2<br />

10.07 10.14 r0.86 9.08 4.14 9.82<br />

r062 807 t0.14 7.26 6.5.:<br />

6.2) 8.16 501 559<br />

t2.49 I4.58 11.48 t8.71 20.01 995<br />

25.t6 37.59 28.6) 10.?r t5.14 t2.82<br />

l2_84 10.94 12.81 7t4 8.t8<br />

22.26 1577 16.85 1514 |].l9 t4.82<br />

1,2.81 I4.12 12.06 9.21 894<br />

.10.93 1t.85 24.42 r8.19 28.65 2t.01<br />

s298 28 t2 26 t5 18.69 t9 92 14.68<br />

sl84l/ 17.16 tt.77 t0.88 9.J2 6.2 t4.11<br />

sr8t84 <strong>rl</strong> t5 t0..2 r 8.41 748 1a)<br />

1542 Il l5 t0 41 7.55 355<br />

)1.42 22.t2 15.04 21. t4 t7.74 t0.33<br />

l0 75 9t6 7.21 '7.l<br />

23.56 23.68 1927 t6J.l 14.u<br />

6.59 6.06


Tible F.?: Int .-Clu<strong>rl</strong>.. Dehy in m.o-recobds (Cturt€r Sjrc = ?)<br />

,.LUT .I.LUT .I.LUT SLUT GLUT 7-LUT<br />

15.29 14.17 12.04 9.ll<br />

2t.42 t0.6s ll98 11.58 \ t.67 3.81<br />

7.08 5.71<br />

6.21 5.26 5.62 6ll 487<br />

44.02 26.t2 22.58 29 92 20 7l 2t.47<br />

9.78 t0,06 t0,29 E16 7.2' 8,6<br />

|].]5 10.7 t096 9.59 6.J2<br />

7.41 5.15 4,92 491 4,4)<br />

20.46 19.98 19.49 20.11 t1.42 r t.7<br />

c<strong>rl</strong>0l0 24.5 29.46 19.2 20.9 2.2.51 12.52<br />

ta92 D.54 t2.64 1.92 B,l7<br />

l6 02 r6.59 16.74 tr.48 t4.88 l3 34<br />

ll t6 ll l5 .2l 8.4 7.24 8.12<br />

26.68 10.19 25.18 12.58 25.02 21.91<br />

5298 25.95 25.16 L52 r8 7.1 t4.t8 10.36<br />

17.15 25.61 9.9 1t.91 E.76<br />

s38584 12.44 12.2J 7,57 t0,72 7,76<br />

11.5! tQ 29 l0.l t2_64 8.16 6.89<br />

15.24 21.43 24.59 l].6t t2.t1<br />

979 1.18 6.J9 7.01 5.85 6.58<br />

2a.tl IE.48 l7J5 r6.62 t2.17 t!.41<br />

IEO


Aoopn<strong>di</strong>x G<br />

R..c.rcl P.Fr PuHLLd ir M.trr Ulivlday R{..rrh Joun.l<br />

l. D!yo, K.R., R.jp4 A.e.K., rnd Cl'o*dhly ,8.s, ,.Andr!i! .nd<br />

Co<strong>or</strong>odrd of SF66i?jry Al8o.i6!B fc As .d Dcrry Miliriz<strong>di</strong>h<br />

i! FPGA Atti..rdf, ti.t&D Udvgd$, Rsrc! Jour.t of<br />

E gic'ing & Tcc.lmlos', Vd|@ 25, No 4, hd|o o, p.tir&_<br />

Octoh€r. 2006. pD 351 - 162,<br />

lll


Analysis ard Comparison ofSynthesis Alg<strong>or</strong>itbms f<strong>or</strong> Area and<br />

Delay Minimization in FPG.A. Architecture<br />

t.<br />

KIIAL!L.UR.REAMAN T'AYOI, ABDU! QADEER (HAN ANJPUTI'' AIiD<br />

AHA*ANI SHAIiXAR CIIOWD{RY'!'<br />

AESTRACT<br />

Th.ulo*fal@oiri.FPG s<strong>di</strong>htlE b6 hd b InL4aw sbrtr6 on d'rcD<br />

$ld[fde.hnlauldtUTgiot Up Db!)brs.d FPCI! (rLld Pr'gr@!h<br />

C!t. AE.F). ml' p.p.. bvai3lr6 vr<strong>rl</strong>oG tdniquc ro' kai' tnthaLr 'r Lur<br />

b8.d tPcan l..lu<strong>di</strong>ia losi. opriD&<strong>lt</strong>lon ie<strong>di</strong>niq!6, .h. &.bmlogJ Brpp<strong>lt</strong>g<br />

Ghiiqu.s.nd n*lr.p9llEdN in FF0A rFtb6&dS<strong>or</strong><strong>lt</strong>lB f<strong>or</strong>.@ d'Ltrtd<br />

do.l Einlol?rt'@ Tb* Ldliqc {.v octddlblv l! |d otqod<strong>lt</strong>v 'od<br />

rin.|ln.J, td <strong>di</strong>tr.F.r 0!6 mtt b. lutbbl.l<strong>or</strong> dfilm' tt?6 old!*D '&/<strong>or</strong><br />

<strong>or</strong>.lnlz.&robj.ctG It Y iruPrpd.de.hniqEaf@'n<strong>or</strong>tl'tlE blilmB<br />

md tFr MzEur.f o 6oc^ (s.gndI A<strong>lt</strong>o.rt r) muLn h.w Mt @mpkdIl6'<br />

I]i<strong>lt</strong> @r.! n lddy rcr*d o bYs4ahs tnl 6DDld lsu6 r'r'rd b 6'<br />

E lds&'dop.d.lS..<strong>lt</strong>iGt(t!.irdoard!ti*!ddlba!@dd'd8q<br />

.rd ih. c-{D dgp.<strong>lt</strong>s rb. br8.i the *chiktod sM@iz.d raul6 m<br />

<strong>di</strong>r.u!*d lndlyidu.l<strong>lt</strong> l<strong>or</strong> los,. syn$6<br />

K., Y/ods srribc4 ntuic^M o0&.rdjm'L0r,<br />

INTRODUCTION<br />

irdE inudoi in 193,4lll,FPGA! hrrc lEn.<br />

om ot rh. no$ wid.ly n$d phdom fd <strong>di</strong>siril<br />

rppric.ri@. Itey !rcYid. r i.v ArMn b<br />

aSIC (aptlicljon sp*ific Inr?srrcd cn.un)<br />

inrr.tunbrio <strong>rl</strong>ur fdud both la4. {:lc ideF o'<br />

od ad aq@zb iry. An rua conthB <strong>or</strong>t fgdr<br />

6r ot logic blcb rhr impl@Dr @mbiotjdal r<br />

..qu!ril losic 6EjN d.spr.3tu6.rL dh8<br />

*eo c shichpl<strong>di</strong>d6.offitio6 ba*En th.l€c<br />

blocts 15 rh<strong>or</strong>i ii Fis. t. It conv.ntioial ASlc<br />

inplm.idrioi t€inolo96, lucn r M$* P'trgMm.d<br />

crc Af,ys xd sddrd c!u. rh. @icri$ bct*6n<br />

logic btdk .rc ihllaft .d bt dariujztoi !t .<br />

rn D FPCA rhe o@{ri@ c idphnot d i! $. ndd<br />

unng d* urcr toll|l]mbL oting ictv<strong>or</strong>l T[it<br />

d6 mut&bti.8l@@ddB t@ *eB ro<br />

iJGGiIqo.pumnrota"tuiqr.l4ohnuii@dd&Bion'<strong>di</strong>c'lE si*alns M'tu4uii!"irv<br />

<strong>or</strong> Engrtkig & TehmlogY, JMr'<strong>or</strong>c<br />

p-;u. D.;e*' <strong>or</strong> c;p"@ & sdsd E giians M.nfu umldry <strong>or</strong> EigiMns & r'_Lerosv<br />

i"i.*q o"9"m"raowliqra*nidj6& sidn€<strong>di</strong>dlEni<strong>di</strong>is, Mdd Uisj'v<strong>or</strong>Ii'e@3<br />

<strong>lt</strong>ll rrnru ulrvrasr rrsrmcr onnu <strong>or</strong> nermrmo I ncru<strong>or</strong>oer vourt rc m r' o<strong>or</strong>oua no t nst urntt


Diduar iid Edra.s prot<strong>or</strong>vp' cosB ftoft t'$ ol<br />

rhN$nds 0f dollrn b hundttds of dolrd<br />

Tl@ E ho*cvq d.rsitv p!dotl@' P'irtrEr<br />

"d<br />

asd.iarad *irh us.r prosr.mmabl' louring Ti'<br />

FaEfh.hl. @mduoB sh odnlof ne'<strong>rl</strong><br />

'h "iE<br />

fsnmB (@B'd bt Pms<strong>rl</strong>lmtbk 5wGi6 eopv<br />

sle @ Dd lrussF d'llv thf lmpt vtr6<br />

"!r<br />

ft $cd.Giry p.ialrv. FPGA dhir*ucs'mplov<br />

'.nE<br />

.iry *n.o, a"-t,. *^u"'tt"s ut*r'<br />

dd hric. lha dunbd ot pFsrnmibr' coin"lo6<br />

n€d.!bnndmdFgi*irPPriclid lrs''omPr'r<br />

logic blsks sle rcd*. rho p"lmse !'dnv by<br />

'!.ij.jns dl Dumbd ot losic blcls r'd tFl'rm<strong>or</strong>a<br />

@d@ oi dE 6 ic!r Pds in 6c cinrL<br />

'IrElis! h!.ddtlrq ofFPcA llgc bb'a l,tg6 c*<br />

.t Lrs6 rd losc 5Fd6.i rhtr<br />

'{Fr<br />

Ia@ d<br />

EioB tpgcbcs b r4r sj'i Bi' td FPctu tut<br />

ue ldtut bbla ed n.Mry u:rt to idtLd<br />

ddt<strong>di</strong>dd logic A K-idF!LUT& rdt3id lMotv<br />

dd 6 i[llmr 0Y told ntrd<strong>or</strong> ol K v&$L,<br />

TIE K in4s drsl6rds. bv t+jr rEndv sr<br />

!6 th. bth EUc <strong>or</strong> rh. Bdhd ' r@'lotr<br />

t:<br />

#+ ++<br />

+ 1r<br />

+ -t-<br />

+ t<br />

{} -Il<br />

{}<br />

+<br />

o<br />

+<br />

t<br />

+<br />

-<br />

#+ ++<br />

L<br />

r.l mGACADrbr<br />

A op'.d CAD flo* Id FPCA dsisb of a *G ol<br />

-;oMe'!dc-{Dbh s rdFEd'oFs u nE inpd<br />

ro thr nov su.l<strong>lt</strong> is I hisn'kv'l d6cnp'io! of rh'<br />

hddw., dp'ds.d in hlgh_l*'l h'!rd!4 d'srpud<br />

lrisursr! ruch * \tr og d VI,,Dr Th' dacngd<strong>or</strong> d<br />

Erd br r syirh*ir Pmg'n t2_<strong>rl</strong> qh'd nrp! h'<br />

ddcdpdon Ibg!4. inb I rcwo* olB@rd 'qu'!o6<br />

fl iD-floF, od Pr.-dcni.-d nodula Duing 6' rviiddr<br />

d.s.$.B@|4.{uJmsmoP|d4ivitiBp.d<br />

;. d'r" a'<br />

"",,."'"r'.!r".."'""'" ""' "^d<br />

opd'nado6p.ddtr!d ft i5 sbg'cI' db ba<br />

d{ dtr b.nafir ciEui iddllmlrims on {v hdu6<br />

'<strong>or</strong>lnFPCA. so@s/ ncndsd&ff itrhdjns t4<br />

5l mrjnBining r hi@hv rhit cl6lv dtl<strong>rl</strong>'.G 6t<br />

b.lndd of Di6li6 Tne dsonlhtr 4 ond c<strong>rl</strong>l'd<br />

dc <strong>di</strong>bp<strong>rl</strong>jl{daur.d til}6j. dsoiirbd l3_5l ds<br />

@F t b p'gc dE Esul<strong>di</strong>ry oI datptn circut bv<br />

'@r<br />

<strong>or</strong> FPGA !Ur' 6fld d. ElnFIos @pprol Fa4<br />

Pl. Th.n dE grkng 9G 15_31E D!6l-<strong>lt</strong>rs'tldlif<br />

tl<strong>or</strong>6 inb lolic blocts 'tll of *hicl: usutlrv sbs<br />

&v.r.l LUTS.nd oip'nops Duddg tht rchioiogv<br />

neiis !i tu Pxhis PI@ dE cn<strong>di</strong>t ! rgli<br />

dF Boold.ql<strong>di</strong>s e ild 66r dp!'d inb r<br />

c++++++#<br />

+df#+++d+#


o9!hi!.d *i$ espct to arim$d iBpl.mndnm d<br />

r.dd.Lr. Tnk dft rh.r'iniaids d r24.d bw$<br />

3!d'r* inphm! dd @bnolo€j6 As a rvpicdrv<br />

oF ir.nbyhiijmi:io3utnunbaofujrrdlo8t'bll|6<br />

oft.i ottinir.d b' nioimirns dE Nnbd olLtrt3 <strong>or</strong><br />

lqro blakr $4 d on ilE.stiFdt! nFnu{iticd p'$s<br />

of rjl..irclii Tn.sFific l@id <strong>or</strong>.a.n lolic bler <strong>or</strong><br />

rh. !rs.r FPCA k d.min d duing rhc phc'ncd<br />

pMdt l9-lol a plcm.nr pbsdm NisB cth logic<br />

bl6k ro. uniqe lqrid ro otbmi4 &<strong>lt</strong>v 6d n'<strong>di</strong>ni&<br />

{inli d.nod lin<strong>rl</strong>l, dM.g rh. Du<strong>di</strong>g pd6s 15 9<br />

I l.t!l r rutins pro3rm n ued b codnkr logic bl4x3<br />

63dnr by dd.minitrg th. cotrfigunrion <strong>or</strong> rh'<br />

rqr|ldbL ddns cdEd Tn m!! Nr ot dr<br />

D<strong>lt</strong>ir, progoN is ro succt$Iu<strong>lt</strong>v .$rblrib rrr<br />

.NedoN in ..jtuir u.irs th. uDiEd @rir of<br />

Dtyd..<strong>lt</strong>@rv<strong>di</strong>rucdd'lrrtFPa Th'odE<br />

u* of rb. dti.t tb!@ i! b 'nni<strong>di</strong>z d'l'v bv<br />

.ibod'8 tct Phttid .onFid o d'iry


22 Mis-P8r<br />

MiepS! ws d.Elop.d by MuBd { d , Univdrit, <strong>or</strong><br />

C<strong>di</strong>tuir B.*.l.y, $d ws P$.itd 27d Act"{'!6E<br />

D<strong>di</strong>g|AuMdo Cdls4 lll Tne!ffi gbup @<br />

dev.loFd loSjo lyntnait bols Guch s bnID to'<br />

sbldtrd PLDt, T<strong>lt</strong>c. @1. 6n.ist of rwo €perc<br />

g!et: r.ch.olotv-ind.Fnd.Dr op'idzrio' rnd<br />

cclroloty F<strong>rl</strong>piis How.v.' th.v ttou$! rh'<br />

@drri<strong>lt</strong>yo<strong>lt</strong>h.tu dGtJr@h.i'DPLngt'dbv<br />

LUf s Knd d b. dobk ii.xn adddd s@!i*<br />

TrF Gir.psr cd b! rpPli.d ro bodr Lnl_b$d ad<br />

MdriPldr-0.!.d 3& drY3<br />

2.3 M&.!9.(N.r)<br />

In l99l, MugtichPFpot dMilpsr<strong>or</strong>c')Il3l Ithld<br />

O hu.d qbcp<strong>di</strong>ii'rd@pcitim Ehnjqe<br />

tut !|lpen ii .ndasf Out 6.ztLd DiF<br />

p..tiod, co_f.ct<strong>or</strong>io3, r R<strong>or</strong>h'KrrP<br />

iL46psidoi lr *B shom d.. m sidtra<br />

d@bpsiii<strong>or</strong> Bh<strong>di</strong>qa snfi 6.<br />

Gt Irv.fo l boafi.iii b rpplv ddnpGi.ion<br />

ud BMc d.cl iod., bd rho us Pd.l<br />

colrA* b dPloit thc thc@ oI rhc mBftr'<br />

<strong>di</strong>') Ir pDDo*d rh! i{kr ot Drjng oFi<strong>di</strong>arioi<br />

.p4i[c b <strong>rl</strong>gc<strong>lt</strong>liEc ro$ncrd, tqEl<br />

dtui! w d.<strong>di</strong>t.d.<br />

a4 RD.p<br />

PJi.p E d.vlloFd by Sctl.g d d of Uiivattv of<br />

C.!6Ea Ssb Cda ItpL..d.mphaiioi rh. @bDi<strong>lt</strong>v<br />

ofrh. datn, In Pl n ir.|id $d only 30* of.clls cb b.<br />

mbbly mpp.n ii rrDicd c@,lbcy vi.*ddobjlitv<br />

r.d cl3 lcolri3ubL Lqic Blcxt) 6@ u r uud4<br />

ofirtrbLDi . srbL d.ti9 ,io ljdb dl cl,B! is<br />

l@F.fa {. ds r d6i!r *i} f.€ c-I-B t du is<br />

d6lalr (d ioposjbl.) to eG. To rni.r€ sllDlc<br />

nrppirg. th. Ftio of pio !.rcell<br />

n !s'd l<strong>or</strong> r!?<br />

lM@Mt ollnc mdrot E<strong>lt</strong>lic uound rh'ell <strong>lt</strong>'<br />

hish.. $a itic $a mF <strong>di</strong>fliculr ro bur.. wh e o6a<br />

.896 ol map lo.* e<strong>di</strong>lu b dhd dg<strong>or</strong>llhht rh' hM<br />

I.@oldtnddnPsrtu @Eiry 'nde[ Pt&ns<br />

( tulgtng in niep€r) riod@ilv Itr rmt of cll<br />

tu! onrpdpdtdn ddtn.


2-6 EdgFMsP<br />

Edtc.M.t *r! d.v!lo!.d bv Yrni tld Wois ot<br />

udqnt of T4. A6tir,.nd 9ls!, i hdrtied<br />

Codldr d ConFtd_AiLi D.tj<strong>rl</strong> nn3 ehD<strong>or</strong>oSv<br />

dppiigdssitB!hi!E P!{blvo!d6'ld'hv Ii dt<br />

s.*hr.d ciruil Flo*M.p ll4l .<strong>lt</strong> iL.b *itn ddrv<br />

djniatur TL <strong>di</strong>fi.@ n E!!eM.p |.!@ ihn<br />

.sr .d!. fd . ..d. hs r ho!trd'd dtl'v Ei3+Mrp<br />

.6nB olvo rtl6r h!.!.t Pte *hici i. injr{ b<br />

d6@ii@ of tudjn3 . h.tl!'L do!t" but t''iiv<br />

oniri..do ir !r.! bD r.dd hct' &d ,.enM8<br />

c$., s@c<br />

"Ndr . tsmd of uiT t h r bdm'<br />

up Il@(ftlo dE Ffrst 4Sa @d !'iIrY<br />

'tF<br />

i!<strong>or</strong>) @<strong>di</strong>rs 6 tl* NIr .f l.h.li!t !14 Ei3+<br />

Mrpg@&d <strong>di</strong>rdt|@LlTt $e FlovM" ir tof<br />

r0!(l€b6d!.r.!on BdninNoEdd@jttri"<br />

i. iiloaMCt{Cc<strong>di</strong>t, *idtrsl3c ot' 3*<br />

id't tui.noldhr,4 <strong>rl</strong>" Swidld. S 4i'<br />

t<strong>lt</strong>,..dkrioiABFaS<br />

a.l. bshv<strong>di</strong>t!'d<br />

bo.h ttrc ehjictot! pe@Gfr of iv'id FPGA<br />

dhicc<strong>or</strong>. .'d 3lpPo<strong>di</strong><strong>lt</strong> t.chmto3, d!dn!<br />

|lrrcn i L tll Ghi@il ,t t it w $ou M<br />

brndlPr dr.!646.bt''!r&g6i'@ll<br />

flroberotk hr!ttl!. od & *I'dcd b iod.d<br />

t 6i Dd6 rih eii. nti! ed rF* Ioti"l d6dv<br />

Tb. deih.d Et olon/ n t9itrS rot'<strong>lt</strong>l fc de<br />

hybidUn/Pl. chiEw.ppli.,D<strong>di</strong>dou+d<strong>or</strong><br />

ddp{iinDinS 6 isl& <strong>di</strong>t fein Li' !od't 'iu<br />

d4L <strong>di</strong>F)B. Inp!. $tint ii dF t!.d b d.l.dF<br />

<strong>lt</strong>id da <strong>rl</strong>nld b.@Fbiild h6 tlEPLr' b sEr<br />

bnrK:Yiri!dn6,qti.,416A?EC''(BmtriE<br />

P!!. wirh Eldjvcly h4! trbbgr ol'{Ddrd ts (up<br />

b 12) rd Nt9{b (!p 6 16) i! Elrid o intut Ml<br />

(]2).In @ea of c. PLA i! l.4plv hlle"c bv I<br />

dsiE b nlw ft.ircuiq lmitr $' Pl, ro<strong>or</strong>6rt<br />

.iiias. PLAd! rs'I nlffY o ntitt2043<br />

l? HtbridErP<br />

Thi! stiotr d*n&! d ldthn<br />

th{ <strong>rl</strong>s !i3'B<br />

Ai dtd hD F!F..d B lnilh!'llr@lhv srmrt4<br />

ed14td, HvbridoD tl5l d34 FdG @ lre<br />

*rst myt & irY.lv4 thE '@t6:<br />

ll) l&ldfqtio! ottaab| PLA obEvo'tt<br />

l, ft.ash<strong>di</strong>l|ddnd<br />

l, M..tng sb*l*ff.<br />

ft. dd let ! b $!d tq 3d+ ot Nd6 lb! b'E<br />

liniEd f.s! |hicl viu <strong>di</strong>E tb. ongl! oftb' F d@<br />

md@ymt llE!od6iaotrdd&d@<br />

s.bn! fddd.dtililni.t|td!.ott it kdb<br />

by tlr. dF 6v Onc d. d s it ctratrt4 '<br />

sh t<strong>di</strong>nt d 0t dr s lrt F*"<strong>di</strong><strong>lt</strong> n'redr<br />

ddlh d, !.Mtt (@!dt ln. iiFrt) i' <strong>or</strong>& TIt<br />

u.ril tndtEF @|E.<br />

h.rrd !4i !t@dt<br />

b i6bdq 6 l<strong>di</strong>t l! fiDin 6 tL $h'rNi t l|<strong>rl</strong>q<br />

ri.! rtE !!!bs of i.!.,6 @ ilF ctrv mv Ini's+<br />

rd@ r Nr$sof$!Eoo*5 .ll otdtch tt'd @<br />

iu!od<strong>or</strong>s!n#@!oadEFodd6n@]l<br />

6r b9d Dd olFn .snc e d tuf*knt o<br />

eEnir dr $lddrdh. Ed@E <strong>di</strong>'rFldd<br />

h cldt d,- Tl, odE Mhid i' ilE@b


d^lYi.Ncool,B*ds,q6B<br />

2J pMrF&-r<br />

IindStidn d.vr@ bv l-g rin Eq in26l @<br />

yirh ! dwt of LuIs s ingu( seds e 'l@tr {d '<br />

Drppin! $tutioo is c<strong>or</strong>Pui'd fo"vdv r"d ^<br />

conpniloo it nrd. bdven rh' pdvios <strong>or</strong>ptrig<br />

$ludd md $?et sl jm cvcrv rircIn'*sE<br />

Fl4r.d !d thl @spon<strong>di</strong>ng mppi4 slurioi r@dd<br />

llE b.@ sl<strong>di</strong>m is !*itun Who <strong>rl</strong>l s"ds hivc b"i<br />

.rhrsr.d, $' nnd 3olurioi is t<strong>lt</strong> b€* soluriotr our of dl<br />

2.9 SMAP<br />

Tn dS@rhm P'$po{.d bv *ilo tl6l hrc! I na"o*<br />

of+Lnt s inpdnd @Dptsbpfr DodE i'buuM<br />

tu<strong>or</strong>ydrs lr hrol6 lhe n'P6:<br />

(l) Id.ntitYiis. Gd 'bda<br />

(4 chdans 0! E$t dY i''{ sil'i's d<br />

g) chGii! dE nrdY rmt dttd si3"<strong>lt</strong><br />

T} 3o:l of $. ,s<strong>di</strong>thf is b p.k 6 Mv M a<br />

Fr.iit. into $. lMc-v: $e nod4 thd courd Nr b<br />

Nk d4imd!*nk!usins<strong>lt</strong>tTaIiddsro'Bu't<br />

iialiidr*.d nod..Ioie rh..lg<strong>di</strong>dm:ptlildb'rcry<br />

mdc jn $. mlMl rh. c.d iod. dd prcdu*: rh'<br />

Nr d.l.td nodd in d. Iinrr sobri@ L Lr'tr 'ho*n<br />

3. ROUTINGISSUES<br />

Tnis e.rid iDiitllv <strong>di</strong>sDs6 $c phvs<strong>rl</strong> svDrhns<br />

irG ol FPGA d.!i8E lj@ rh. mdo3 dsdmd s<br />

blrdDd 6opr.dEi.sXlidaom siBIPCA tul<br />

3.r RoufagDe<strong>lt</strong>Y<br />

IlE &l.y oh d<strong>di</strong>r ibpl@E<strong>di</strong>n u FPG n @dv<br />

d, b <strong>di</strong>o!.tLls drha d4losc blo.r dd<strong>rl</strong>a s'<br />

dof oFPCAI !an &rDcdbF.snd!&J'<strong>di</strong>i!!<br />

(E nt3O*) ll&tgl Fdll@ sFPG/\r 'M itro<br />

id6i4ly&P$bddrcP@lh'ft<strong>di</strong>otroI<br />

brd d.l.y drc b odng n ill@ing *irh '8h rd6<br />

r.i.nuo! conaquddr' otr' Eun {bvn' 6<strong>lt</strong>itr8<br />

],u,uo.,- *"a * *l r'o * *"m'"" '<br />

c@s!?c 6!ft v dplois tlE F,f@ dd<br />

d.r<strong>or</strong>r.In lhjs t!@h m* w hlE i'v6[3ad vr's<br />

FPOA Nriis!.hic!:c: $'FPGAT dxil;uJ'oPh!<br />

Illod i<strong>rl</strong>. of F$ing dhil.fu) l2c2l I<br />

3J Maz RooftgAlg<strong>or</strong>idun<br />

ftc m@ roub I?21 b [E bs]5 f<strong>or</strong> @v oti]' outrg<br />

.lSoirhns dacrib.d in rhis s'tion ft' Il@ rcurinr<br />

shon$n pas d6B!.d b lind dt shoed pnh Er*"i<br />

,*-o plnr on *a.gur' g"a t l"nal'_n"t<br />

" '-g<br />

@h.1]E.lgotium i. gu@<strong>di</strong> b fiid r p'Ih iroi'<br />

.xiiB. whcn ,ppli.d to .o FPGA, dE Me rcu<strong>lt</strong>t<br />

iFndn n 6. sl@ oodt ol r *t Dd qF'dt<br />

'@<br />

i oo"nuo.te ood. Tn" ;sh*i'g oodtt ot tt"h<br />

d,.'rLd !od. G th.n uprd.d ac<strong>di</strong>c 6bu<br />

tur rr sist ood..f d. dnFrb4 d rn n0d6 b€<br />

bdn viriEd rnd D pdh ns betr fdtds oe ot 0E<br />

h!!6r *.IF oftbs i' ti n @ h' vtrt<br />

'issnnr<br />

d@, r L4e lmbd ot dE noda! in t sn9n *u<br />

'@<br />

h.v. b b. visir.d b o! d <strong>lt</strong>'c |<strong>lt</strong>w b"! vdd<br />

'<br />

inFo€mnb bdEbsic @ d6o irgw dFF<br />

!i9 ficd0y d@ rb. d{inc whilc stin tiidhs dt<br />

dFnd plrh bg'*4n two md4 t22l Rubinde$od<br />

et en n 6rnng I vo_Eminal id, dt "l"<strong>rl</strong>on onE<br />

d.nng GFind tot 6c !@h on sistif'cmdv d@<br />

rb dn.riru. OrGnu 3 @h,ldrE! closd bom d<br />

dE foe @ts <strong>or</strong> $. Ebsu<strong>lt</strong> Snd h'lP: b Ed@<br />

d.M-ddtiBrn .dSsofrh'Er<strong>di</strong>atonboudtit<br />

d rh. *sb. sodrp zleEd matcsic iigeitiD b r&<br />

ir.r<strong>rl</strong>ld Dod6 rbd @ su6ivalv clos Io tlF nd<br />

of . D.! <strong>di</strong>is r <strong>di</strong>dr.d d.h dgsid'h Sol<strong>rl</strong>,<br />

tu*ld <strong>rl</strong>'d.djdd@b.lratrhotovidaudt<br />

ol oisni.udc tFadD! d.r lbt bsic d4 ddt<br />

j-tu.fi! 3 G 5) tbNs d 'rnpk ot [dv dF t@<br />

sb *P{tid "-td p't"'d fo' l'r t b'-d'h r<strong>lt</strong><br />

e<strong>lt</strong>n o.l (U rdGtd 5.sh It' suc of 'h' id'<br />

Nld wi6 b _S'dd rh. bgd nd* 6 @*'d ''D'<br />

iifiiilGr,.."',0*",."*n*on*,"',n**"-*,o,*n, o*,,,''ro'**u'"u


{<br />

f.Tn bh.k !q@3 ruk blsk ! i.dqsdoiganol<br />

I<strong>lt</strong> <strong>di</strong>ad.d s&h .rpfds $sni6.&dy fa'{ node<br />

riu rt. brc.dft'fiRr rdh, siE rh. &?Eh .rp.idr<br />

<strong>di</strong>dly roqr6 dE k4.t inl It th.a i5 a sisnifi@r<br />

|m of csg6rio, $. <strong>di</strong>dLn ffh niv ..d up<br />

.rttid1ll3 n6t o1 d& nod6 b fitrd . F6 b oc 64d<br />

.iir. Ir d. eBr c4 ln. <strong>di</strong>crd t id ha b.rArid<br />

s miy nodcr c rh. bodrh-liBr'<br />

3.3 RTPUP ad Re.Rolle AlS<strong>or</strong>il[d and<br />

Muld-<strong>lt</strong> ntion Alg<strong>or</strong>ithfr<br />

situ. rh. rurilg @rfts i 3i FPCA sc Lnicd rcuris<br />

riso rhm! ftce rh. Probhn <strong>or</strong> daling qnh rcuo''!<br />

oiSction. T hc p65bm n d munis o.. ier utir<br />

p<strong>di</strong>.u<strong>lt</strong> rsourc. roy mr}. ir inF65ibre ra<br />

'ouE $n'<br />

dlF, i.B. Th.F hrv. b.a $o mii t FJ oldsdjtnnr<br />

bd.<strong>rl</strong>gi$fuong.s|io'fllhho'1.fi6't,'.d<br />

dlri0h n t@i a nPuP Dd F4t4 $.i 6 E<br />

,dt&E bt Unisd K0l Dd r{-.! Stdo$t l23l<br />

l5rh riprPdd E ot.lg@rbns M cing '!!@<br />

rhr tr. .on!.rcd @ npP.d'trp rd E outcd Tn?<br />

!&dt n &9cnd.nr o <strong>rl</strong>E ch.ie ot wh-h ffi ro trP<br />

in !<br />

up rid rh. oidr itr which dpFd up nds @ E-ouEd<br />

Al<strong>or</strong>hd solurid 6 6c c<strong>or</strong>yasdon ptubl.m, howi s<br />

lh. nuu-ndjotr rpF.a.h, w6 @riv.d bv Nrii A<br />

rcui|u ir.6rio a d.4ping ut bd E_<strong>or</strong>irs of'Erv<br />

iisl. n!! T}. n.b m mt dPp.d_up tlr { da bu<br />

i6cad .&h d ir nPP.d{p '.Asr.lv (ovii! ril 'h.<br />

odd n.6 ii pl*) @d Fdr.d slYc.d i<strong>di</strong>od c<br />

ldfM.d b rLvi<strong>lt</strong> dtitrcolstim. N.s s nEd<br />

npp.d-up r a it. cois6rioi i5 iddrifi.d bv kepii3<br />

frk <strong>or</strong>$c nubbq of nds c!tr<strong>di</strong>v @uPvig od<br />

'ourig Esom. io!. Atrv iod. vft.tr 6cuPri'v<br />

stodd,hm sc i5 misidsld misdsl N!i/r ochniquc<br />

bems n.b ii iomong6.d 3d €n <strong>rl</strong>e b. Er4d.d<br />

b <strong>rl</strong>lo* !.b uing.ons6kd rcsod* ro b 6uGd noc<br />

.sii). Now rh3l E h:vd ddsibld 5'i. ot rh. b6i.<br />

Ehriqu uld by tuv mutiDc dssid)m, 'i ft n'i<br />

3,4 CoueGFPhErP.lnd<br />

'rh. caE (cffi Gdph &p.Bim) Futjng il3<strong>di</strong>inc<br />

davelop.!byBDha:ll24l i5d*6ftrd.mubs<br />

rrr<strong>di</strong>$m dw.lop.-4 t{ island'!9k F GA! cGE&!<br />

Fubbility-dd!d 6ud. zlihough nmiiS 'ridci idt qtr<br />

b. sig@d : highd pri<strong>or</strong>v jn th. @tns .l8dsh<br />

Th. glob<strong>rl</strong> rofiirg ilgoti$n u&d bv ccE i, rh.<br />

LdGP<strong>or</strong>E <strong>rl</strong>obi ntus tso;h f<strong>or</strong> !od]n *u!'<br />

t! d€ L&6bE:lsoda mrri-broD.r se dfu<br />

rt id rwimiin E6 Erh r@r.ni'.| id t 6fl<br />

dEd utin3 r riiiM Iosrh p.rh Prht ft.h6'n s<br />

s b bd@ tlc Eb .ods dl dE dsmn<br />

th. CGE iLEil.d mtio8 2igpdrhn L <strong>di</strong>vid'd ido r*o<br />

tup' In rn fmt 'Ep, ach gtob:l b . i!.r9ad'd<br />

ido r ..r ol .<strong>lt</strong>m<strong>di</strong>vc d.nilod rouct'*h flk6<br />

lp4ific chotes <strong>or</strong> hcr $sbdB lid r*ibhd F<strong>or</strong><br />

$F. n.o. rh.E nlv bc ! vl$ iufrbd ol posibl'<br />

dd6il.d 6d.i stPnnidg tgdnrhi k ut'dro lini<br />

fi. iuhb.rolddlilcd D<strong>lt</strong>s n<strong>or</strong>cd f<strong>or</strong> 'zch er (rhis<br />

ll|"**** t* ,rrt*, * uqE6[o r td{otooY wud 5 rd ' od03m 4d I 6li @s{!


dwYs6dDclrthso!osffi<br />

dsodnh). Ii $. *co'd $p, r d.uilr! 6uc 6 cios'i<br />

.o'.dh i<strong>di</strong> rh. dcrtil.d rcurc wnh ,'q L*.s rcdm3<br />

,domc.s usd by dldl.d rcutt l<strong>or</strong> oth?r rds k<br />

ch6.D. Th. Fu&r Jto Er.! i o rcount ds tlrd<br />

hrv. oily oi. p6tibl. dar.iLd r6ur. ed ncts ud 3R<br />

tFhs cni..l Aftd . hssi.3 l dabjl'd rcuE foi : id<br />

JlotrJ'.otlFJnaBt upd.Ed to rcnoE rv d'dr'd<br />

F!r*rh u& ri, of rtE r.soud jur:lld,ed Ir it<br />

ir impdsibl. ro dk .it rds. rb4 dulriPr' ftRno6<br />

rid npup -d E surc e d.mprd onrv i'6 s'ns<br />

;. 6ns.$.! chsml eshd6 re nPp'd up ard r'<br />

rofl.!. F<strong>or</strong> $c noP.d_up n.a i.wdabl]drdd*i"<br />

.ip:trd.d usiiS l.s lg!t.$iv. p'unrng r<strong>or</strong><br />

'rch<br />

4 EXPER.IMENTAL RFsULTS AND<br />

COMPAAISON<br />

41 pM.FtE vggs llvblidnap<br />

ri d{d b e h.{ dud <strong>or</strong> d ill'.o!!Ft PM1P6E<br />

ds<strong>or</strong>ithr ov.r thc !r.vio6 solnhh<br />

'.prc..nr<br />

r{yhidm'p.lbbh I sho{s !c!ul. f6m Hvbnddr dd<br />

@p3r.d rhd ro PM$sd A djctcomP.tuoi b.t@<br />

<strong>di</strong>.dso'nhnr t <strong>di</strong>fiicu<strong>lt</strong> !E rh. itriri.r nunb.rofi@ktrp<br />

|rbks in rhc bcn.lmdt circuns O.f<strong>or</strong>c rpphirrg rh'<br />

Tr ' n hde d! caDno* fd pMaP'rd rnd Hvbndc'ip<br />

@ <strong>di</strong>feEd. Hybdd@P t rpglnd o $c .iFuir b.f@<br />

Hybidnsp ha3 drercd d. ponions ot rh' circuir<br />

d*drcd l<strong>or</strong> pilducr Ed inpl.tui<strong>di</strong>on Ax.6 Qses<br />

n h.n us.d rc m! rh! .iElib ro b<strong>or</strong>l' loducr km<br />

pMr!6Er C D lloP. n@M2p <strong>lt</strong>4l is liEt u*d b m.P<br />

$c.ird @ lehp.Dbkl Th. nrtp.d .iftlir a rh'n<br />

iigrr bpMrp6d, *tli.h md{s rh. !.nid oirh'cinN<br />

${ it h* impLhct&d in prtdud tm h"6r/ Tn' de<br />

i0 Trbl. I show dd pM3pn r p4foh3 bdr'r rhin<br />

Hybridrop fo.dtciftuiB On !v.dgc' pMrPllr tr abr'<br />

b t@v. 13.4* 're loolup'bbk. frch rhccircur rh'tr<br />

42 CCEv€tsM.a<br />

Trr srai@r{ .ibibm u!.d td Eritr8 c€E i5<br />

,imiljb '}l xniMaooei6 F?c^ (l tl c<strong>or</strong>ass<br />

'dcr w6 rsticr,:d b urins itrk s8n.* wirhin $'<br />

ctE cGE t6 $1. to Fut r*roI<br />

,s lrob:l6uB6<br />

bcichndk ciEuib in r at.6€! of 35* 16r bckr P'r<br />

.h<strong>di</strong>.lcdmpmdbd.nd.od.r'b<strong>di</strong>osjg<strong>di</strong>n'lnd<br />

i pNv.r$t in d.lry Edd{im ha h.cn 4h!rcd<br />

Fn[ ul,v4!q t$qrat muiM! 0f dflIslm r rEo 0r06x r0(lJ* t: r0 ' 0cr0!4 z!0r I F$ 0?snen<br />

E


fl<br />

4J CGE v€sB SEGA<br />

Ih. sE6A 6urii3 alBdldn l24l k ai dtnsioi <strong>or</strong> <strong>rl</strong>rc<br />

cGE dsonftn ro dser FPGAS wirh eghad.d suiig<br />

Tn. gbbal bud usd wirh SECA n dn;t ld.dh! ro<br />

rhd s.d vi'] cGE on inpotu^r lnhdem.ni it $c<br />

.d<strong>di</strong>rion df b.id Ed(doi to tl.nr<strong>lt</strong>.<br />

riv b.n<strong>di</strong> m ric<br />

grobat bd. f<strong>or</strong> ! nd Sin.. rh. uid*lviig tounng<br />

iicin4br. coirains $mc trsk e3h.ds which r.<br />

loiss dm mn l.nsrh, r slo5lr 6uk witl f.*.i b.idr<br />

ruo*s 6. d.oikd mur.r ro u$ lons* rk ngmi!<br />

Bdd Gdlction *s $own ro sisiilsn<strong>rl</strong>v due rh.<br />

dp<strong>rl</strong>d b trdsiis bcd €dlcrio. th. i<strong>lt</strong>il.n o({<br />

f( sm^ is Lt d d dE ..ft Pneipl. a CGE Tn<br />

*5:l uG e sp:n&n iDb r*ofddljLd d@ r<strong>or</strong><br />

ad @r@!d *( .d oF &uilr! da n tu<br />

f(i.ub<strong>di</strong>ig.tnFmi.'l d Bowq b6id.'<br />

rdtul<strong>di</strong>mbijoiDt du6!4sm^<strong>rl</strong>s6tiB<br />

rsd fu<strong>di</strong>oG lc miiinriscic (dal.t Nd.<br />

t dee dhhsivN ]1)cfiddttuerim6bi6<br />

Mo ffi: oE tm b F-ls hn8.r Gr t9kn6 ro<br />

oE r 16g <strong>di</strong>5@. oth.' $, eYdr dde3fti6i<br />

ad rh. dhs h b hlr. it th{! lon3 elftnt i! rcr<br />

v5r!d rogp r sy$on<strong>di</strong>st:R Th. dd{ c6t fu.td<br />

s h. Rubiein.P..fEld &<strong>lt</strong>v nod.l f<strong>or</strong>..l.urdjn3<br />

$c &l.y ofa nd.llf, d.lay G.ddht d tdah p6ibL<br />

&tstd dc ol a Nlpoji. cdme{on md d' farcn<br />

dr. i5 dtud. Anoth.r .ihe€rud ii SEOA Enu'<br />

CCE i r mdhod b Fduc. rh. wn hig<strong>rl</strong>r sd d.hv of<br />

nuld'l.mjnil ,rs. In ccE, r<strong>lt</strong> ot rhq Roi.<strong>di</strong>d es<br />

d !@ ddnp.*i fmm mulrillmiBl icB hrv b'<br />

tour.d ii iny o'!d. Liid. etlon is h.d. b rcaF &cr<br />

ssmo6 oilwehidll *b fiar 4 erudly Prirof $r<br />

s@ tuld-eminl d.r R. $ing rzck sotb.ib {i<br />

stnincony rtdue th. tuk @br s wll 6 rh. .ircuit<br />

delry. To a.ue tack ss*n6. 'll ol $. Nondni.l<br />

n.6 compdsiis a nulri-l.miml nd e 6urd ro3.h4<br />

virh rh. LJs6tholri &miid EE dEd tud (!h'E rhe<br />

!i4is dEsm ofdE 6tidd.d hnsrhf<strong>or</strong>4h sa!@d<br />

*** u*"''.' '.'*,*,*<strong>or</strong>' * "",u*, .<br />

iq.) Th. twdtfrin.l !.6 ac outd io <strong>or</strong>dlrhln loisls<br />

Frhon n A5 th. o<strong>di</strong>is prcc..4, rek sesmnB usd<br />

l<strong>or</strong><strong>or</strong>hd r$on.miid et dd m pM <strong>or</strong>rh! em. nuxi<br />

rmiit n<strong>or</strong> e d.usd r much c Posrble.<br />

Erpcid.its vift SECA hav. b..tr run oi FPGA<br />

@hibctud rinirb !\. xlid 400 *.16IiPGA I25l m<br />

b.&hmd(.ircuirsui.df<strong>or</strong>calcul. ng.h.r<strong>or</strong>al:E.d<br />

106l ddry f<strong>or</strong> 2,1.4,5,6,6d I Ltr' AJ.a is c.lcuh€d ji<br />

Min, rvidrh Ttusno. Ad, *hir. ddavt uiil i5 ioo<br />

.eonds Rsuls ft @rP .d in Tlbld 2 I<br />

s. coNcLUsIoNS<br />

Indscafth0$<strong>or</strong>h.*thomushlyilv6dc'ddd<br />

dr*u$.ddt.ofr'l<strong>di</strong>$4.idgaidrfu:gd<br />

d.hy ninihi<strong>di</strong>oi ii FP(i{ dais'<br />

Md of th. al8@Ihtu <strong>di</strong>$Bs4 old a trtr a 'cil<br />

@ <strong>di</strong>ily oFhiz.df<strong>or</strong> d: !E $ludN dtv s.d6E<br />

4 b.ed d mrinm oub.rof.ul:<br />

^!osFJi'6Etd,n.b:l@d'ii!r|gq'|4<br />

vn E ft. hre tours w6 Btrict.d ro <strong>di</strong>ie rrur<br />

*!@6 wiNr d<strong>rl</strong>ftglohal ruB6ccE c6E ws<br />

.bt b 6uE r d ot b.EnNkcioib in m avdg. ot<br />

l5i ld @k p.r chs*l @npIln b tu I'@ 6d4<br />

bur tro rEnili4i.. ihprovcm.nr ii d.lav ha b..n<br />

&iidv.n, rE r4 is Yith SEGA<br />

Aldough d i! d impotuir oplimiatoo 3@L dtu6<br />

hlvc cotr.lud.d $r. ddrv i. rrso verv nP<strong>or</strong>EnI<br />

crpenlly if4.Ltrs on rhc cnici pad c bo,g Per'd<br />

inro $c ms<strong>or</strong>y d!y. Alinou b.lidc rhd ir {ould h' d<br />

inpondr iqr stp b lMlvz..h! cutut olso hf\ iid<br />

dlkrnii. whr .h!tg.t should bc nrdc $ rxt<br />

uni4s{y dclay is id rdd.d b 6. P&kd rolrr' 'n<br />

rd<strong>di</strong>rioi odp<strong>di</strong>s tsulb sl&ws rhd al@n 9r' oi <strong>rl</strong>)c<br />

dl<strong>rl</strong>op.d <strong>rl</strong>S<strong>or</strong>idd htv. cLr.d3? on srca. lhllc rh'<br />

dchy l&r<strong>or</strong> ha !c! iSioEd ?bis E*mh 'oidues<br />

(hl !h. ryPic.l oPtinjznion ipqr<strong>or</strong>ch !ho3ld b'<br />

modrbry o ni tiz. d. circuir mr lodd d'rrv<br />

codtei&, nd njoitiz<strong>di</strong>on of circuir d.hy !@r aM<br />

'**"* "*"1'n ' o*"n " t o* **'*'


ACKNOIIDCMENT<br />

Aurh.ts @ usklll io M.id univdsirv olEl8'nqiig<br />

& Teh@log,JmhoF Prtit6, f<strong>or</strong> givinS U' E6@h<br />

leilirid, indu<strong>di</strong>B rh. hi&h brndwidn htmd teilirv<br />

Speii dunkr b EEC (8igi4 Ed@dd Conmi$ioi)'<br />

P*jlin, fo. itoN<strong>or</strong>iis ss PmJ.d<br />

REFERENCES<br />

A*mdkr4.'{!GehuiH'<br />

*.**'*'".,.',''"...'",'""'',,',.'''.,*',"",','".''.*.'*'<br />

M kruw ^Elfus4-4'*od ^'66n 11<br />

LUl.'Ed PPG^ ft,i"o|,!, M4'4 r::<br />

.;i"-- - c".'""..&d eq. P a,-<br />

&l!db41Erriall4koAio4'hlU!{<br />

c'.t"*.-c..*.'o.*'ml'..'<br />

d^-.eL64(dnft^<strong>di</strong><strong>lt</strong>d


lli<strong>rl</strong><br />

''l4fu^s|dded.i'.'Mi4d&<br />

Mu4ri. R., s&br N. bn@, i K, d sondmr<br />

&Nok[i'A'lnrDfdr4isFtsLt^liclftFl<br />

l<strong>rl</strong> cm! r, Nd Dh!, a. -Fbrs4r ^r ot'nd<br />

fuho|q'M4F4^|Pidnh&tryo$ihioid<br />

hbqM.@ft^B<strong>or</strong>.IgEEr<strong>di</strong>|'tr<br />

trt Kitbo@it, s. sv<strong>di</strong>df, s. lid r!si4 R.<br />

trir Lr E, d *h, srt, MEen Mi6mr!<br />

b* !d ^PPriqri@a<br />

rrrt Dq., e LiF, ^cK. 0064 tr. d sti<br />

u.Y, 'bcir4 e s!b! ^rFidd fd e<br />

trsl M.4ud, a,&E,v. Ro&,J, ti4Diw'<br />

rasr unrm msu@ oueL c !xo,u$nc r ncl$Llcr murt u na <strong>or</strong>mu aotMrerdt


<strong>di</strong>.s''.bi^lFidn.xdAEii@@D|<br />

U@rI|oNNfPc^d<strong>or</strong>nLcflrF<br />

6 e d lid.s&tr r't- trdrtu6r'<br />

6''dEi,'k,|4m'n''nl''<br />

*'*' *"*,,"-" 0t q!q!Ercl-E!g!!g!grE$-!q-!lElc'!g!ll$g!lsl

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!