52
J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 1 Rešetkasto spajanje Grid Routing FER zimski semestar šk. g. 101./02. Predavač: Julijana Divković Pukšec e-mail: [email protected]

Rešetkasto spajanje Grid Routing

Embed Size (px)

DESCRIPTION

Rešetkasto spajanje Grid Routing. FER zimski semestar šk. g. 101./02. Predavač: Julijana Divković Pukšec e-mail: [email protected]. Spajanje. - PowerPoint PPT Presentation

Citation preview

Page 1: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 1

Rešetkasto spajanjeGrid Routing

FER zimski semestar šk. g. 101./02.

Predavač: Julijana Divković Pukšece-mail: [email protected]

Page 2: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 2

SpajanjeU procesu automatizacije projektiranja VLSI sklopova i štampanih ploča (PCB – printed circuits board) nakon razmještaja (placement) dolazi spajanje (routing)

VLSI chip – treba spojiti komponentePCB – treba spojiti IC sklopove

Broj komponenti koje treba spojiti je vrlo velik, pa se koriste računalni programi zvani routeri - povezivači.

Routeri trebaju precizno definirati puteve na površini na koju će doći vodovi. Ovi vodovi (wiring segments) spajanju sve priključke koji su električki ekvivalentni.

Spajanje zahtjeva oko 20% ukupnog vremena projektiranja sklopa i zauzima vrlo veliki dio površine sklopa.

Algoritmi za automatsko spajanje prvo su se koristili za spajanje štampanih ploča kod kojih, u početku, vodovi nisu bili pre gusti.

Danas je glavna primjena routera kod VLSI sklopova.

Page 3: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 3

Definicija problema:

Zadan je skup ćelija s priključcima (ulaz, izlaz, takt impuls, napajanje, uzemljenje) na rubovima ćelija i skup signalnih netova, tj skup točaka koje treba spojiti zajedno.

Položaj ćelija na površini pločice je određen.

Spajanje (routing) se sastoji u pronalaženju pogodnog puta na raspoloživoj površini na koju će biti položeni metalni vodovi, spajajući određene priključke.

Pod pogodnim putem misli se na takav put koji zadovoljava određene zahtjeve, objektne funkcije, kao što su:

- minimalni razmak vodova

- broj raspoloživih slojeva za spajanje

- vremenski zahtjevi....

Page 4: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 4

Spajanje – dio procesa projektiranja

A C

B

Netlista

AND

OR

INV

Floorplan/Placement

Spajanje /Routing

Page 5: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 5

Spajanje u 1 nivoa

Kao materijal za vodove koriste se metali i polisilicij. Vodovi mogu koristiti više slojeva (1 i više). Slojevi su odvojeni izolacijskim slojem, u kojemu se rade otvori (via) ako treba spojiti vodove u više različitih nivoa. Obično vodovi koji idu u x-smjeru koriste jedan nivo, a oni koji idu u y-smjeru drugi nivo.

Netovi mogu biti s dva ili više priključaka (two points, multi points).

Page 6: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 6

Funkcija cijene i ograničenja

Najvažnija objektna funkcija algoritma za spajanje je postizanje kompletnog automatiziranog spajanja sa što manje ručnih intervencija.Površina koju zauzimaju vodovi treba biti što manja. Duljina pojedinih netova treba biti što kraća kako bi se zadovoljili odgovarajući zahtjevi.Skretanja (bends – zavoj, okuka) traže povezivanja između slojeva (via); prinos (yield) se smanjuje s brojem otvora, kašnjenja su veća, manja brzina sklopa.Smanje broja via je bitno.Maksimalno kašnjenje svakog neta mora biti u propisanim granicama.

a) Optimalno spajanje b) Dulji vodovi, više zavoja

Page 7: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 7

Funkcija cijene i ograničenja(1)

Algoritam za spajanje mora biti i efikasan; on obično radi s vrlo velikim brojem kompnenti pa mora biti i vremenski efikasan, te zauzimati što manje memeorije računala.

Kod routera postoji nekoliko ograničenja:1. Razmještaj –placement

Većina routera radi s fiksnim rasporedom, što znači da su ćelije na svojim mjestima i da se ne mogu premještati.

Može se dogoditi da neki netovi ne budu spojeni (kod gate array-a i standardnih ćelija širine kanala su fiksne).

1. Broj vodljivih slojeva- single layer – jedan sloj je najekonomičniji i koristi se kod štampnih ploča- u većini primjena koriste se dva sloja; tzv. H-V pristup –

jedan sloj za x smjer, a drugi za y smjer.

Ako je površine dovoljno velika kompletno spajanje je zagarantirano, ali je broj otvora između slojeva vrlo velik.

Page 8: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 8

Funkcija cijene i ograničenja(1)

2. Geometrijski zahtjevi

Za vrijeme spajanja treba voditi računa o minimalnoj površini. U to je uključena minimalna širina vodova i minimalni razmak između vodova, što

ovisi o tehnološkom procesu. Routeri moraju o tome voditi računa, a to se obično postiže uz pomoć odgovarajuće rešetkaste strukture (grid).

Standardna MOS tehnologija koristi za jedan sloj metal a za drugi polisilicij. Zbog pooštrenih zahtjeva u pogledu snage i brzine, novije tehnologije koriste više od dva sloja (do 1 slojeva)

Page 9: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 9

Funkcija cijene i ograničenja(2)

Širina vodova i razmaci između njih se često uzimaju kao konstantne veličine, a to komplicira projektiranje, jer su neki vodovi širi od drugih (napajanje, uzemljenje).

w – širina vodas – razmak između vodova - veličina ćelije rešetke – cell grid = s+w

Page 10: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 10

Algoritmi za spajanje

Maze routig algoritmi – labirint

Grupa algoritama koji koriste rešetkasti model (grid model) nazivaju se maze routeri.

Svi priključci vodova podešeni su na linije rešetke.

Dvije točke se spajaju pronalazeći odgovarajući put kroz rešetku.

Maze routeri spajaju odjednom samo dvije točke.

Page 11: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 11

Labirint spajanje

XX

S

T

S

T

S

TX

X

Treba spojiti dvije točke: S – ishodišna točka (source) i T – ciljna točka (target)

Površina za spajanje Rešetkasti graf (Grid Graph) Pojednostavljeni prikaz

Page 12: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 12

Labirint spajanje

S

T

Page 13: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 13

Lee algoritam Lee algoritam (1961. g.) je najpoznatiji postupak za pronalaženje puta između dvije točke. Najbolja strana Lee algoritma je ta da ako postoji put između dvije točke, on će ga sigurno naći, i još uz to garantira da je to najkraći put.

Prva faza Lee algoritma sastoji se u označavanju rešetke i naziva se popunjavanje (filling) ili širenje vala (wave propagation).

Rešetka se ispituje u smjeru suprotnom kazaljci sata: gore, lijevo, dolje,desno.

Dvije ćelije rešetke koje treba spojiti označene su s S (source) i T (target).

Označavanje počinje s ćelijom S koja je označena s 0, a sve neblokirane ćelije, susjedne ćeliji S sa 1. Općenito: ako ćelija ima oznaku i, sve njoj susjedne, neblokirane ćelije, označavaju se sa i+1.Označavanje traje tako dugo dok se ne dosegne ćelija T.

Ako je ćelija T dosegnuta u koraku L, onda je L duljina najkraćeg puta koii spaja ćelije S i T.

Page 14: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 14

Lee algoritam(1)

Proces može stati ako:T nije dosegnuta u koraku i nema praznih ćelija susjednih ćeliji i-1 (ćeliji iz prethodnog koraka)T nije dosegnuta, a i = M, M je gornja granica duljine puta.

S

T

0 1

1

2

2

4

4 6

3

3

3

5

55

Page 15: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 15

Lee algoritam(1)

Druga faza algoritma naziva se RETRACE – vraćanje istim putem. To je proces suprotan popunjavanjure rešetke.

Povratak se pronalazi na slijedeći način:ako je ćelija T dosegnuta u koraku i sigurno postoji barem jedna ćelija koja je označena s i-1, zatim s i-1, i-2, itd.

U fazi vraćanja uvijek postoji mogućnost izbora; postoji nekoliko ćelija označenih s (i-1). Teorijski svaka od tih ćelija bi se mogla uzeti za dobivanje najkraćeg puta. U praksi se obično preporuča da se ne mijenja smjer, ako se baš ne mora.

Kada je put pronađen, ćelije koje zauzima označe se kao okupirane; sve ostale ćelije treba očistiti; to je postupak čišćenja (clearance).

Nakon toga ide se na spajanje slijedećeg para točaka.

Page 16: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 16

Lee algoritam- RETRACE

S

T

0 1 2

1 2

3 4 5

4 5 6

3

3

5

Počinje se od ćelije T:

Page 17: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 17

Algoritam Lee – router ( B,S,T,p)

input: B,S,Toutput: pBegin plist = S

nlist = 0;temp = 1;path exists = FALSE;While plist 0 Do

For svaki čvor vi iz plist-e DoIf Bvj = UNBLOCKED Then

L vj = temp;INSERT(vj, nlist);If vj

= t Then

path exists =TRUE;Exit While

temp = temp +1;plist = nlist;nlist = 0;

If path exists =TRUE Then RETRACE(L,p);Else path does not exists;

End

B rešetkaBvS sourceT targetplist – propagation listnlist – neighbour list

Page 18: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 18

Ako je duljina puta L:

- vrijeme potrebno za popunjavanje rešetke proporcionalno je s L2;

- vrijeme potrebno za vraćanje (retrace) proporcionalno je s L.

Za rešetku dimenzija NN algoritam traži memoriju N2.

Ograničenja LEE algoritma

S

T

11

11 2

222

223

33

333

33

4

44

44

4455555

555

5666

66

6

66666666 7777

77

7

77

7 7777

77

788888

88

88

88

8

889

99

999 9

99

9999

99

99

9 10101010

1010

1010

1010

1010

1010

10

10101010

111111

1111

1111 11

111111

11111111

11111212

12

1212

1212 1212

121212

1212121213

1313

1313

1313

1313

1313

13

13

Page 19: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 19

Ograničenja LEE algoritma

Da bi se smanjila količina memorije može se smanjiti veličina broja kojom se označava pojedini nivo; Lee koristi brojeve 1,1,2....i,i+1,...N.

Za vrijeme faze povratka dovoljno je da se za svaku ćeliju označenu s k razlikuje susjedna ćelija označena s k-1 ili s k+1; znači dovoljno je da razlikujemo prethodnu ćeliju od slijedeće ćelije.

Postoji više različitih rješenja ovog problema; najpoznatiji su:

1. S se označava s 0, njemu susjedna ćelija s 1; ćelije susjedne ćelijama označenima s 1 označene su s 2, a njma susjedne ćelije s 3. Ćelije susjedne ćelijamao značenima s 3 označavaju se s 1, itd.

Znači shema je 1,2,3,1,2,3,1,2,3,....

Trebamo samo 3 bita po ćeliji, jer može biti smo 5 stanja: 1,2,3, prazno i popunjeno.

Page 20: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 20

Popunjavanje rešetke s ciljem smanjenja memorije Lee-ovo popunjavanje

S

T

11

11 2

222

223

33

333

33

1

11

11

1122222

222

2333

33

3

33333333 1111

11

1

11

1 1111

11

122222

22

22

22

2

223

33

333 3

33

3333

33

33

3 1111

11

11

11

11

11

1

1111

222

22

22 2

222

2222

22 33

3

33

33 33

333

33331

11

11

11

11

11

1

1

Page 21: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 21

Ograničenja LEE algoritma

1. Shema koju je pretpostavio Akers koristi sekvence

1,1,2,2,1,1,2,2,1,1,2,2,...

Ova je shema ekonomičnija jer ćelija može biti samo u 4 stanja: 1, 2, prazno i blokirano.

Bez obzira na veličinu rešetke, dovoljna su 2 bita po ćeliji.

Page 22: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 22

Popunjavanje rešetke s ciljem smanjenja memorije Ackers-ovo popunjavanje

S

T

11

11 1

111

112

22

222

22

2

22

22

2211111

111

1111

11

1

11

1111 1 2

22

22

2

22

2 2222

22

222222

22

22

22

2

221

11

111 1

11

1

111

11

11 1

11

11

11

11

11

11

1

111

22

22

22 2

222

2222

22 22

22

22 22

222

22222

22

22

22

22

22

2

2

Page 23: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 23

Smanjenje vremena izvođenja

Vrijeme izvođenja proporcionalno je broju pretraženih i označenih ćelija. Očito je da ne treba popunjavati sve ćelije na površini sklopa. Koristi se nekoliko metoda ubrzanja. 1. Izbor početne točkeU standardnom Lee algoritmu bilo koja od dvije točke koje treba spojiti može biti početna. Broj popunjenih ćelija je manji ako je početna točka dalje od središta rešetke.

S

T

T

S

Page 24: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 24

Smanjenje vremena izvođenja

1. Dvostruko raspirivanje (fan out) Popunjavanje rešetke počinje s obje strane, i traje sve dok ne dođe do susreta.

2. Uokvirenje - framing Napravi se jedna zamišljena granica koja obuhvaća točke S i T; popunjavanje rešetke se ograničava na ovu površinu. Površina mora biti 1 – 1% veća od minimalne površine pravokutnika koji obuhvaća točke S i T.

S

T TS

Page 25: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 25

Spajanje netova s više priključaka (multi pin net)

Lee algoritam spaja dvije točke koristeći najkraći put u rešetci. Net s više priključaka (2 i više) je tzv. multi pin net. Optimalni spoj više točaka koji daje najkraću duljinu vodova je tzv. Steiner stablo (Steiner tree).

I ovdje se može koristiti Lee algoritam. U klasičnom Lee algoritmu točke koje treba spojiti označe se sa S i T. Da bi se spojio net s više priključaka jedna točka se označi sa S, a sve ostale s T.

S

T

T

Page 26: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 26

Spajanje netova s više priključaka(1)

S

T

0 1 1

1

2

2

2T

Val se prostire od točke S sve dok ne dođe do jedne od točaka označenih s T. Put između tih točaka nađe se uz pomoć postupka vraćanja (retrace). Nakon toga se sve ćelije koje pripadaju putu označe kao S ćelije, a ostale nespojene ćelije s T, itd

2 2 2

1 1 1

0 0 0 0S S S S

T

Page 27: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 27

Dobiveni spoj točaka ne mora biti i najkraći. Kraći spoj između dvije točke može se dobiti korištenjem jednostavne metode.Odstranjenje bilo kojeg brida daje dva podstabla. Najkraći put između dva stabla može se dobiti koristeći Lee algoritam, pri čemu su sve ćelije jednog podstabla označene sa S, a drugog podstabla s T. Ako je dobiveni put kraći od obrisanog brida, onda se taj put stavlja umjesto obrisanog brida. Ova metoda se koristi na segmente između točaka A-E i B-C-D.

Spajanje netova s više priključaka(1)

a) b) c) d)

Page 28: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 28

Traženje poželjnog puta

U praksi je često potreban poželjniji (pogodniji) put, koji nije nužno i najkraći put. Na pr. treba naći put koji će izazvati najmanje poteškoća pri pronalaženju povezanosti između slijedećeg (drugog) neta. To se pri fazi popunjavanja Lee algoritma može lako napraviti. Osnovni zahtjev je taj da se pronađeni put može nedvosmisleno naći za vrijeme faze traženja puta (Retrace).Očito je da će put koji ide uz zapreku ostaviti više mjesta za slijedeće veze.

Put z je očito kraći od puta y, ali put y je bolji jer daje veću mogućnost spajanja drugih netova.

Page 29: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 29

Traženje poželjnog puta (1)

1 1 2 1

1 2 1 1

2 1 1 2

1 2 1

Brid između dviju ćelija je njihov zajednički brid (na pr. brid između ćelija 2 i 1).

Ćelija 1 je zauzeta; brid između ćelije 1 i susjednih ćelija (1, 1 i 2) se ne može koristiti.

Segment brida je zajednički za najviše dvije susjedne ćelije. Kada je taj segment okupiran nekim putem ili blokiran on se više ne može koristiti, put ne može ići preko njega.

Iz prethodnog primjera: put y daje manje neiskorištenih bridova nego put z; put y smanjuje mrtvi prostor.

1

Page 30: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 30

Traženje poželjnog puta (1)

Ako se pri popunjavanju rešetke koristi težinski faktor može se doći do poželjnijeg puta.

Težina koja se dodaje ćeliji je broj iskoristivih bridova (segmenata) ćelije umanjen za 1.

Lee algoritam se modificira tako da se koristi put preko onih ćelija čiji je zbroj težinskih faktora najmanji.

“težina” puta:

z =13 y =15

Kako doći do poželjnog puta?

Page 31: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 31

Određivanje najpoželjnijeg puta

- Postupak počinje na ćeliji označenoj sa S (težinski faktor 0) i sve ćelije oko nje imaju svoju težinsku vrijednost w.

-U svakom koraku izabere se zadnja ćelija s vrijednosti v i svaka susjedna slobodna ćelija dobiva vrijednost w+v.

-Novo popunjena ćelija je početna za slijedeći korak.

početna težina ćelija

Page 32: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 32

Određivanje najpoželjnijeg puta(1)-Kada je prva ćelija došla do cilja, do ćelije T (težina puta je 15) to još nije kraj. Postoje druge zadnje ćelije koje još nisu došle do cilja, a težina njihovog puta je manja od postignute vrijednosti.

Page 33: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 33

Određivanje najpoželjnijeg puta(2)

-Objektna funkcija nije dolazak na cilj, već dolazak optimalnim putem, tj. putem čija će težina biti što manja.

- Popunjavanje rešetke se nastavlja, sve dok ne dođemo do cilja; najmanja vrijednost s kojom je dosegnut cilj je 13. Sve ostale zadnje ćelije imaju veće težinske vrijednosti.

-Ako ćelija već im neku vrijednost koja je veća od w+v, vrijednost ćelije se mijenja, i ona postaje početna ćelija za slijedeći korak (slika f; ćelija koja je dobila težinu 12, odredit će susjednoj ćeliji težinu 13, a ona je u prethodnom koraku – slika e - dobila težinu 15).

Page 34: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 34

Ostali algoritmi

Popunjavanje kod Lee algoritma je tipa breadth first search.

U usporedbi s konstrukcijom stabla – svaka ćelija može imati najviše 1 potomka.Vrijeme pretrage proporcionalno je broju pretraženih (popunjenih) ćelije sve dok cilj nije dosegnut.

Kako ubrzati proces?

Jedna od ideja je da se pretraga usmjeri prema cilju.

Dva osnovna algoritma dali su Soukup i Hadlock.

Page 35: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 35

Hadlockov algoritamMD(S,T) je fiksan i neovisan o putu koji spaja točke S i T. Bazirano na toj ideji faza popunjavanja Lee algoritma mijenja se na slijedeći način:

1. umjesto popunjavanja ćelija brojem koji je jednak udaljenosti od S stavljaju se brojevi zaobilaženja u odnosu na specificirani cilj T;

2. ćeliju s manjim brojem zaobilaženja koristi se s višim prioritetom.

Ako je ćelija u smjeru prema T njezin broj ostaje isti, a ako ide u suprotnom smjeru povećava se za 1.

S

T10

11

001

1

00

1

1

11 1

11 1

12

2 1

1

1

11

11

11

11

1Broj ćelija koje se ispituju (popunjavaju) je puno manji nego kod Lee algoritma; brzina je znatno povećana.

Page 36: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 36

Hadlockov algoritamHadlockov algoritam minimalnog zaobilaženja (minimal detour). Alternativni pristup, kako bi se brže došlo do rješenja.To je algoritam za pronalaženje najkraćeg puta metodom označavanja ćelija tzv. brojevima zaobilažnja (detour numbers).Broj zaobilaženja d(P) puta P koji spaja ćelije S i T definiran je kao broj ćelija rešetke (grid cell) koji je usmjeren od cilja T.

MD(S,T) – Manhattn udaljenost između S i T

Duljina puta : L(P)=MD(S,T)+2d(P)

S

TDD

D: Detour

d(P) = 2MD(S,T) = 6L(P) = 6+2x2 = 10

Smanjenje zaobilaženja daje smanjenje puta.

Page 37: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 37

Soukup-ov algoritamLee algoritam iskorištava rešetku simetrično, tražeći podjednako i u smjeru cilja i u smjeru suprotnom od cilja., a to traje dulje. Da bi skratio vrijeme pronalaženja puta Soukup je pretpostavio da za vrijeme svake iteracije algoritam ispituje u smjeru prema cilju, bez mijenjanja smjera sve dok se ne dosegne cilj ili neka prepreka; u takvom slučaju se ide u suprotnom smjeru.

Soukup algoritam radi ovako:

S

T11

111

1

11

22 2

22

Kod Soukupa linijski segment počinje sa S i proteže se prema T; ćelije na tom linijskom segmentu istražuju se prve. Linijski segment se proteže bez mijenjanja smjera. Algoritam garantira da će put naći, ali ne garantira da će to biti i najkraći put.

Algoritam je brz; tvrdi se da je 1 – 1 puta brži od Lee algoritma za tipične 1-slojne routing probleme.

Page 38: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 38

Algoritmi s linijskim pretraživanjem

Glavni nedostatak Lee algoritma i njegovih varijanti je količina memorije koja je potrebna za predstavljanje rešetke (grid). Algoritami s linijskim pretraživanjem nastoje rješiti ovaj problem.

Ideja se sastoji u sljedećem: točke S i T treba spojiti. Pretpostavljamo da nema prepreka i ako kroz S povučemo vodoravnu liniju, a kroz T okomitu njihov presjek daje Manhattan udaljenost između S i T.

S

Tslist

tlist

Točkapresjeka

slist – linije koje prolaze kroz Stlist – linije koje prolaze kroz T

Page 39: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 39

Algoritmi s linijskim pretraživanjem

S

T 0

0

1

1

1 1

1

1111

11

1 1

0

0

-Svi čvorovi rešetke (grid) na linijskim segmentima se mogu uzeti kao oslobađajuće točke (escape points)

Uvijek pronalazi put od S do T , ali taj put ne mora biti optimalan.

Točka presjekaOslobađajuća točka

Page 40: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 40

Mikami – Tabuchi algoritamS i T su par točaka koje treba spojiti. Nalaze se na zamišljenoj rešetki. Prvo se povuku 1 linije (1 vodoravne i 1 okomite) koje prolaze kroz S i T. Ove linije se povlače sve

dok se ne dođe do neke prepreke ili granice površine. Ako se ove linije sijeku onda je put pronađen, i to bez zavoja ili s jednim zavojem.

Ako se ove 1 linije ne sijeku, onda se one označe kao trial linije stupnja 0 i spreme se u privremenu memoriju. Počinje iterativni postupak u kojem se u svakom koraku i radi:Trial linije stupnja i uzimaju se jedna po jedna. Duž svake trial linije u svakoj točki rešetke (base points), vuku se okomite linije na trial liniju stupnja i; tako su dobivene trial linije i+1 stupnja. Put je pronađen kada se trial linije nivoa i+1 sijeku s linijama bilo kojeg nivoa, a koje potječu od drugog priključka.

trial linije od S

trial linije od T

base points

točke presjeka

Page 41: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 41

Hightower algoritam

Ovaj algoritam je sličan M-T algoritmu. Razlika je u tome da se ne povlače linije okomite na trial linije. U ovom algoritmu razmatraju se samo one linije koje se protežu preko prepreke koja blokira. - Prvo se za svaku točku (S i T) nađe duža linija (okomite ili vodoravne kroz točke S i T)). (Ako postoje linije iste duljine uzima se ona koja je bliža početnom priključku.)- Zatim se vuku nove oslobađajuće linije (escape lines). - Točka sjecišta se označava, a put se ispituje i određuje unatrag (trace): T abcd S

-točke oslobođenja (escape points): a,b,c,d

Page 42: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 42

Povezivanje na bazi Steinerovog stabla Za netove s više priključaka:- pronalazi se Steinerovo stablo, koje određuje minimalne udaljenosti

Page 43: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 43

Redoslijed spajanja Razmatrani routeri spajaju jedan po jedan net. Uvijek postoji više netova i svi oni moraju biti spojeni. Ako postoji n-netova treba ih uzimati takvim redom da se mogu koristiti navedeni algoritmi.

Skup netova može se podijeliti u parove priključaka koje treba spojiti.Kada je jedan net jednom smješten on predstavlja prepreku za druge netove koje tek treba spojiti. Redoslijed kojim se netovi uzimaju i spajaju može biti bitan za spajanje svih netova.

A

A

B

B

prvo B(dobar redoslijed)

A

AB

B

prvo A (loš redoslijed)

Page 44: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 44

Redoslijeda spajanja(1)

Ova metoda nije uvijek prikladna!Treba je modificirati.

U navedeno primjeru odabir bi se mogao raditi na slijedeći način:- nacrta se pravokutnik koji obuhvaća točke jednog, odnosno drugog neta;- Onaj net čija točka leži unutar pravokutnika drugog neta treba spojiti prvo!

A

A

B

B

točka B leži unutar pravokutnika A

Page 45: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 45

Redoslijeda spajanja(2)

- odrede se pravokutnici za svako net i pogleda koliko pinova je obuhvaćeno;- redoslijed spajanja netova obrnuto je proporcionalan broju priključaka obuhvaćenih pravokutnikom tog neta.

Primjer: 4 neta s dva priključka:

net a : 0 obuhvaćenih točaka net b: 1 točka obuhvaćenanet c: 2 točake obuhvaćenenet d; 1 točka obuhvaćena

redoslijed spajanja: a, b, d, c

Page 46: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 46

Redoslijeda spajanja(1)

Redoslijed spajanja netova može se napraviti na nekoliko načina:- poredati ih po duljini u rastući niz- poredati ih po duljini u opadajući niz- poredati ih po vremenskim zahtjevima

Za razmatranje navedenih redoslijeda postoje argumenti za i protiv.

Problem je taj da obično ima jako puno netova, a postoji n! mogućih redoslijeda. Stvarna duljina neta nije poznata sve dok se spajanje ne napravi.

Za većinu kompliciranijih sklopova često se događa da program ne može spojiti sve potrebne točke. Onda se može postupiti na dva načina.

1. Ručno popravljanje; stručnjak pokušava kompletirati veze koje nije napravio program. Traži puno vremena i nepraktično za

komplicirane sklopove.

Page 47: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 47

Redoslijeda spajanja(1)

2. Utvrđuje se gdje nastaje problem i ponavlja se proces spajanja ali drugim redoslijedom netova; to je najčešća metoda, a sastoji se od dva koraka:

- Utvrdi se područje u kojemu nastaje problem; već spojeni netovi uzrokuju nemogućnost spajanja nespojenih netova. Određeni broj spojenih netova se odspoji (po nekom kriteriju ili po korisnikovim instrukcijama); - blokirani netovi se spoje, a nakon toga i odspojeni netovi.

To se ponavlja dok svi netovi ne budu spojeni ili se dosegne vremensko ograničenje. U tom slučaju opet stručnjak, čovjek, intervenira.

Page 48: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 48

Redoslijeda spajanja(2)

Promjena redoslijeda i ponovno spajanje (Rip-Up and Re-route):

Nije uvijek moguće netove spojiti na optimalan način. Optimum jednog neta onemogućava spajanje drugog.

A

B

C

A

B

C

nemoguće je spojiti C

maknimo B spojimo prvo C

konačno spojimo i B

Page 49: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 49

Spajanje u više slojeva

Ako postoji više netova može se dogoditi da u jednom sloju nema dovoljno prostora za spajanje.

A B

B Anet B nije moguće spojiti

Net koji spaja točke B-B nije moguće spojiti u jednom sloju, već su potrebna dva sloja.

Page 50: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 50

Spajanje u više slojeva

Trodimenziponalna rešetka za spajanje u dva sloja.Lee algoritam se može proširiti i na trodimenzionalnu rešetku.

Za spajanje u dva sloja mogu se koristiti dva planarna rešetkasta rasporeda; proces popunjavanja je isti kao i kod jednodimenzionalnog Lee algoritma, ali se simultano popunjavaju oba sloja. Kada se popuni neka ćelija u jednom nivou isti se iznos unosi u odgovarajuću ćeliju i u drugom sloju, osim ako je ta ćelija već zauzeta.

Page 51: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 51

Spajanje u dva sloja

3 2 1 2 3 42 1 S 1 2 33 2 1 2 3 44 3 2 3 4 55 4 3 4 5 66 5 4 5 6 77 6 5 6 7 8

9 8 7 8 9 T

3 1 2 3 42 S 1 2 334 3 2 3 4 55 4 3 4 5 6

7 6 5 6 7 88 7 6 7 8 99 8 7 8 2 T

S

T

V

prvi sloj drugi sloj spajanje

S

VT

V

Višeslojna spajanja rade sp po V-H sistemu: jedan sloj okomite vodoravne linije a drugi sloj vodoravne linije; povećan broj via!

Page 52: Rešetkasto spajanje Grid Routing

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 52

Spajanje u više slojeva

Danas je uobičajeno koristiti najmanje 3 sloja za povezivanje.

Mikroprocesori koriste barem 4 ili 5 slojeva.

Troslojna prospojna struktura