1 / 81

Planiranje prostora i razmještaj (2)

Planiranje prostora i razmještaj (2). FER zimski semestar šk. g. 2008./09. Predavač: Julijana Divković Pukšec e-mail: julija@zemris.fer.hr. Planiranje prostora.

kanan
Télécharger la présentation

Planiranje prostora i razmještaj (2)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Planiranje prostora i razmještaj (2) 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.

  2. Planiranje prostora • Razmatranja koja se rade tijekom planiranja prostora (floorplan) pomaže pridonošenja odlukakoje će pojednostaviti slijedeće korake fizičkog projektiranja. Na temelju razmještaja blokova donose se slijedeće odluke: 1. veličina i oblik blokova (komponenti) 2. odluka o položaju priključaka 3. proračun potrebne površine i izbor naboljeg oblika sklopa 4. odluka o položaju ulazno/izlaznih priključaka • I kod planiranja prostora i kod razmještaja problem prospajanja se zanemaruje; • chip planning je pokušaj uključivanja spajanja u problematiku planiranja prostora. • Pin assignment se može raditi za vrijeme floorplanninga, placemeneta ili nakon placementa. • Ako blokovi nisu unaprijed definirani dobar odabir priključaka za određeni net može popraviti placement. • Ako su blokovi unaprijed definirani možda se neki pinovi mogu zamijeniti. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  3. Razmještaj blokova – placement • Placement je raspoređivanje komponenti sklopa na površini pločice. • Pri tome se ne vodi računa o detaljima povezivanja, ali se može i mora procjeniti kolika će biti potrebna duljina vodova. • Definicija: Zadan je skup blokova B={B1,B2,....Bn} koje treba rasporediti po površini. Svaki blok Bi ima svoje dimenzije: visinu hi i širinu wi; • N={N1,N2,....Nm} je skup netova koji predstavljaju veze između pojedinih blokova; • Q = {Q1,Q2,....Qk} predstavlja skup pravokutnika koji predstavljaju prazan prostor između pojedinihblokova kroz koje će prolaziti veze između blokova. • Li je proračunata duljina neta Ni 1 i  m. • Placement je problem razmještaja n blokova u n pravokutnika koji čine skup • R = {R1,R2,...Rn} tako da je: • 1.svaki blok Bi smješten u svoj pravokutnik Ri (Ri ima svoju zadanu širinu i visinu); • 2.dva pravokutnika se nesmiju preklapati, tj.: J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  4. Razmještaj blokova (2) • 3.placement mora omogućiti spajanje, tj. Qj za svaki mora biti dovoljne velike površine da omogući spajanje svih netova; • 4.ukupna površina koja obuhvaća pravokutnike R i Q je minimalna; • 5.ukupna duljina vodova je minimalna, tj. Za sklopove s posebnimzahtjevima mora duljina najdužeg neta biti minimalna: je minimalna. - ako stvarni položaj net-ova nije poznat meže se, u postupku planiranja prostora i razmještaja, modelirati i to područje: procjenjuje se potrebna duljina vodova i potrebna površina za vodove. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  5. Razmještaj blokova (3) Razmještaj blokova (placement) je postupak kojim se slažu komponente na površinu pločice. Primjer: sklop s 8 komponeti • Shema sklopa, • b) do e) različiti razmještaji. • Najmanja duljina vodova kod razmještaja e). J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  6. Razmještaj blokova (4) Primjer optimalnog razmještaja: • duljina vodova 10 jedinične duljine • b) razmještaj s duljinom vodova od 22 jedinice • Površina svakog sklopa (layout) sastoji se od 2 dijela: • funkcionalna površina • površina za vodove J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  7. Definicija Raspored blokova (placement) je vrlo kompkeksan problem. Čak i najjednostavnioji slučaj (jednodimenzionalna raspodjela) je težak za rješiti.; broj mogućih rasporeda n ćelija je . za n=50 (to je mali sklop) • Definicija problematike raspoređivanja blokova: • Zadano je: • Skup ćelija ili modula koji imaju priključke na svojim rubovima; • dimenzije ćelija; • skup netova. • Cilj: • Naći odgovarajuće fizičke lokacije za svaku ćeliju. • Ponekad su neki moduli unaprijed predviđeni za određenu poziciju. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  8. Funkcija cijene i zahtjevi • mogućnost povezivanja • duljina vodova • površina • specijalni zahtjevi (snaga, brzina…) • Najčešće se kao funkcija cijene koristi duljina vodova. • Kako je nepraktično, za svaki raspored, provoditi sva spajanja i dobivanje stvarne duljine vodova, radi se procjena duljina vodova. • Procjena duljine vodova je bitan dio svakog placement algoritma. • Postupak mora biti brz, a pogreška u procjeni mora biti ista za sve netove; • “skew” (razlika u duljini pojedinih netova) mora biti 0. • Pretpostavlja se da će vodovi slijediti tzv. Manhattan geometriju, tj. da su vodovi položeni u vodoravne ili okomite trake (kanale). • Manhattan udaljenost: od točke A do B = cij + rij ( broj redaka + broj kolona koje odvajaju točke A i B). J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  9. Procjena duljine vodova • Neki netovi imaju više od dva priključka – to su multi pin netovi. • Pri procjeni duljine neta postoji nekoliko načina, a svaki ima svoje prednosti i nedostatke. • Najčešće korištene metode za procjenu duljine vodova: • - metoda poluopsega (Semi perimether Method) • kompletan graf (Complete Graph) • minimalni lanac (Minimum Chain) • spoj od ulaza do izlaza(Source to Sink Connection) • aproksimacija Stenerovim stablom (Steiner Tree Approximation) • minimalni razmak – (stablo minimalnog razmakaMinimum Spanning Tree) J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  10. Poluopseg – perimetar Nađe se najmanji pravokutnik koji obuhvaća sve priključke koje treba spojiti. Duljina poluopsega = 10 Metoda je točna za netove s 2 ili 3 priključka. Za netove s više priključaka procjena je premala J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  11. Kompletan graf Za net s n-priključaka, kompletan graf ima n(n-1)/2 bridova, stablo ima (n-1) brid, pa je procjena duljine stabla: Md – Manhattan udaljenost Duljina L=16 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  12. Minimalni lanac Priključci su u lancu; svaki priključak ima najviše 2 susjeda. Počinje se s jednim čvorom, na njega se spoji najbliži susjed, pa onda slijedeći itd. Duljina lanca = 13 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  13. Spoj od ulaza do izlaza Izlaz iz jedne ćelije (source) spojen je na sve druge točke neta (ulaz u druge ćelije) i to posebnim vodovima (zvjezdasta konfiguracija). Metoda je jednostavna, ali daje preveliku procjenu. Za “gusto” povezane mreže procjena je dosta dobra. duljina od ulaza do izlaza =16 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  14. Steiner stablo Steiner stablo je najkraći put spajanja skupa priključaka; vodovi se mogu granati u bilo kojoj točki duž puta prema spoju s drugom točkom. Postoje algoritmi za pronalaženje Steiner puta. duljina Steiner stabla = 11 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  15. Minimalni razmak Ovdje je grananje dozvoljeno samo kod pozicije priključka. Za mrežu s n priključaka stablo se može konstruirati određujući udaljenosti između svih mogućih parova priključaka i spajajući (n-1) bridova koji ne čine ciklus. Postoje algoritmi za pronalaženje takvog stabla. duljina minimalnog razmaka = 12 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  16. Minimiziranje duljine netova Cilj placementa je da se pronađe rješenje koje je u potpunosti moguće spojiti. Površina koju zauzima prostor za spajanje mora biti minimalna. To se može postići tako da se ćelije koje su “čvrsto” povezane smjeste i fizički blizu jedna drugoj. Često korištena objektna funkcija je minimiziranje L(P) – ukupne duljine svih netova. net težinski faktor dn – procjenjena duljina neta n wn – težina neta n (težinski faktor) N – skup netova J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  17. Minimiziranje maksimalnog presjeka (maximum cut) Ako pravac x=xj dijeli prostor na dva dijela, xj se naziva cut line – linija presjeka. Tri su nogućnosti: 1. net ima sve priključke na lijevoj strani 2. net ima sve priključke na desnoj strani 3. net ima priključke na obje strane; takav net je presječen linijom presjeka. xi – okomita presječna linija yi – vodoravna presječna linija P(xi) – broj netova placementa P presječenih linijom xi J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  18. Minimiziranje maksimalnog presjeka(2) xi – okomita presječna linija yi – vodoravna presječna linija P(xi) – broj netova placementa P presječenih linijom xi P(yi) – broj netova placementa P presječenih linijom xi X(P) je najveće vrijednosti presječenih netova za bilo koji i: Ako je za neki placement P X(P) = 10 i Y(P)=15, to znači da duž tih presječnih linija mora kapacitet kanala kroz koje se provlače vodovi biti 10, odn. 15. Ako se i osigura takav kapacitet kanala (tracks), to još ne znači da će kompletno spajanje biti moguće. Ako se radi o “gate array”-u koji ima unaprijed određen kapacitet kanala Hmax i Vmax, treba naći takav raspored (placement) kod kojega je: X(P)  Hmax i Y(P)  Vmax Smanjenje X(P) i Y(P) kod gate array-a povećava mogućnost kompletnog spajanja. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  19. Minimiziranje maksimalne gustoće Mogućnost spajanja može se određivati i gustoćom D(P). Kapacitet kanala (brida ei) je , a proračunati broj netova koji će kroz taj kanal prolaziti je . Gustoća brida je: mora biti < 1 Gate array – funkcionalni blokovi i površina za spajanje A – je tzv. switchbox Mjera mogućnosti spajanja sklopa za određeni raspored je J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  20. Postupci provođenja razmještaja • Razmještaj n ćelija na n raspoloživih mjesta(slot), uz uvjet da je duljina vodova funkcija koju treba minimizirati je vrlo kompliciran problem. • Za mali broj ćelija (manji od 10) može se napraviti sve moguće razmještaje i izabrati najbolji. • Za veći broj ćelija je to nemoguće napraviti, pa se koristi heuristička metoda, koja traje kraće a daje dobro, ne nužno i najbolje, rješenje. • Heuristički algoritmi: konstruktivni i iterativni. • Primjer: • Konstruktivni algoritam stvara rješenje uzimajući jednu po jednu ćeliju. • Površina sklopa je podijeljena na “n” slotova (otvor) koji su na početku prazni; • za vrijeme svake iteracije jedna se ćelija stavlja u jedan prazni slot. • Na kraju svake iteracije imamo parcijalni razmještaj podskupa modula. • Za vrijeme svake iteracije treba donijeti dvije odluke: • 1. koju nerazmještenu ćeliju izabrati kao slijedeću • 2. kamo staviti izabranu ćeliju J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  21. Postupci provođenja razmještaja(1) Parcijalni placement se sastoji od m1,m2,...mi ćelija. razmatraju se sve neraspoređene ćelije mj i računa se označava vezu između neraspoređene ćelije mj i raspoređenih ćelija {m1,m2,...mi} Konstruktivni algoritam za razmještaj Izabire se ćelija s najvećim Amj. Ovaj postupak je poznat kao maximum conectivity (maxcon)postupak. Izabrana ćelija možese smjestiti u bilo koji od (n-1) praznih slotova. Za pokretanje konstruktivnog algoritma trebamo početni parcijalni razmještaj; izabire se jedna ćelija nazvana “seed” – zametak, i nju stavljamo u sredinu redka. Ova ćelija može biti izabrana slučajno ili na bazi nekog kriterija, čini se logičnim izabrati ćeliju s najvećom povezanošću. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  22. Algoritam: Constructive Linear Placement To je tzv. pohlepni (greedy) postupak. U svakom koraku ponalazi najbolji pomak, ali postupak na kraju ne mora dati i najbolje rješenje. U svakoj iteraciji algoritam donosi odluku na temelju nepotpunih informacija; računaju se veze samo u odnosu na već smještene ćelije, a neraspoređene ćelije se ignoriraju. Nakon što je slot izabran algoritam se ne vraća natrag. Takav izbor ne mora dati najbolji raspored nakon (i+1) iteracije. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  23. Algoritam: Konstruktivni linearni razmještajConstructive Linear Placement Algoritam Begin (*n je broj ćelija*) (*C1….n,1….n je matrica spajanja *) (*P1….n je razmještajni vektor placement vector*) (*Pi  ukazuje na slot u koji je smješten modul i *) For i = 1 do n Pi  = - (*Pi  = - znači da je slot i prazan*) End For S = Seed(n,C); (* Određivanje seed ćelije*) PS = ; (* Smjesti seed ćeliju u centar*) Označi S kao zauzet; Fori = 1 do n-1 Do sc = Select Cell (N,P,C); ss = Select Slot(n,sc,P,C); Psc = ss; Označi sc kao zauzet; End; End. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  24. Primjer 7 ćelija (C1,C2,C3,C4,C5,C6,C7) i 7 slotova (S1,S2,S3,S4,S5,S6,S7) u jednom nizu S1 S2 S3 S4 S5 S6 S7 Povezanost modula (ćelija) C1...C7 je slijedeća: C1=1,C2=1,C3=1,C4=1,C5=3,C6=3,C7=2 Bira se između ćelija C5 i C6; izabere se modul C5 koji se smješta u slot S4; C5 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  25. Primjer (nastavak) sada se bira slijedeća ćelija; na ćeliju C5 spojene su ćelije C1, C2 i C7. Povezanost je jednaka, C15=C25=C75=1, slučajnim izborom uzima ćelija C1 koju treba smjestiti štobliže ćeliji C1; stavlja u slot S3, (mogla je biti stavljena i u slot S5). C7 C1 C5 C2 proces se ponavlja: C2: C25=1 C7: C75=1 ; izabere se ćelija C7 i smjesti u slot S2. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  26. Primjer(1) • C67 = 1 ćelija C6 u S1 • C36 = 1 i C46 = 1 • slučajnim izborom ćelija C3 u S6, • a ćelija C4 u S7 C4 C6 C7 C1 C5 C2 C3 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  27. Min-cut razmještaj Minimiziranje X(P) je usko vezano uz problem podjele na dva dijela (TWPP). Primjeni se algoritam za podjelu na zadani sklop i dobiju se dva bloka A i B; moduli u A bloku su smješteni lijevo od linije presjeka c1 (cut line), a moduli u bloku B su desno od linije presjeka. Dobiveni cutset čini broj vodoravno položenih netova presječenih linijom c1 i označenih s . Proces se nastavlja podjelom bloka A naA1 i A2 i bloka B na B1 i B2: nakon toga se proces može ponovo nastaviti. itd. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  28. Min-cut razmještaj(1) Pretpostavimo da je procedura podjele sklopa podjelila sklop optimalno; je minimalno mogući “cut” u odnosu na ukupni sklop je mincut u odnosu na podsklop A je mincut u odnosu na podsklop B Bilo bi poželjno da je , 1  i  r-1, jer bi to vodilo minimizaciji X(P). Ali to se ne postiže. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  29. Min-cut razmještaj Postupak Mincut ne minimizira X(P), već minimizira uz zahtjev da je minimalan. To se označava kao; isto tako minimizira . Minimiziranje X(P),Y(P) ili L(P) je računski vrlo komplicirano, pa se definira sekvencijska objektna funkcija F(P): Može se relativno lako dobiti skoro minimalnu vrijednost F(P) iako bi to bilo poželjno. Ne može se tvrditi da je J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  30. Min-cut placement algoritam Min-cut placement algoritam predstavlja mogućnost dobivanja uređenog niza r-presječnih linija. Ključni zahtjevi algoritma su: 1. efikasni postupak za podjelu sklopa, 2. izbor presječnih linija. F(P) se minimizira prvom podjelom sklopa na dva dijela, tako da je broj netova koji prelaze preko linije c1 minimiziran. Ako je c1 okomita linija, tada su ćelije lijevo od c1 fiksne i ne mogu se pomaknuti na desno; ćelije desno od c1 su isto fiksne i ne mogu ići lijevo. Uzima se slijedeća presječna linija c2 i cut2 se minimizira u odnosu na već postavljeni uvjet da je c1 presjek minimalan. Procedura se ponavlja sve dok se ne iskoriste svih cr linija. Zbog “greedy” načina ovaj postupak ne garantira da će rješenje biti optimalno. Podjela sklopa uz pomoć linija ci, tako da je minimalan broj presječenih vodova (netova) može se postići uz bilo koji algoritam opisan kod podjele sklopa (partitioning). J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  31. Metode izbora presječnih linija 1. Quadrature Placement Procedure Površina (layout) se dijeli na 4 dijela pomoću 2 presječne linije- okomite i vodoravne, koje prolaze kroz sredinu. Ovaj se postupak ponavlja sve dok se cijela površina ne podijeli u n dijelova (slotova). Metoda je pogodna za sklopove koji imaju gustu povezanost u sredini. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  32. Metode izbora presječnih linija(2) 2. Bisection Placement Procedure Površina se dijeli na jednake dijelove (polovice) vodoravnim, pa onda okomitim linijama. Postupak traje dok se ne dođe do željenog broja slotova. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  33. Metode izbora presječnih linija(3) 3. Slice/Bisection Sklop koji se sastoji od n ćelija dijeli se presječnom linijom c1 na k i (n-k) dio tako da je minimiziran. Prvih k-ćelija se dodijeli najvišem ili najnižem redku. Postupak se ponavlja na preostalih (n-k) ćelija koje se dijele na k i (n-2k) ćelija. Radimo vodoravne rezove na layoutu – slice. Proces traje dok sve ćelije nisu dodijeljene redovima. Ćelije se tada pridjeljuju stupcima koristeći okomitu podjelu (bisection). Ova metoda je pogodna za sklopove kod kojih je većina spojnih vodova na periferiji sklopa. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  34. Primjer Za sklop sa slike zadana je net lista. Sklop se dijeli na podsklopove okomitom i vodoravnom podjelom, tako da je broj netova koji prolaze preko presječnih linija najmanji. Za podjelu sklopa koristi se Kernighan –Lin postupak, a za površinu Quadrature Placement procedure. KL daje podjelu na L={1,2,3,4,5,6,7,9} i R={8,10,11,12,13,14,15,16}, cost =4 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  35. Primjer(2) Presječna linija c1 je okomita i ide kroz sredinu površine; L ide lijevo a R desno. Nakon toga se sklop dijeli vodoravnom presječnom linijom c2 na gornji (T - top) i donji dio (B – bottom). Podsklopovi L i R se podijele svaki na 2 dijela: LT ={2,4,5,7} LB ={1,3,6,9} RT={8,12,13,14} RB={10,11,15,16} J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  36. Primjer(3) Postupak se nastavlja , i površina se dijeli s dvije okomite linije c3a i c3b, te s dvije vodoravne c4a i c4b. Konačna podjela prikazana je na slici J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  37. Ograničenja Mincut algoritma • Layout – raspored komponenti dobiven podjelom skupa ćelija i pridjeljivanje područja pojedinim ćelijama nije najbolji. • Glavni razlog je u tome što se ne vodi računa o vanjskim priključcima, a oni su obično unaprijed određeni. Za dani primjer: • nakon podjele na L i R ide podjela na LT, LB, RT i RB • LB=1,3,6,9 • LT=2,4,5,7 • Podjela je mogla biti drugačija; s obzirom na poziciju priključaka duljina vodova bila bi veća. Pogotovo da su R i L zamijenjeni. • U početku se o tome nije vodilo računa, a kasnije je to uzeto u obzir (alg. Partitioning based placement propagation – Dunlop i Kernighan) J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  38. Terminal propagation U grupi ćelija nalazi se i ćelija X koja je spojena na signal na vanjski priključak (signal dolazi izvana). Očito je da ćelija X mora biti smještena što bliže mjestu na koje taj signal dolazi. Na rubu pločice položaj priključaka je određen, pa središnji, unutarnji dio “layouta” mora o tome voditi računa. Na pr. linija 3a dijeli LB dio na {1,3} i {6,9}, a linija 4b dijeli {6,9} na {6} i {9}. Bolje je staviti ćeliju 9 iznad 6, nego obrnuto, jer bi ovaj drugi slučaj trebao dulje vodove. Ćelija 9 povezana je s ćelijama iz gornjeg dijela layouta; net je presječen linijom c2, pa ćelija 9 mora biti što bliže presječnoj liniji c2. Algoritam Min-cut o tome ne vodi računa. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  39. Terminal propagation(2) Na pr. ćelije su podijeljene na L i R, a L dio na L1 i L2. Postoji net koji povezuje dvije ćelije u L1 dijelu i 3 ćelije u R dijelu, slika a). Ako se R dio podijeli na R1 i R2 treba uzeti u obzir da je net koji je presječen u L1 a ne u L2 dijelu; a to znači da navedene tri ćelije treba staviti u R1 dio (bliži L1); slika b) J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  40. Terminal propagation(3) To se radi na slijedeći način: Net “s” spojen je na ćelije u L dijelu; nađe se geometrijsko središte tih ćelije i povuče se (propagate)net do najbliže točke na presječnoj liniji s R dijelom. Ovdje se smjesti zamišljena, lažna (dummy) ćelija spojena na isti net. Tokom podjele ćelije spojene na taj net moraju ostati u određenom dijelu layouta, u kojem se nalazi i lažna ćelija. Pri podjeli funkcija cijene uključuje presjecanje tog neta. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  41. Primjer 4 komponente sklopa na slici treba smjestiti na četiri mjesta, pravokutne 2x2 strukture: a) Sklop b) graf sklopa c) podjela L dijela uz terminal propagation (točka p1) d) podjela L dijela bez terminal propagation • podjela na dva dijela; cost =1 • podjela desnog dijela; cost =1 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  42. Simulirano kaljenje Najrazvijenija metoda za razmještaj (placement) ćelija. Opći algoritam je već opisan i prilagođen je za primjenu u ovom dijelu Fizičkog projektiranja sklopova. Ovaj algoritam je za placement prvi puta korišten u poznatom TimberWolf paketu (razvijen za razmještaj i spajanje - placement i routing). Algoritam korišten u TimberWolf-u: Prvo treba izabrati prikladnu funkciju za promjenu početnog razmještaja (perturb function), koja će generirati novu konfiguraciju ćelija pridjeljenu slot-ovima. Jednostavnosti radi pretpostavi se model šahovske ploče (checker bord model); najjednostavnija susjedna konfiguracija dobije se izmjenom parova – izaberu se dva slota i zamjeni se njihov sadržaj. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  43. Simulirano kaljenje Drugi način je da se slučajno raspodjele ćelije u pojedine lokacije, a zatim se koristi rotacija ćelija, zrcaljenje ili bilo koji drugi pomak koji može dati promjenu u duljini vodova. promjena funkcije cijene: h=Cost(NewS) – Cost(S) Hoće li lošije rješenje biti prihvaćeno ovisi o funkciji vjerojatnosti, koja ovisi o trenutnoj temperaturi T: random = 0,1 slučajno generirani broj J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  44. Algoritam: • Kvaliteta postupka određena je parametrima i funkcijama koje se koriste u postupku, a to su: • način hlađenja (cooling schedule), a sastoji se od izbora početne temperature i konačne temperature, te funkcije za promjenu temperature (SCHEDULE); • “innerloop cretirion” je broj prihvaćanja lošijih rješenja pri pojedinoj temperaturi; • postupak koji se koristi za mijenjanje položaja ćelija PERTURB; • vjerojatnost prihvaćanja F i funkcija cijene • Dobar izbor ovih parametara i funkcija dat će i dobar raspored u relativno kratkom vremenu. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  45. Primjer Sklop se sastoji od 9 ćelija(C1,C2,C3,C4,C5,C6,C7,C8,C9) povezanih s 13 netova (N1,N2,....N13); zadana je netlista. Netlista: N1 = {C4, C5, C6} N2 = {C4, C3} N3 = {C2, C4} N4 = {C3, C7, C8} N5 = {C2, C3, C6} N6 = {C4, C7, C9} N7 = {C2, C8} N8 = {C1, C7} N9 = {C3, C5, C9} N10 = {C6, C8} N11 = {C2, C6, C7} N12 = {C4, C7, C9} N13 = {C3, C9} Pretpostavka: sve ćelije su iste veličine, a površina je podijeljena na 3 redka i 3 stupca – tj. imamo 9 slotova. Svakom slotu treba pridjeliti jednu ćeliju tako da je ukupna duljina vodova minimizirana. Kao Perturb funkcija koristi se sekvencijska zamjena parova. Sekvencijska zamjena znači da se ćelija u slotu i zamijeni ćelijom u slotu (i+1), (i+2),....(n-1),n za 1 i  n-1. Početna temperatura T0 = 10, konstante M=20,  = 0,9 , =1 Program završava s count = 560 iteracija, T=0,581, Cost=24. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  46. Primjer(1) • Početnaraspodjela • Cost=34 b) Završna raspodjela; Cost=24 (Cost = duljina vodova proračunata metodom poluopsega) J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  47. Primjer(1) Od dobivenih lošijih rješenja navedena su samo ona prihvaćena. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  48. TimberWolf algoritam TimberWolf3.2 paket koji se koristi za razmještaj i spajanje standardnih ćelija. Vanjski priključci (pad) i Macro blokovi (dozvoljeno je definiranje do 11 macro blokova) ostaju na svojim početnim pozicijama. Razmještaj i spajanje (placement and routing) provodi se u 3 koraka: 1. ćelije se raspoređuju s ciljem da se minimizira duljina vodova; 2. umeću se ćelije za prospoj (feed-through) i radi se (globalno) spajanje; 3. rade se lokalne promjene da se smanji broj vodova u kanalima (track). Za sada se posvećujemo samo 1. koraku. Koristi se Simulirano kaljenje. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  49. TimberWolf algoritam(1) • Promjena pozicije ćelija (Perturb Function) • pomakni ćeliju u novu lokaciju - na pr. u drugi redak; • zamijeni položaj dviju ćelija; • zrcali ćelije oko x-osi. • TimberWolf3.2 rijeđe koristi zrcaljenej(10%), a češće premještaj ćelije i zamjenu pozicija dviju ćelija. Premještaji ćelija su ograničeni na područje (prozor) dimenzija HT i WT. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

  50. TimberWolf algoritam(2) Dimenzije prozora HT i WT su ovisne o temperaturi (opadajuće funkcije): ako je trenutna temperatura T1 s dimenzijama prozora W(T1) i H(T1), na temperaturi T2 visina i širina novog prizora bit će: Funkcija cijene: Cost = Cost1 + Cost2 + Cost3 Cost1 = za sve netove (deduljina neta, wetežinski faktor) J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.

More Related