500 likes | 796 Views
Globalno spajanje. FER zimski semestar šk. g. 2008./09. Predavač: Julijana Divković Pukšec e-mail: julija@zemris.fer.hr. Globalno i detaljno spajanje. Globalno spajanje. Dva najvažnija koraka u procesu fizičkog projektiranja su razmještaj ( placement ) i spajanje ( r o uting ).
E N D
Globalno spajanje FER zimski semestar šk. g. 2008./09. Predavač: Julijana Divković Pukšec e-mail: julija@zemris.fer.hr J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Globalno i detaljno spajanje J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Globalno spajanje Dva najvažnija koraka u procesu fizičkog projektiranja su razmještaj (placement) i spajanje (routing). Razmještaj (placement) je postupak kod kojega se određuju fiksne lokacije pojedinih komponenti (ćelija) sklopa na površini pločice. Spajanje (routing) se sastoji od povezivanja ćelija u skladu sa zadanom net listom. Ovaj problem je vrlo zahtjevan, što se tiče potrebnog vremena i memorijskog prostora, pa se i ovdje koristi heuristički pristup i hijerarhijsko rastavljanje s ciljem da se dobije zadovoljavajuće dobro rješenje. U praksi se spajanje provodi u dva koraka: - prvo se radi globalno povezivanje, a zatim - detaljno spajanje. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Globalno spajanje(2) Cilj globalnog spajanja je taj da se u području koje je predviđeno za spajanje (routing region) svakom netu dodijeli određeno područje. Pri tome se nastoji optimizirati zadanu objektnu funkciju; najčešće je to procjenjena duljina vodova. Nakon toga, kod detaljnog spajana se svakom netu pridjeljuje određena traka unutar predviđenog područja. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Globalno spajanje(3) Globalno spajanje se izvodi na 4 glavna načina: 1. Sekvencijsko povezivanje Netovi se izabiru jedan po jedan, po određenom redu i spajaju se pojedinačno.Prostor za povezivanje (routing space) se može obnavljati(up date)poslije svakog spojenog neta, ali i ne mora. 2. Matematičko, programirano povezivanje Koristi se integer (0-1) optimizacijski program; integer varijabla (0 ili 1) pridjeljuje se svakom netu i njegovom stablu. 3. Stohastičko, iterativno spajanje Koristi se slučajni, iterativni program (na pr. simulirano kaljenje) i traži se zadovoljavajuće rješenje. 4. Hijerarhijsko spajanje Hijerarhijski pristup mora ići nekim redom; na pr. krene se od poodjeljene površine na manje dijelove, koje se zatim spaja zajedno u određene veće cjeline. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Funkcija cijene i ograničenja (cost function and constraints) Globalno povezivanje se razlikuje za različite stilove projektiranja sklopova. Gate-Array Područje za spajanje čine vodoravni i okomiti kanali. Kanali su pravokutna područja s priključcima na suprotnim stranama kanala. Kapacitet kanala je definiran (ne može se promijeniti) i ne smije se (i ne može) prekoračiti. Funkcija cijene je povezana s ukupnim svojstvima sklopa (vrijeme kašnjenja kritičnog neta). Ćelije su fiksne i kanali su fiksni, pa je cilj (objective) pri dodjeljivanju netova pojedinom kanalu ispitivanje mogućnosti detaljnog spajanja, zbog ograničenogkapaciteta kanala. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Funkcija cijene i ograničenja(2) Standardne ćelije Područje za spajanje čine vodoravni kanali, s priključcima na gornjem i donjem rubu. Globalno spajanje se sastoji u pridjeljivanju netova pojedinim kanalima, s ciljem da se minimizira prenatrpanost (congestion) kanala i smanji ukupna duljina vodova. Spajanje između kanala ide preko ćelija za prospoj (feed through), umetnutih u redove. Kapacitet kanala nije određen; širina kanala se može mijenjati. Ćelija za prospoj Feedthrough Cell J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Funkcija cijene i ograničenja(3) Slaganje blokova (building blocks) Kod ovog načina projektiranja sklopova ćelije su različitog oblika i veličine. Područje za spajanje je nepravilnog oblika i mora se podijeliti na vodoravne i okomite kanale i na tzv. “switch boxes” (to su pravokutna područja s priključcima na sve četiri strane). Određivanje područja za povezivanje je prvi, bitan i neophodan korak pri globalnom povezivanju. Kapacitet kanala nije unaprijed određen. Sklopovi po narudžbi Full-Custom J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Funkcija cijene i ograničenja(4) Kod standardnih ćelija i slaganja blokova cilj globalnog povezivanja je smanjenje površine za spajanje i skraćivanje ukupne duljine vodova. Može se ograničiti broj vodova (traka) po kanalu. Kod svih načina projektiranja sklopova važno je naći skup najkraćih puteva između pojedinih priključaka. Za netove s više priključaka problem se svodi na pronalaženje najkraćeg Steinerovog stabla koje povezuje sve priključke (pinove). J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Područje za povezivanje (routing region) Određivanje područja za povezivanje sastoji se iz podjele površine, predviđene za povezivanje, u pravokutna područja koja se ne preklapaju. Ova se područja zovu kanali, a mogu biti vodoravni ili okokmiti, ovisno o tome da li su paralelni s x ili y osi. U većini slučajave vodoravni i okomiti kanali se sastaju u tzv. T obliku. Osnovni kanal je “vodoravna crtica” na slovu T, a “crosspiece” kanal (prečka) je stup (“okomita crtica”) slova T. A B A – stup B- osnovni kanal J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Područje za povezivanje switchbox kanal • kanal: priključci na 2 suprotne strane. • 2-D switchbox: priključci na 4 strane. • 3-D switchbox: priključci na 6 strana. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Poziciranje priključaka Definiranje kanala i redoslijed kojim će biti razmatrani pri globalnom povezivanju su bitni dijelovi projektiranja; tu se povezuje razmještaj (placement) i povezivanje (globalno i detaljno). U ovom koraku se obavlja i pridjeljivanje priključaka na granici pojedinih područja. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Određivanje područja za povezivanje Kod slaganja blokova moguća su tri tipa spajanja kanala: L tip, T tip i + tip. L tip se javlja na uglovima površine; redoslijed spajanja nije bitan. T tip - prečku (crosspeace, stem kanal) treba spojiti prvo, a zatim se radi spajanje u osnovnom kanalu. + tip je najkompliciraniji i traži “switch boxes”, a to znači i specijalne routere za njih. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Pretvaranje + spoja u T spoj L i T tipovi se mogu potpuno spojiti uz pomoć tzv. Programa za spajanje u kanalu(channal routers), najraširenijih i najbolje razvijenih programa za spajanje. + spoj treba pretvoriti u T tip, a to se može napraviti na dva načina: vodoravnom (slika b) ili okomitom konverzijom (slika c) . J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Pretvaranje + spoja u T spoj (2) Pri pretvorbi treba paziti da se ne pojave zatvoreni krugovi (cycle). Ako postoji zatvoreni krug, onda je svaki kanal i osnovni kanal i prečka. a) konfiguracija kanala b )pretvorba bez zatvorenih krugova c) pretvorba s krugovima J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Pretvaranje + spoja u T spoj (3) Pri pretvorbi se mogu koristiti dva kriterija: 1. Izolacija kritičnog puta Cilj je zaštititi kritični put od susjednih kanala;konverzija se radi u smjeru kritičnog puta: kritični put kritični put Kanali koji su okomiti na kritični put bit će kraći, jer se sijeku. Širina kanala u smjeru kritičnog puta je uža. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Pretvaranje + spoja u T spoj (4) 2.Kriterij glavnog toka Konverzija kanala radi se nakon globalnog spajanja, kada je broj vodova u pojedinim kanalima poznat. Cilj je smanjenje broja savijanja vodova (bends) unutar kanala; siječe se “tanji”, tj. onaj s manjim brojem vodova Pretpostavlja se da kanal a ima manji broj vodova. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Pretvaranje + spoja u T spoj (4) Za svako križanje (cross junction) računa se funkcija cijene (pozitivna). Ona uzima u obzir jedan od navedenih kriterija i računa tzv. bonus koji se dobiva pri konverziji. Bonus se dodaje ako je konverzija u zadanom smjeru, a ako ne onda je bonus nula. Optimalna struktura kanala je ona koja ima najveći zbroj bonusa dobivenih konverzijom spojeva koji se križaju. Primjer: “Slicing” razmjetaj s 8 blokova: A,B,C,D,E,F,G,H i 3 križanja C1,C2,C3 • vodoravna (horizontalna) konverzija • okomita (vertikalna) konverzija Zadani bonusi: Treba naći takvu strukturu kanala koja će imati najveći zbroj bonusa. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Pretvaranje + spoja u T spoj (5) Kreće se od slicing grafa, a on počinje s 1 čvorom koji predstavlja cijeli raspored (layout) i nema dolazećih bridova. Graf završava s n završnih čvorova; n je broj blokova koji nemaju izlazećih bridova. Traži se bonus svake “slice” linije i pronalazi se ona s najvećim bonusom. U zadanom slučaju je to linija h3 koja ima bonus: i koja siječe čvorove C1 i C2 u preferiranom smjeru - vodoravnom. Podskup DEH ima dvije slice linije jednake vrijednosti (bonus 0); poskup ABCFG ima samo jednu optimalnu slice liniju – v3 s bonusom 1. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Graf kojim se određuje pretvorba kanala Postupak se nastavlja… Na kraju se traži optimalna pretvorba; u ovom slučaju početna pretvorba je i optimalna. Postoje algoritmi koji računaju i rastavljaju layout preko “slicing” grafa. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Redoslijed kanala (channel ordering) Nakon što su netovi pridjeljeni pojedinim kanalima, treba netove pridjeliti pojedinoj traci u svakom kanalu. Kanali se obično spajaju jedan po jedan po nekom određenom redoslijedu. Određivanje redoslijeda kanala je važan korak koji se provodi poslije globalnog spajanja. Kod T spoja prvo se spaja “prečka”, i to zbog toga jer: 1. spajanje osnovnog kanala treba informaciju o netovima koji idu kroz prečku (radi priključka); 2. kod spajanja u prečki može se pojaviti potreba da se taj kanal proširi (pomakne). To mijenja i poziciju priključka na osnovni kanal. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Redoslijed kanala(2) Da bi se odredio redoslijed kanala može se konstruirati “order constraint graph” – OCG: svaki kanal čvor luk arc(i,j) postoji ako kanal i dotiče kanal j kao T spoj: i prečka; j osnovni kanal J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Prikaz područja za povezivanje Kada je određeno područje za povezivanje, treba konstruirati graf spajanja (routing graph). Ovaj se graf može dobiti na 3 osnovna načina. 1.Channel connectivity graph G = (V,E) 2. Tzv. “bottleneck” graf G = (V,E) 3. Graf mreže (grid graph) G = (V,E) J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Channel connectivity graph svaki kanal čvor brid predstavlja susjedstvo s odgovarajućim kanalom bridovi mogu imati težinski faktor koji ukazuje na broj netova koji prolaze kroz kanal i/ili broj traka u kanalu To je ustvari OCG graf kojemu je maknuta strelica s brida. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Bottleneck graf “bottleneck” graf G = (V,E) samo se “switch boxes” prikazuju kao čvorovi brid(u,v) E postoji samo onda ako postoji “switch box” na suprotnim stranama istog, okomitog ili vodoravnog kanala ovi se kanali zovu “bottleneck” brid kanalu (okomitom ili vodoravnom) J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Graf mreže čvorovi predstavljaju (globalne) ćelije bridovi predstavljaju susjedstvo između ćelija globalna ćelija ćelija J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Sekvencijsko globalno povezivanje Načešće korišteno. Kanali za spajanje su određeni i konstruiran je odgovarajući graf. Globalno spajanje se obavlja na slijedeći način: - za svaki net označe se kanali (koji su predstavljeni čvorovima) u kojima dotični net ima priključke. - spajanje neta ustvari znači pronalaženje stabla, po mogućnosti najkraćeg, koje povezuje sve priključke, odnosno sve označene kanale. - ako se radi o grid grafu može se koristiti Lee algoritam. Steiner stablo za net M = {a,b,c,d,e} (brojevi iznad brida odnose se na udaljenost između kanala) X- Steinerov čvor J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Steiner stablo • S obzirom da netovi obično imaju više od tri priključka problem se svodi na pronalaženje Steiner stabla (nekoliko algoritama). • Pronalaženje minimalnog Steinerovog stabla je težak problem, pa se obično koristi heuristički pristup koji m se što je brže moguće pronalazi stablo prihvatljive duljine. • Većina heuristika koristi modificirane varijante za pronalaženje najkraćeg puta (Dijkstra ili LEE-maze algoritmi) • Najčešći postupak: • Izaberi jedan od označenih čvorova. • Nađi najkraći put između označenog i bilo kojeg označenog čvora. • Izabere se bilo koji od preostalih označenih čvorova i nađe se najkraći put između njega i djelomice formiranog stabla. • Postupak se nastavlja dok svi označeni čvorovi nisu obuhvaćeni. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Steiner stablo • Čvorovi grafa su: {a,b,c,d,e,w,X,Y,Z} • Označeni čvorovi su: {a,b,c,d,e } • Prvo je izabran čvora; • najkraći put od čvora a do bilo kojeg od označenih čvorova je πa,b= [a,X, b]; X je dodani, Steinerov, čvor. • - Slijedeći izabrani čvor je c; • najkraći put od čvora cdobilo kojeg od već izabranih čvorova je πc,X= [c,X]. • - Slijedeći izabrani je čvor d; najkraći put od čvora d do djelomioce konstruiranog stabla je πd,c= [d, c] • - Posljedni je naredu čvor e;najkraći put od čvora e do stabla je πe,c= [e, c]. • Algoritam je odredio Steinerovo stablo s bridovima (a,X), (X, b), (X, c), (c, d), and (c, e); težina stabla je 7. 2 2 a a a Y Z 1 1 2 2 X X c c c e e e 1 1 1 b b b b d d d w 2 2 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Globalno spajanje pomoću labirint (maze) routera Prvi korak je određivanje područja za povezivanje Dvodimenzionalni model za povezivanje. Siva područja su ćelije, bijela područje za povezivanje a) vodoravna područja zapovezivanje; b) okomita područja za povezivanje c) model područja za povezivanje Nakon što su kanali određeni treba im pridjeliti netove. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Globalno spajanje Kanale ćemo modelirati kao graf spojenih kanala (channel connectivity graph). Za dvoslojno povezivanje svaki čvor ima dva broja koja ukazuju na kapacitet vodoravni (širinu) kanala i kapacitet okomiti (duljinu) kanala. Sekvencijski pristup jenajjednostavniji: uzima se jedan po jedan net i traži optimalno(ili skoro optimalno) Steiner stablo koje pokriva sve priključke neta. Tzv. labirint (maze) spajanja mogu se koristiti i za globalno povezivanje. Moguća su dva opća pristupa: 1. pristup ovisan o redoslijedu netova 2. pristup neovisan o redoslijedu netova Ako redoslijed netova nije bitan onda se svaki net spaja neovisno o drugim netovima. Određuju se najgušći prolazi i određeni netovi se ponovno spajaju kažnjavajući prolaz kroz takvo područje. Ovdje nije potreban redoslijed netova, ali može tražiti preveliki broj iteracija dok se ne dobije zadovoljavajuće rješenje. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Globalno spajanje Za spajanje koje ovisi o redoslijedu netova, prvo treba naći redoslijed prema nekom zadanom kriteriju. Netovi se spajaju po tom redoslijedu, a nakon svakog spajanja mora se ponovno proračunati raspoloživi prostor za spajanje. Blok, koji na sebi ima priključke, postavljen je tak da mu se sa svake strane nalazi kanal, pa su i priključci, spojeni na blok, pridjeljeni tim kanalima. Znači da su u grafu za svaki net određeni čvorovi u kojima net ima priključke. Globalni router treba povezati sve te čvorove, tj. naći stablo koje pokriva sve čvorove (priključke). Najlakši slučaj: net ima 2 priključka Net se pridružuje kanalima tako da se traži najkraći put između ta dva priključka, i to tako kako je opisano u Lee algoritmu. Kada je put nađen on se pridružuje kanalima kroz koje prolazi put, a kapacitet tih kanala treba smanjiti. Na ovaj način može se određivati i potrebni kapacitet kanala da bi se dobilo optimalno povezivanje. Počne s kapacitetom svih kanala (w,l)=0 , a onda se za svaki net pridružen kanalu njegov kapacitet (w i l) poveća. Ovo može dovesti do preširokih kanala (ne pretpostavljamo da neki netovi mogu i dijeliti pojedine trake unutar kanala). J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Primjer 2 neta: A-A’ i B-B’ kanal čvor; svaki čvor 2 broja – kapacitet vodoravni (w) i okomiti (l) A-A’ : najkraći put kroz kanale 6-7-8 B-B’: može ići kroz kanale 2-3-6-7-8 ili kroz kanale 2-1-5-9-10-11-12-8 kanali 6 i 7 imaju l=1, a to je već “potrošio” net A-A’ J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Primjer(1) Prvo spojimo netA-A’ i smanjimo kapacitet kanala, kroz koje net prolazi. Nakon toga se spaja net B-B’. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Integer programiranje Globalno povezivanje se definira kao 0-1 integer program. Površina sklopa (layout) modelira se kao grid graf: svaki čvor predstavlja ćeliju; granica između ćelija l i k ima kapacitet Cl,k traka , a to je težinski faktor brida koji spaja čvorove l i k u grid grafu. Za svaki net i treba odrediti sve moguće načine povezivanja. Ako za neki net i postoji ni različitih stabala, svakom stablu može se pridružiti varijabla xi,j koja može biti: xi,j =1, ako se net spaja prema stablu xi,j =0, ako se net spaja prema nekom drugom stablu Svakom netu i pridružuje se jedna jednadžba koja određuje da će samo jedno stablo biti izabrano: Graf koji ima M bridova i T stabala može sva stabla prikazati kao matricu: ai,p 0 ili 1 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Integer programiranje pri tome je (sva stabla za svih N netova) ai,p1 ako brid pripada stablu ai,p 0 ako je neko drugo stablo k – broj stabala neta l Drugi skup jednadžbi osigurava da kapacitet svake granice (brida) i, 1i M ne bude prekoračen. Svakom stablu pridružena je funkcija cijene gi,j , pa se moguća objektna funkcija koju treba minimizirati može napisati kao: J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Primjer Gate array s 4 ćelije i 3 neta; kapacitet svakog brida je 2. C2 1,2 1,3 1 1 2 3 C1= C2= C3= C4= 2 C4 C1 3 1 2 2 2,3 1,2 C3 Rešetkasti (grid) graf Gate array layout Moguća stabla: 2 3 3 3 3 net 2: 2 net 1: 2 2 net 3: J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Primjer Matrica A MT M=4,(C1,C2, C3, C4) 3 3 net 1: 2 2 3 3 net 2: Funkcija cijene (cost) je duljina stabla, tj.: net 3: 2 2 C2 C4 C1 C3 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Integer program minimizirati u odnosu na: vodoravni redci u matrici 1 i 3 1 j 3 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
1 1 2 3 3 1 2 2 Primjer-rješenje Integer programiranje je zgodno i nalazi globalni optimum rješenja, ali: - treba za svaki net naći nekoliko Steiner stabla. To može trajati predugo; broj stabala nesmije biti prevelik, a ima ih mnogo. Pitanje je kako naći najboljih ni stabala za net i? - Stabla treba odabrati tako da se garantira pronalaženje izvedivog spajanja. Ako se rješenje ne može dobiti neće se znati da li je to radi loše odabranih stabala ili je problem neizvediv sam po sebi. - Ima previše ai,j članova matrice, pa je i ograničenja (constraints) previše previše je i bridova Ci Tu može pomoći hijerarhijski pristup, ali on neće dati globalni optimum. Hijerarhijsko globalno spajanje znači da problem podijelimo na podprobleme. Predložena podjela kreće od cijelog layouta, a onda se površina (layout) dijeli, pazeći da broj presječenih netova bude što manji (klasični partitioning problem). J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Globalno povezivanje uz pomoć simuliranog kaljenja (SA) SA je prvi puta primjenjen za globalno povezivanje već 1983.g. TimberWolf paket koristi SA za raspodjelu (placement) i globalno povezivanje standardnih ćelija s dva vodljiva sloja. TimberWolf nakon početne raspodjele ide s globalnim povezivanjem, koje se rješava u dva stupnja. - U prvom stupnju pridjeljuju se netovi vodoravnim kanalima (nema vertikalnih) s ciljem da se minimizira ukupna gustoća kanala. Na kraju prvog stupnja identificiraju se svi netovi koji su “switchable”, tj.netovi koje je moguće pridružiti i nekom susjednom kanalu. - Cilj drugog stupnja je da pokuša smanjiti gustoću kanala promjenom kanala “switchable” netova. Nakon globalnog spajanja TimberWolf se vraća na raspodjelu i slučajnim izborom mijenja susjedne ćelije, nakon svake promjene provodi se globalno spajanje u oba stupnja i spajaju se ponovo oni netovi na koje je utjecala promjena ćelija. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Globalno povezivanje uz pomoć simuliranog kaljenja (2) SA se koristi za vrijeme druge faze globalnog spajanja i za vrijeme raspodjele. Prvi stupanj koristi sekvencijski pristup koji ne ovisi o redoslijedu netova. Jedna ćelija obično ima nekoliko priključaka koji su interno povezani – takva grupa se naziva skupina priključaka (pin cluster). X koordinata pin clustera jednaka je srednjoj vrijednosti x koordinata pojedinog priključka P = {1, 5, 6, 7} x(P) = (1+1+2+3)/4 = 7/4 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Globalno povezivanje uz pomoć simuliranog kaljenja (3) Dio neta koji spaja dva pin clustera je net segment. Ako pin clusteri P1 i P2 koje spaja net segment pripadaju ćelijama C1 i C2 smještenima u istom redku, a imaju priključke i na gornjoj i na donjoj strani- takav net je “switchable”. Odluka o tome u koji kanal ide “switchable” net segment određena je funkcijom cijene: ukupna gustoća kanala C treba biti što manja Globalno spajanje u I stupnju ima 5 koraka koji se provode za svaki net. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
SA - Globalno spajanje I stupanj: 1. identificiraju se svi pin clusteri i poredaju po svojoj x – koordinati; 2. krene se od najmanje x-koordinate i konstruira se cluster graf: čvorovi su pin clusteri, a bridovi moguće veze između njih; 3. traži se minimalno stablo 4. identifikacija svih net segmenata; ako je net segnment “switchable” izabere se i drugi par priključaka u drugom redku; 5. napravi se spajanje, vodeći računa o ograničenjima i zahtjevima. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Primjer Zadan je dio sklopa izveden u obliku standardnih ćelija. Svaki pin cluster ima 2 priključka na suprotnim stranama ćelija. Jedan net povezuje 5 pin clustera, označenih s a, b, c, d i e. Pokazat ćemo kako se dobiva cluster graf za ovaj net. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Rješenje Poredak pin clustera po x-koordinati daje [a, e, d, b, c]. Sortirani niz se ispituje redom, jedan po jedan element sve dok se ne dobije cluster graf (dobiva se brid po brid). Prvo se uzme pin cluster a: P1 = a, a se izbriše iz liste poredanih pin clustera variabla TorB = 0. (TorB je jednak 0, +1, −1, i pokazujer dali je slijedeći priključak (pin) u istom redku, u redku iznad ili u redku ispod.) Slijedeći pin, najbliži pinu a s desne strane je pin cluster d smješten u redku iznad; P2 = d (row(d) = 2) and TorB=1 (P2 is iznad P1). Cluster grafu se dodaje brid (a, d). Slijedeći najbliže s desne strane je pin b koji se nalazi u istom redku kao I priklučak a, row(b) = 1 = row(a), brid (a, b) se ne dodaje grafu. Slijedeći, najbliži priključku a s desne strane je prikljućak c, koji jeu istom redku kao i a, row(c) = row(a) = 1, brid (a, c) se ne dodaje. . J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Rješenje Gotova je repeat petlja, TorB se postavlja na 0, i vraća se pin clustere, koji je bio maknut sa liste, jer je bio više od jednog redka udaljen od od prvog clustera a. Najbliži pin cluster desno od e, a smješten u istom redku, u redku iznad ili u redku ispod, je pin clusterd. P2 = d, TorB = −1, i brid (e, d) dodaje se grafu. Nema drugih priključaka koji su smješteni u istom ili susjednim redcima priključka e. Izlazi se i iz ove repate petlje. Nakon toga ispituju se priključci d, b i c. Cluster grafu dodan je prvo brid (d, b), a zatim i brid (b, c) Svi pin clusteri su ispitani, lista je prazna Konstruira se cluster graf. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Cluster graf Pozitivni brojevi uz bridove predstavljaju duljine pojedinih segmenata. Graf je oblika minimum spanning tree. Od svih segmenata samo je segment b − c switchable; on može biti u kanalu iznad ili u kanali ispod ćelija. Za ovaj segment se mogu izabrati dva para priključaka. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
II stupanj globalnog spajanja Koristi se SA da se poboljša spajanje dobiveno u I stupnju. Treba minimizirati gustoću kanala. “Switchable” net segmenti se uzimaju slučajnim izborom i taj se net segment pridruži drugom mogućem kanalu. Ako se je funkcija cijene smanjila premještaj (“switch”) se prihvaća; ako je cijena ista net segment ide u onaj kanal koji ima manju gustoću u razmatranom dijelu kanala. To olakšava daljnje spajanje. Novo rješenje s višom funkcijom cijene se ne prihvaća. U algoritmu SA temperatura T= 0 (ne mijenja se). Zaustavljanje algoritma ovisi o broju “switchable” segmenata. Zaustavlja se nakon što je generirano S=30N novih stanja; N = broj“switchable” segmenata. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.