Upload
toril
View
38
Download
1
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
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]
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.
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....
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
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).
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
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.
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)
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
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.
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
J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09. 12
Labirint spajanje
S
T
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.
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
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.
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:
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
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
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.
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
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.
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
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
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
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
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
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)
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.
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
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?
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
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.
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).
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.
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.
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.
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.
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
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
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
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
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
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)
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
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
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.
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.
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
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.
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.
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!
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