520 likes | 704 Views
Rešetkasto spajanje Grid Routing. FER zimski semestar šk. g. 101./02. Predavač: Julijana Divković Pukšec e-mail: julija@zemris.fer.hr. Spajanje.
E N D
Rešetkasto spajanjeGrid Routing FER zimski semestar šk. g. 101./02. Predavač: Julijana Divković Pukšec e-mail: julija@zemris.fer.hr J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
Spajanje • U procesu automatizacije projektiranja VLSI sklopova i štampanih ploča (PCB – printed circuits board) nakon razmještaja (placement) dolazi spajanje (routing) • VLSI chip – treba spojiti komponente • PCB – 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.
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.
B A C Netlista INV AND OR Floorplan/Placement Spajanje – dio procesa projektiranja Spajanje /Routing J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
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.
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šezavoja J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
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 routerapostoji 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 gatearray-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.
Funkcija cijene i ograničenja(1) 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) 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, ato se obično postiže uz pomoć odgovarajuće rešetkaste strukture (grid). J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
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 voda s – 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.
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.
Labirint spajanje Treba spojiti dvije točke: S – ishodišna točka (source) i T – ciljna točka (target) Površina za spajanje Pojednostavljeni prikaz Rešetkasti graf (Grid Graph) S S S X X T T X X T J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
Labirint spajanje S T J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
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.
1 2 3 1 2 3 3 4 5 5 4 5 Lee algoritam(1) S 0 T 6 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. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
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.
Lee algoritam- RETRACE Počinje se od ćelije T: S 0 1 2 3 1 2 3 3 4 5 T 5 4 5 6 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
Algoritam Lee – router ( B,S,T,p) input: B,S,T output: p Begin plist = S nlist = 0; temp = 1; path exists = FALSE; Whileplist 0 Do For svaki čvor vi iz plist-e Do IfBvj = UNBLOCKED Then Lvj = temp; INSERT(vj, nlist); Ifvj= t Then path exists =TRUE; Exit While temp = temp +1; plist = nlist; nlist = 0; Ifpath exists =TRUE Then RETRACE(L,p); Else path does not exists; End B rešetka Bv S source T target plist – propagation list nlist – neighbour list J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
12 11 10 7 6 9 10 13 7 7 12 11 6 8 9 10 12 10 9 6 5 7 11 11 8 10 9 8 7 6 5 4 7 9 10 11 10 9 8 7 6 5 4 3 6 7 8 9 10 6 5 3 2 1 2 3 4 7 4 5 6 7 8 9 S 5 4 3 2 1 1 2 3 4 6 6 5 7 8 7 3 1 2 3 8 9 8 6 2 4 5 6 7 9 7 10 9 8 3 5 6 7 8 9 10 11 10 7 9 11 9 8 10 7 6 8 10 9 12 11 10 11 12 10 9 8 10 11 12 11 9 11 12 13 12 11 9 13 13 12 10 10 11 12 12 10 12 13 13 11 11 12 13 13 13 12 12 13 11 13 T 12 13 13 Ograničenja LEE algoritma 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. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
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 ćelijamaoznač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.
3 2 1 1 3 3 1 1 1 1 3 2 3 2 3 1 3 1 3 3 2 1 2 2 2 1 3 2 1 3 2 1 1 3 1 2 1 3 2 1 3 2 1 3 3 1 2 3 1 3 2 3 2 1 2 3 1 1 1 2 3 1 2 3 S 2 1 3 2 1 1 2 3 1 3 3 2 1 2 1 3 1 2 3 2 3 2 3 2 1 2 3 1 3 1 1 3 2 3 2 3 1 2 3 1 2 1 1 3 2 3 2 1 1 3 2 1 3 3 2 1 2 3 1 3 2 1 2 3 2 3 2 3 1 3 2 3 1 1 3 1 1 2 3 3 1 3 1 1 2 2 3 1 1 1 3 3 1 2 1 T 3 1 1 Popunjavanje rešetke s ciljem smanjenja memorijeLee-ovo popunjavanje J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
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činurešetke, dovoljna su 2 bita po ćeliji. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
Popunjavanje rešetke s ciljem smanjenja memorijeAckers-ovo popunjavanje 2 2 2 2 1 2 1 1 2 2 1 1 1 1 2 2 2 2 1 1 2 2 1 1 2 2 1 1 2 1 1 2 2 1 1 2 2 1 2 2 1 1 1 1 2 1 1 1 2 2 2 2 1 1 2 2 1 S 1 2 2 1 1 1 1 2 2 1 1 1 2 2 2 2 1 1 2 2 1 2 1 1 2 1 1 2 1 2 1 1 2 2 1 1 2 2 1 1 2 1 2 1 2 1 2 1 2 1 2 1 1 2 1 2 2 1 1 2 1 2 2 2 2 1 2 2 2 2 2 1 2 2 2 1 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 T 2 2 2 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
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čke U 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 S T J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
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 S T T J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
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.
S S S S 1 2 0 0 0 0 1 2 1 1 1 2 Spajanje netova s više priključaka(1) 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 S T 0 1 T 2 2 T 2 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
Spajanje netova s više priključaka(1) 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. a) b) c) d) J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
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.
Traženje poželjnog puta (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. 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 Iz prethodnog primjera: put y daje manje neiskorištenih bridova nego put z; put y smanjuje mrtvi prostor. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
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.
Određivanje najpoželjnijeg puta početna težina ćelija • - Postupak počinje na ćeliji označenoj sa S (težinski faktor 0) i sve ćelijeoko 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. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
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.
Određivanje najpoželjnijeg puta(2) • -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). • 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. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
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.
2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 2 Hadlockov algoritam • MD(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. • Akoje ćelija u smjeru prema T njezin broj ostaje isti, a ako ide u suprotnom smjeru povećava se za 1. Broj ćelija koje se ispituju (popunjavaju) je puno manji nego kod Lee algoritma; brzina je znatno povećana. S T 1 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
Hadlockov algoritam Hadlockov 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) D: Detour d(P) = 2 MD(S,T) = 6 L(P) = 6+2x2 = 10 S T D Smanjenje zaobilaženja daje smanjenje puta. D J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
2 2 1 1 1 1 1 1 2 1 1 2 2 Soukup-ov algoritam Lee 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: 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. S T J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
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. slist – linije koje prolaze kroz S tlist – linije koje prolaze kroz T S Točka presjeka T slist tlist J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
0 1 1 1 1 0 1 0 1 1 1 0 Algoritmi s linijskim pretraživanjem -Svi čvorovi rešetke (grid) na linijskim segmentima se mogu uzeti kao oslobađajuće točke (escape points) S 1 T 1 1 Točka presjeka Oslobađajuća točka 1 1 Uvijek pronalazi put od S do T , ali taj put ne mora biti optimalan. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
Mikami – Tabuchi algoritam S 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.
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): TabcdS • točke oslobođenja (escape points): a,b,c,d J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
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.
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 netovekoje tek treba spojiti. Redoslijed kojim se netovi uzimaju i spajaju može biti bitan za spajanje svih netova. B A B A B B A prvo B (dobar redoslijed) prvo A (loš redoslijed) A J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
Redoslijeda spajanja(1) 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! B A B A točka B leži unutar pravokutnika A Ova metoda nije uvijek prikladna! Treba je modificirati. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
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ćena net c: 2 točake obuhvaćene net 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.
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.
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.
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. nemoguće je spojiti C A A maknimo B spojimo prvo C B konačno spojimo i B B C C J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 08/09.
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 net B nije moguće spojiti B A 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.
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.