640 likes | 782 Views
Planiranje prostora i razmještaj - Floorplanning and placement. FER zimski semestar šk. g. 2007./08. Predavač: Julijana Divković Pukšec e-mail: julija@zemris.fer.hr. Planiranje prostora i razmještaj. Nakon podjele sklop je podijeljen u nekoliko blokova koje treba sloziti na pločicu.
E N D
Planiranje prostora i razmještaj - Floorplanning and placement FER zimski semestar šk. g. 2007./08. Predavač: Julijana Divković Pukšec e-mail: julija@zemris.fer.hr J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Planiranje prostora i razmještaj Nakon podjele sklop je podijeljen u nekoliko blokova koje treba sloziti na pločicu. Blokove treba sloziti tako da zauzmu najmanju površinu. Prije toga treba poznavati njihov oblik. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Planiranje prostora (Floorplanning) Ai=wi. hi površina modula “i” wi širina modula hi visina modula aspect ratio = Zadaju se granične (minimalna i maksimalna) vrijednosti; blok nesmije biti niti preuzak niti preširok. ri i sisu donja (lower) i gornja (upper) granica omjera širine i visine modula “i” J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Planiranje prostora ako je ri = si blok je nepromjenljiv, fiksan (rigid) ako je risi blok je fleksibilan fiksni blok može promjeniti orjentaciju: J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Planiranje prostora i razmještaj Nakon podjele sklopa može se proračunati potrebna površina koju će zauzeti svaki blok, odrediti oblik bloka - poznat je i broj priključaka (pinova) koje ima svaki pojedini blok. - poznata je i netlista , tj. veze između pojedinih blokova. Raspored blokova mora biti takav da bude moguće izvesti sva potrebna povezivanja. Razmještanje blokova izvodi se u dva koraka: - planiranje prostora – floorplanning: određuju se približni položaj i veličina blokova, te površina potrebna za povezivanje; - razmještaj – placement: određuje se točan položaj blokova Ulaz u 1. korak planiranja prostora je skup blokova. Za svaki blok zadana je površina, mogući oblik i broj priključaka. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Planiranje prostora i razmještaj(2) Blokovi čije su dimenzije poznate su fiksni blokovi, a blokovi kojima dimenzije tek treba odrediti su fleksibilni blokovi. Određivanje položaja fiksnih blokova je “placement” problem, a određivanje položaja fleksibilnih blokova je “floorplanning” problem. Ako se uz planiranje prostora vodi računa i o povezivanju blokova, onda se govori o “chip planning”-u. Terminologija je pomalo konfuzna, područja se isprepliću, ali je navedena terminologija opće prihvaćena. Chip planning, floorplanning i placement su bitne faze fizičkog projektiranja. Loš razmještaj ne može se popraviti kvalitetnim prospajanjem. Nakon što je položaj bloka određen, određuje se položaj priključaka; to je pin assigmnet. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Planiranje prostora i razmještaj(3) Pri planiranju prostora i razmještaju blokova treba voditi računa o: - obliku bloka Jednostavnosti radi pretpostavlja se da su svi blokovi pravokutni. Za određivanje oblika bloka koristi se tzv. aspect ratio = odnos visine i širine bloka. Obično se daju granične vrijednosti tog odnosa. (U zadnje vrijeme razmatraju se i oblici u obliku slova L.) -procjena prospajanja Treba procjeniti kolika je površina potrebna za prospajanje (za postavljanje vodljivih staza) i ostaviti za to dovoljno prostora između blokova. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Planiranje prostora i razmještaj(4) • Posebni zahtjevi • - Kod sklopova s posebnim zahtjevima. blokove treba postaviti tako da svi kritični netovi mogu biti spojeni na propisani način (vremenski zahtjevi moraju biti zadovoljeni, duljina kritičnog neta mora biti minimalna). • Takav postupak zove se performance driven floorplanning/placement. • - Svi blokovi su izvor topline, koja bi se trebala disipirati podjednako preko cijele površine, pa treba voditi računa o razmještaju blokova koji stvaraju veću količinu topline. • - Neki blokovi mogu imati unaprijed određeni položaj. Na pr. clock buffer se mora nalaziti u sredini pločice (chipa). J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Formalni opis postupka planiranja prostora Zadano je: 1. skup S koji se sastoji od n pravokutnih modula S = 1,2,3,.......n 2. podjela tog skupa na podskupove S1 i S2, pri čemu su: S1 – skup modula s fiksnom orjantacijom S2 – skup modula sa slobodnom orjentacijom 3. matrica C dimenzija n n koja određuje spojeve između pojedinih modula 4. lista zapisa o svakom od n modula (tzv. tripleta): A1, r1, s1.....Ai, ri, si......An, rn, sn Ai=wi. hi površina modula “i” wi širina modula hi visina modula 5. Dva dodatna pozitivna broja p i q ( pq); to su donja i gornja granica kojom su određene dimenzije pravokutnika unutar kojega treba smjestiti svih n modula. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Formalni opis postupka planiranja prostora(2) • Izlaz iz floorplanning-a treba biti izvediv razmještaj. • Takav razmještaj prikazuje se kao jedan pravokutnik podijeljen okomitim i vodoravnim linijama na n pravokutnika koji se nepreklapaju, označenih brojevima 1,2, .... n, takvih da su zadovoljeni slijedeći zahtjevi: 1. Ai=wi . hi 1 i n 2. za sve module s fiksnom orjentacijom iS1 3. ili za sve module sa slobodnom orjentacijom iS2 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Formalni opis postupka planiranja prostora(3) 4. 1 i n xi i yi su dimenzije osnovnog pravokutnika “i “ koji mora biti dovoljno velik da u njega stane modul “i “.. 5. • H i W su visina i širina pravokutnika koji obuhvaća sve module. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Funkcija cijene • Izvediv (feasible) razmještaj ima i funkciju cijene koju treba optimizirati. • Moguće funkcije cijene (cost function) su na pr.: • - minimiziranje površine, Amin • - minimiziranje duljine vodova , Wmin • - minimiziranje kašnjenja • kombinacija dva ili više navedenih zahtjeva • Na pr. cost = aA + bW • A – ukupna površina • W - ukupna duljina vodova • a i b - konstante J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Terminologija: - Rectangular dissection –pravokutna podjela Podjela pravokutnika pomoću konačnog broja okomitih i vodoravnih linearnih segmenata na konačan broj pravokutnika, koji se ne preklapaju. To su osnovni pravokutnici -basic rectangles • Slicing structure • Pravokutna podjela koja se može dobiti ponavljajući podjelu pravokutnika vodoravno i okomito na manje pravokutnike zove se ”slicing structure” - razrezana (isjeckana) struktura. Ukoliko to nije moguće radi se o non- slicing structure. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Slicing floorplan Slicing Floorplan Slicing Tree V 3 1 H H 4 5 2 1 H 3 2 6 7 V V 6 7 4 5 21H67V45VH3HV Polish Expression – poljska notacija Skewed (nakošeno) slicing tree je ono stablo kod kojega niti jedan čvor i njegov desni sin nisu isti. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Non slicing floorplan - wheel – kotač to je najmanji non slicing floorplan W 3 4 5 4 1 2 3 5 2 1 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Algoritmi • Algoritmi koji se bave planiranjem prostora mogu se svrstati u tri osnovne grupe: • - konstruktivni • - iterativni • - knowledge based- bazirani na (pred)znanju • Konstruktivni algoritmi polaze od jednog modula (seed – sjeme, zametak), a ostale module biraju jednog po jedinog i dodaju ih djelomičnom floorplan-u. Proces traje sve dok ima slobodnih modula. • Najpoznatiji konstruktivni algoritam je cluster growth – grozdasti rast. • Iterativni algoritmi počinju s nekim početnim rasporedom modula; rade se promjene sve dokse ne dobije ili izvediv razmještaj, ili je postignuto poboljšanje u odnosu na zadanu funkciju cijene. • Najpoznatije iterativne metode su simulirano kaljenje i genetički algoritam (genetic alg.). • Kod algoritama baziranih na znanju koristi se sistem koji ima 3 osnovna dijela: • bazu znanja koja sadrži podatke koji opisuju problem razmještaja i njegovo trenutno stanje; • - pravila koja određuju kako se treba koristiti podacima iz baze znanja (knowledge base) da bi se došlo do rješenja; • - kontrolni sistem koji kontrolira primjenu pravila na bazu podataka. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Algoritmi za razmještaj modula Grozdasti rast: Floorplan se konstruira na tzv. pohlepni način (greedy); sjemeni modul (zametak) smjesti se u ugao (donji lijevi), a onda se uzima jedan po jedan modul i dodaje se na već smještene module. Pri tome se nastoji održavati rast u određenom smjeru: dijagonalno, gore i desno naizmjence. Vodi se računa o omjeru visine i širine modula. Module treba poredati u neki red i onda ih po tom redu uzimati. Linerani poredak modula Linearni poredak modula stvara se na temelju netliste, pri čemu se minimizira broj netova koji će biti presječeni ako se prekine linearni niz modula na bilo kojem mjestu. Ovaj se način obično koristi za dobivanje početnog rasporeda. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Algoritam Linear Ordering S: skup svih modula; Order: niz (sequence) poredanih modula (*početno prazan*); Begin Seed: = izaberi seed modul; Order: =Seed; S: =S – Seed; Repeat ForEach modul m S Do Računaj gain za izabrani modul m; gainm: = broj netova koji završavaju na modulu m - broj netova koji počinju s modulom m ; End ForEach; Izaberi modul m* koji ima najveći gain; If postoji tieThen Izaberi modul koji završava najveći broj netova ElseIf postoji tieThen Izaberi modul koji ima najveći broj kontinuiranih netova ElseIf postoji tieThen Izaberi modul koji ima najveći broj priključaka; Else izaberi po želji; EndIf Order: =!Order,m*; (* dodaj m* u uređeni niz*) S: = S - m* UntilS: = 0 End. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Opis algoritma: • Opaske: • - oznaka !L upotrebljava se za elemente niza (sequence) • - zgrada se koristi za nizove • - zagrada se koristi za skupove • Opis algoritma: • prvo se bira zametak (seed modul); slučajnim izborom ili na temelju povezanosti s I/O priključcima, povezanosti s preostalim modulima i dr. • nakon toga ide Repeat petlja: • svaki put se računa gain funkcija za svaki modul koji nije u nizu Order; izabire se modul s najvećim gainom i dodaje u niz poredanih modula, u Order. • gain modula m jednak je:broj netova koji završavaju (terminated net) na modulu m umanjen za broj netova koji počinju (new net) s modulom m • definicije: terminated net ( net koji završava na modulu), • new net (net koji počinje na modulu), • kontinuirani net (net koji prolazi) J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Primjer Zadana je net lista sa šest ćelija C1,C2,C3,C4,C5,C6 i sa šest netova: N1=C1,C3,C4,C6 N2=C1,C3,C5 N3=C1,C2,C5 N4=C1,C2,C4,C5 N5=C2,C5,C6 N6=C3,C6 Pretpostavka: sve su ćelije slobodne orjentacije (rigid). Ako se počne sa ćelijom C1 = seed ćelija postupak ide ovako: korak ćelija novi netovi terminirani netovi gain kontinuirani netovi 0 C1* N1,N2,N3,N4 -- -4 -- 1 C2 N5 -- -1 N3,N4 C3 N6 -- -1 N1,N2 C4* - -- 0 N1,N4 C5 N5 -- -1 N2,N3,N4 C6 N5,N6 -- -2 N1 2 C2 N5 -- -1 N3,N4 C3 N6 -- -1 N1,N2 C5* N5 -- -1 N1,N3,N4 C6 N5,N6 -- -2 N1 3 C2* - N3,N4 2 N5 C3 N6 N2 0 N3 C6 N6 -- 1 N5,N3 4 C3* N6 N2 0 N1 C6 N6 N5 0 N1 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Algoritam Cluster Growth Kada su moduli poredani može se započeti sa njihovim slaganjem (topologija). Jedan od mogućih načina je da se počne s donjim lijevim uglom, i da se moduli slažu tako da se raste u vis i u desno, poštujući postavljene uvjete u vezi s oblikom modula, površinom ukupnog sklopa, te optimizacijom zadane funkcije cijene. Ovaj postupak opisan je u algoritmu Cluster Growth. • S: = skup svih modula; • Begin • Order: = Linear Ordering (S); • Repeat • nextmodule: = b pri čemu je Order = b,!rest • Order: = rest; • Izaberi položaj za modul b tako da povećanje cost funkcije bude najmanje; • (* cost funkcija može biti: - dimenzije dijela površine sklopa, veličina i oblik modula b • ili duljina vodova*) • Until Order; = 0 • End. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Primjer za vježbu: Dimenzije modula: modul širina visina C1 2 3 C2 2 2 C3 3 1 C4 2 3 C5 2 4 C6 3 6 C7 2 2 C8 2 5 C9 1 2 C10 3 5 Zadana je net lista sa 10 ćelija (C1,C2, C3,C4,C5,C6,C7,C8,C9,C10) i 10 netova: N1=C1,C3,C4,C6N2=C1,C3,C5 N3=C1,C2,C5N4=C1,C2,C6,C7 N5=C2,C4,C6N6=C2,C5,C8,C10 N7=C3,C4,C6,C8N8=C4,C8,C9,C10 N9=C4,C7,C9,C10N10=C5,C9,C10 • - Pretpostaviti da su sve ćelije nepromjenljive (rigid) i imaju fiksnu orjentaciju. • Primjeni algoritam Linear ordering; uzmi ćeliju C1 kao početnu (seed) • - Primjeni Cluster growth da se formira floorplan. Kreni iz donjeg lijevog ugla i neka rast bude dijagonalno gore. Pokušajdobiti što manju površinu ukupnog sklopa, a u slučaju dvoumljenja neka kriterij bude što manja razlika između W i H (dimenzije ukupnog sklopa) • Primjedba: ne treba voditi računa o površini potrebnoj uza povezivanje modula. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Planiranje prostora Kod planiranja prostora koriste se dva postupka: - direktni postupak - indirektni postupak Kod direktnog postupka algoritam se primjenjuje direktno na fizički razmještaj modula, barata se sa stvarnim fizičkim koordinatama, veličinama i oblicima modula. Tokom postupka prihvaćaju se, kao međurješenja, i loša - neizvediva rješenja (na pr. preklapanje modula), a takva loša rješenja se "uključuju" u funkciju cijene preko kaznenih bodova. Konačno rješenje mora biti izvedivo. Kod indirektnog postupka algoritam radi s apstraktnim prikazom razmještaja modula, opisanim topološkim susjedstvommodula. Takav prikaz se sastoji iz prikaza floorplana uz pomoć grafa ili položajnog stabla (floorplan tree). Na temelju grafičkog prikaza razmještaja dobiva se stvarni razmještaj. Prednost ovog postupka je da su svi međurezultati izvedivi. Opisati ćemo indirektni postupak, na primjeru tzv. “slicing” strukture, koje su lakše za proračun, ali kao nedostatak imaju pojavu “mrtvog prostora”. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Izgubljeni prostor – dead space izgubljeni (mrtvi) prostor • Smanjivanje površine jednako je smanjivanju izgubljebnog prostora. • Poastotni udio mrtvog prostora • (A - iAi) / A 100% J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Definicije: Izraz E = e1e2e3......e2n-1 pri čemu je ei1,2,......n,H,V je tzv poljski izraz (Polish expression) duljine 2n-1 onda i samo onda ako: 1. se svaki operand “j” 1 j n pojavljuje samo jedamput u izrazu, i 2. izraz E bude takav da svaki podizraz Ei = e1....ei 1 i 2n-1 ima broj operanada veći od broja operatora; to je tzv. “balloting” svojstvo. “Slicing” struktura se može prikazati kao binarno stablo s n listova i n-1 čvorom, koji predstavljaju operatore H i V. Postupak Postorder traversal daje, na temelju slicing stabla, poljsku jednadžbu s operatorima H i V i operendima (modulima – osnovnim pravokutnicima) kojih ima n (1,2....n). U postupku Postorder traversal stablo se istražuje tako da se posjećuje svaki čvor lijevog podstabla, desnog podstabla, a na kraju i sam korijen (root) stabla. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Postorder traversal (pretraživanje) stabla S obzirom da je samo jedan način provođenja postupka pretraživanja binarnog stabla postoji i samo jedan odnos između floorplana i odgovarajućeg normalizanog poljskog izraza. Postorder traversal (pretraživanje) stabla: V H H 2 1 3 H V 21H67V45VH3HV V 6 7 4 5 3 3 1 1 4 5 4 5 4 5 6 7 6 7 6 7 6 7 4 5 2 2 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
3 1 4 5 2 6 7 Poljski zapis Definicija: Poljski izraz E = e1e2e3......e2n-1 naziva se normaliziranim samo onda ako E nema susjednih (consecutive) H i V operatora u nizu, tj. HH ili VV. na pr.: E1= 12H43VH je normaliziran E2= 12V43HH nije normaliziran Slicing Tree (Skewed) Slicing Tree V V H H H H 2 1 H 3 2 1 H V 3 V 6 7 V V 6 7 4 5 5 4 21H67V45VH3HV 21H67V45V3HHV J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Poljski zapis(1) Razlog zašto se poljski izrazi svrstavaju u normalizirane i nenormalizirane je izbjegavanje suvišnih, redundantnih rješenja. Između “slicing tree” s n listova i poljskog izraza duljine 2n-1 postoji jedan jednoznačni odnos. Međutim, za jedan “slicing floorplan” može postojati nekoliko poljskih izraza, što je nepoželjno, jer će: - prostor pretrage biti prevelik i opterećen s višestrukim rješenjima, jer različiti poljski izrazi opisuju isti floorplan - broj poljskih izraza koji opisuju jedan floorplan različit je za pojedine strukture, pa će proračuni za neke strukture biti pretjerano veliki. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Poljski zapis(3) Pravilo: Postoji jedan jednoznačni odnos između “slicing stabla” s n listova i normalizirane poljske relacije duljine 2n-1. Vrijedi i obrat; jednoznačni odnos između normaliziranog poljskog izraza duljine 2n-1 i “slicing stabla” s n listova. primjer : 21H43HV765HHV nije normaliziran 21H43H76H5HHV -“- 21H43H765HHVV -“- 21H43HV76H5HV normalizirani izraz 1 3 5 6 2 4 7 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Lanac Definicija: Niz C= op1op2....opk kojeg čini k operatora naziva se lancem (chain) duljine k onda i samo onda ako opi opi+1 , za 1 i k-1 Ako je E = e1e2.....e2n-1 normalizirana poljska relacija onda se može E izraziti kao E = P1C1P2C2......PnCn pri čemu su Ci lanci (možda i duljine k=0), a P1P2.....Pn su permutacije operanada 1,2 ....n. Definicija: Dva operanda u izrazu E nazivaju se susjednim onda i samo onda ako su susjedni elementi (consecutive) u nizu P1P2.....Pn. Operand i operator su susjedni samo onda ako su susjedni u nizu e1e2.....e2n-1. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Primjer: E= 123VH54HV = P1P2P3C3 P4P5C5 C1=C2=C4=0 su prazni lanci C3=VH C5=HV P1= 1 P2=2P3=3 P4=5 P5=4 1 i 2 su susjedni operandi 3 i 5 -“- 3 i V su susjedni operand i operator J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Perturbacije rješenja (the move set) Rješenja floorplana prikazana su normaliziranim poljskim izrazima. Perturbacije (promjene) zadanog floorplana dobivaju se promjenama u odgovarajućoj poljskoj jednadžbi. Koriste se tri vrste pomaka (moves): M1 - zamjeni (swap) dva susjedna operanda, M2 – napravi komplement nekih lanaca konačne duljine k0, M3 – zamjeni dva susjedna operanda i operatora. Dvije normalizirane poljske jednadžbe nazivaju se susjednim ako se jedna može dobiti iz druge koristeći jedan od tri navedena pomaka. Pri tome treba paziti da susjedna normalizirana poljska jednadžba bude također normalizirana. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Perturbacije rješenja (2) M1 i M2 - uvijek daju iz normalizirane normaliziranu poljsku jednadžbu M3 - može rezultirati i nenormaliziranim poljskim uzrazom Nakon pomka M3 treba kontrolirati dobiveni izraz: - da nema dva jednaka susjedna operatora VV ili HH - da su “balloting” svojstva i dalje prisutna Ako ova dva zahtjeva nisu ispunjena pomak se odbija. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Primjeri pomaka 1 1 M1 2 4 5 5 3 4 3 2 34V2H5V1H 32V4H5V1H M3 1 1 4 5 5 M2 3 2 3 2 4 32V45VH1H 32V45HV1H J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Procjena duljine vodova Funkcija cijene dobrog razmještaja je cost(F) = A + W A – površina najmanjeg pravokutnika koji obuhvaća n – osnovnih pravokutnika W – ukupna duljina vodova; moguća je procjena duljine vodova cij – broj veza između bloka “i” i bloka “j” dij – udaljenost od središta bloka “i” do središta bloka “j” - udaljenost određena vodoravnim i okomitim stazama (Manhattan udaljenost) J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Određivanje površine Blok kojemu se omjer w/h kontinuirano mijenja (soft) Blok kojemu omjer w/h može imati nekoliko iznosa h h granična krivulja granična krivulja wh = A (0,0) w (0,0) w J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Određivanje površine • Površina je obuhvaćena graničnom linijom , koja zadovoljava slijedeće zahtjeve: • 1. granična linija je opadajuća funkcija, tj za bilo koje dvije točke (x1, y1) i (x2, y2) na krivulji vrijedi: x1 x2 i y2 y1 • 2. leži u I kvadrantu, tj. (x,y) x> 0 i y > 0 • 3. dijeli I kvadrant na dva spojena područja • Definicije: i su dvije granične krivulje. S graničnim krivuljama mogu se definirati dvije aritmetičke operacije. • 1. granična krivulja koja odgovara H dobiva se zbrajanjem duž y-osi, tj. 2. granična krivulja koja odgovara V dobiva se zbrajanjem duž x-osi, tj. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Kombiniranje blokova h 1 12V: 2 2 1 12V w 12H h 12H: 2 1 1 2 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Postupak određivanja ukupne površine Svaki modul i 1 i n zadan je slijedećim veličinama: visina hi, širina wi i površina Ai = wi hi, faktorima rii si (orjentacija) • Postupak: kreće se od listova i binarnog stabla 1 i n. • Blok i određen je svojom graničnom krivuljom i , koja ovisi o obliku, veličini, fleksibilnosti i orjentaciji modula. • “Slicing” stablom se prolazi od listova prem korijenu. • Svaki unutarnji čvor v odgovar operatoru H ili V, te je • v =lijevi V desni ili v =donji H gornji. • Kada se dođe do korjena traži se pravokutnik najmanje površine. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Određivanje ukupne površine izaberi najmanju površinu 2 V 1 3 H 1 3 2 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Primjer određivanja površine Definicija: Neka su x1,y1 i x2,y2 dvije moguće implementacije za zadani pravokutnik; (x2,y2) je redundantan implementaciji (x1,y1) samo onda ako je x2 x1 i y2 y1 ili x2 x1 i y2 y1. Redundantne implementacije treba eliminirati redundantni pravokutnici J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Primjer: Određivanje pravokutnika minimalne površine, koji obuhvaća n osnovnih blokova. Svi moduli su rigidni, ali se mogu rotirati za 90 u odnosu na originalnu orjentaciju. Početni položaj svih modula zadan u tablici (bez rotacije). Dimenzije modula: Modul Wihi 1 2 3 2 2 2 3 1 3 4 2 3 5 1 2 6 2 2 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Primjer određivanja površine(1) V “Slicing tree” je zadan normaliziranom poljskom jednadžbom E = 12H34V56VHV. Traži se pravokutnik minimalnih dimenzija, koji obuhvaća sve module. H H 1 V 2 V 6 3 4 5 12 = 1 H 2 : 2,3 H 2,2 = 2,5 3,2 H 2,2 =3,4 34 = 3 V 4 : 1,3 V 2,3 = 3,3 1,3 V 3,2 = 4,3 redundantno 3,1 V 2,3 = 5,3 redundantno 3,1 V 3,2 = 6,2 56 = 5 V 6 : 1,2 V 2,2 = 3,2 2,1 V 2,2 = 4,2 redundantno 3456 = 34 H 56 : 3,3 H 3,2 =3,5 6,2 H 3,2 = 6,4 123456 = 12 V 3456 : 2,5 V 3,5 =5,5 2,5 V 6,4 = 8,5 redundantno 3,4 V 3,5 = 6,5 redundantno 3,4 V 6,4 = 9,4 J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Primjer (1) 2 5 6 2 6 5 5 1 1 3 4 3 4 9 X 4 dead space =11/36=0,306 ; 30,6 % 5 X 5 dead space =0 % J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Simulirano kaljenje - Simulated annealing • Simulurano kaljenje je prvi puta korišteno kod razmještaja modula (placement) 1983, a nakon toga se dosta uspješno koristi i za planiranje prostora (floorplanning). • Podsjetnik: SA algoritam traži • 1. početno rješenje • 2. promjenu tog rješenja (izvedivo rješenje) • 3. određivanje “objektne funkcije” (koju treba poboljšati) • Pri korištenju SA algoritma treba napraviti nekoliko bitnih odluka: • - izabrati početno rješenje • - izabrati “ritam” hlađenja, što uključuje izbor • 1. početne temperature • 2. vrijeme trajanja procesa na toj temperaturi • 3. za koliki iznos snižavati temperaturu • - perturbacijsku funkciju (kako mijenjati razmještaj modula) • - uvjete zaustavljanja algoritma J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Simulirano kaljenje(1) • Algoritam počinje s nekim početnim rasporedom modula, opisanim poljskom notacijom E0 = 12V3V4V5V.....nV koja odgovara “slicing” stablu s n okomitih linija. • Početna temperatura T0 određuje se na slijedeći način: napravi se niz slučajnihn pomaka i izračuna se prosječna funkcija cijene za sve “loše” (uphill) pomake - avg. • Početna temperatura izabere se tako da početna vjerojatnost prihvaćanja lošijeg rješenja P bude vrlo velika; P1. • Perturbacijska funkcija se provodi na slijedeći način: • Susjed je određena • normalizirana poljska notacija koja se izabire na slijedeći način: • I - tip pomaka izabire se slučajno • II - izabire se par susjednih elemenata • U slučaju pomaka M3 treba provjeriti novi izraz, koji mora biti normalizirana poljska jednadžba. • Ukoliko je poljska notacija nenormalizirana izabire se drugi par elemenata. To se ponavlja tako dugo dok se ne dobije normalizirani izraz. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Simulirano kaljenje(2) • Svakoj dobivenoj normaliziranoj poljskoj notaciji određuje se funkcija cijene: • - ako je “cost” bolji rješenje se prihvaća; • - ako je “cost” lošiji prihvaćanje ovisi o funkciji vjerojatnosti, a ona ovisi o temperaturi. Temperatura opada s trajanjem procesa. • Za svaku temperaturu ograniči se broj lošijih, prihvaćenih rješenja (uphill) na N pomaka; • ili se napravi ukupno 2N pomaka. • Broj N je ovisan o broju modula (blokova). • Kada se izađe iz unutrašnje Repeat petlje temperatura se smanji za iznos . • Preporuča se da 0,85. • Algoritam se zaustavlja kada je • broj dobrih pomaka premalen (5% od ukupnog broja pomaka) ili • temperatura je došla do nekog niskog iznosa (unaprijed zadanog). J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Algoritam Floorplanning Simulated Annealing E0 = 12V3V4V……nV; (*početno rješenje*) E = E0; (*pretpostavi da je E = e1 e2 ….ei…..en*) Best = E0 (*početna temperatura*) uphill = 0; (*broj uphill promjena napravljenih za vrijeme zadane temperature*) MT = 0; (*ukupni broj pomaka na zadanoj temperaturi*) M = 0; (*sveukupni broj pomaka na svim temperaturama*) Repeat MT = uphill = Reject = 0; Repeat Izaberi pomak (M) Slučaj M je M1 : izaberi dva susjedna operanda ei i ej; NewE = Swap(E, ei,ej); M2 : izaberi lanac operatora C određene duljine; NewE = Complement(E, C); M3 :Done = False; While NOT (Done) Do Begin J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Algoritam Floorplanning SA (nastavak) • Begin • Izaberi dva susjedna operanda ei i ei+1; • If (ei-1 ei+1) i (2Ni+1< i) Then Done = TRUE; • End; • NewE = Swap(E, ei, ei+1); • EndCase; • MT = MT + 1 • Cost = Cost (NewE) – Cost(E); • If (Cost<0 )OR( RANDOM <) Then • Begin • If (Cost>0 ) Then uphill = uphill + 1; • E = NewE; (*prihvaćena nova raspodjela NewE*) • If Cost(E) < Cost(Best) Then Best = E; • End • Else Reject = Reject +1 (*odbaci pomak*) • EndIf • Until (uphill > N) OR (MT > 2N); • T = T • Until (Reject/MT < 0.5) OR ( T ) OR Out og Time; • End. J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.
Planiranje prostora – analitička metoda • Metoda je nastala prilagodbom rješavanja sistema jednadžbi. • Uvjeti koji opisuju neku raspodjelu blokova (floorplan) opisani su skupom matematičkih jednadžbi (rješavaju se tehnikom matematičkog programiranja). • Najčešća metoda je mješano integer programiranje - mixed linear integer: • neke varijable su realni brojevi a neke poprimaju vrijednost 0 ili 1 (integer.) • Označavanje i definiranje problema • Zadan je skup modula S={1,2,….n. • Podskup S1 ima blokove fiksne orjentacije, a podskup S2 blokove slobodne orjentacije. • Svaki modul zadan je svojom širinom wi i visinom hi, xi, yi su koordinate donjeg lijevog ugla modula "i". hj Bj hi Bi (xj, yj) (xi, yi) wj wi J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2007/08.