450 likes | 603 Views
Podjela sklopa - nastavak. FER zimski semestar šk. g. 2008/09. Predavač: Julijana Divković Pukšec e-mail: julija@zemris.fer.hr. Fiduccia-Mattheyses algoritam – princip rada. Princip rada: -ćelije se premještaju iz bloka u blok, jedna po jedna; premješta se ćelija s najvećim gainom ;
E N D
Podjela sklopa - nastavak 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.
Fiduccia-Mattheyses algoritam – princip rada • Princip rada: • -ćelije se premještaju iz bloka u blok, jedna po jedna; • premješta se ćelija s najvećim gainom; Gain ćelije: iznos koji pokazuje za koliko će se smanjiti broj presječenih netova ako se taj čvor premjesti iz jednog podsklopa u drugi. -1 2 0 0 0 -1 -2 0 0 -2 -1 1 -1 1 J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Fiduccia-Mattheyses algoritam – princip rada 2 -1 0 0 0 -1 -2 0 0 -2 -1 1 -1 1 J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Fiduccia-Mattheyses algoritam – princip rada Nakon premještanja računaju se novi gain-ovi. -2 -1 -2 0 -2 -1 -2 0 0 -2 -1 1 -1 1 J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Fiduccia-Mattheyses algoritam – princip rada -2 -1 -2 0 -2 -1 -2 0 0 -2 -1 1 1 -1 J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Fiduccia-Mattheyses algoritam – princip rada -2 -1 -2 0 -2 -1 -2 0 0 -2 -1 1 1 -1 J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Fiduccia-Mattheyses algoritam – princip rada -2 -1 -2 0 -2 -1 -2 0 -2 -2 1 -1 -1 -1 J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Fiduccia-Mattheyses algoritam – princip rada -2 -1 -2 0 -2 -1 -2 0 -2 -2 1 -1 -1 -1 J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Fiduccia-Mattheyses algoritam – princip rada -2 -1 -2 0 -2 1 -2 -2 -2 -2 1 -1 -1 -1 J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Fiduccia-Mattheyses algoritam – princip rada -2 -1 -2 0 -2 1 -2 -2 -2 -2 1 -1 -1 -1 J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Fiduccia-Mattheyses algoritam – princip rada -2 -1 -2 0 -2 1 -2 -2 -2 -2 1 -1 -1 -1 J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Fiduccia-Mattheyses algoritam – princip rada -2 -1 -2 0 -2 1 -2 -2 -2 -1 -2 -2 -3 -1 -1 J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Fiduccia-Mattheyses algoritam – princip rada -2 -1 -2 0 1 -2 -2 -2 -1 -2 -2 -3 -1 -1 J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Fiduccia-Mattheyses algoritam – princip rada -2 -1 -2 0 1 -2 -2 -2 -1 -2 -2 -3 -1 -1 J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Fiduccia-Mattheyses algoritam – princip rada -2 -1 -2 -2 -2 -2 -1 -2 -1 -2 -2 -3 -1 -1 J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Fiduccia-Mattheyses algoritam Fiduccia-Mattheyses heuristički algoritam je iterativan postupak koji vodi računa o netovima s više priključaka (multipin nets), te o veličini pojedine komponente sklopa. Fiduccia-Mattheyses algoritam pronalazi rješenje na temelju slijedeće definicije: Sklop koji se sastoji od C ćelija i Nnetova (svaki net spaja barem 2 ćelije) podijeli u dva bloka, A i B, tako da je broj presječenih netova što manji, i da su blokovi podjednako veliki. a) presječeni netovi b) presječeni bridovi J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Fiduccia-Mattheyses algoritam(1) • Usporedba Fiduccia-Matheyses (FM) i Kernighan-Lin (KL) algoritama • - kod FM se u svakom koraku po jedna ćelija premješta iz bloka u blok • kod KL zamjena mjesta dviju ćelija u dva bloka • - KL minimizira broj presječenih bridova, a FMbroj presječenih netova (Cost) • - FM algoritam bira ćeliju slično kao i KL algoritam; pri tome se računa gain (odn. promjena gaina-a) uslijed premještanja ćelije iz jednog bloka udrugi. • Jednom izabrana ćelija se “zaključava” i u toj iteraciji se više ne premješta. • Ukupni broj ćelija koje će zamijeniti blok bira se na temelju najboljeg niza pomaka c1,c2, .....ck. • - za razliku od KL algoritma ne izmjenjuje se par čvorova, već se pomiče jedan po jedan čvor. J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Fiduccia-Mattheyses algoritam (2) Ćelije se premještaju iz podsklopa u podsklop na temelju njihovog gaina. Gain ćelije: iznos koji pokazuje za koliko će se smanjiti broj presječenih netova ako se taj čvor premjesti iz jednog podsklopa u drugi. • svakoj ćeliji je određen gain • - ćelije su smještene u sortiranu listu prema iznosu gain-a • premješta se ćelija koja ima najveći gain-a, a nalazi se u većem podsklopu • premještena ćelija se “zaključava” • proračunavaju se novi gain-ovi ćelija koje su spojene na premještenu ćeliju - sortirana lista ćelija se obnavlja J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Fiduccia-Mattheyses algoritam(3) • FM algoritam mora voditi računa o mogućem nastanku neravnoteže u odnosu na veličinu blokova. Definira se faktor balansa, faktor uravnoteženja. • -neke ćelije mogu biti unaprijed “zaključane” u određeni blok. • -FM algoritam je brži od KL algoritma • Definicije:p(j) – broj priključaka (pinova) na ćeliji “j” • s(j) – veličina (površina) ćelije “j”j=1,2,.....C • cutstate net-a: • net može biti: cut - presječen • uncut– ne presječen • net je presječen (cut) ako ima priključke u oba bloka; inače je ne presječen • cutset podjele: to je skup svih netova čiji je cutstate=cut J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Fiduccia-Mattheyses algoritam(4) gain ćelije: g(i) ćelije “i” je broj netova za koji će se smanjiti cutset ako se ćelija “i” premjesti iz trenutnog bloka From blok u drugi blok To blok kriterij balansa, kriterij uravnoteženosti: Kriterij balansa spriječava “odlazak” svih ćelija u jedan blok. osnovna ćelija (base cell): ćelija koja je izabrana za premještanje iz From blokau To blok; ova ćelija ima najveći gain, a njezin premještaj ne narušava kriterij uravnoteženosti. J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Fiduccia-Mattheyses algoritam(5) raspodjela (distribucija) neta n: to je par A(n),B(n), gdje su A i B dva (pod)skupa na koja je podjeljen sklop; A(n) i B(n) su brojevi ćelija koje su spojene na net n, u skupu A, odn. u skupu B. kritični net: to je onaj net koji ima ćeliju čije će premještanje promijeniti stanje cutstate-a. To su oni net-ovi čiji su A(n) ili B(n) 0 ili 1. Primjer kritičnog neta: a) A(n) = 1 b) A(n) = 0 c) B(n) = 1 d) B(n) = 0 J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Algoritam FM TWPP • Begin • korak 1. Izračunaj gain svake ćelije ; • *(A,B) je početna podjela, takva da je A = B • korak 2. i = 1; • izaberi osnovnu ćeliju (base cell) i nazovi je ci; • Osnovna ćelija je ona koja • I - ima najveći gain i • II – zadovoljava uvjete balansa; • If nema osnovne ćelije Then Exit; EndIf; • Iftie (ima nekolikoćelija koje zadovoljavaju navedene uvjete) • Then razmotri – veličine ćelija • –unutarnje veze; • EndIf; • korak 3. zaključaj ćeliju ci; • izračunaj nove gain-ove ćelija koji su se promijenili (jer su na njih spojeni kritični net-ovi) J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Algoritam FM TWPP korak 4.If je broj slobodnih ćelija Then i=i+1; Izaberi slijedeću slobodnu ćeliju ci; If Then Goto korak 3.; korak 5. Nađi k koji daje maksimalni IftieThen izaberi skup koji daje najbolje uravnoteženje (balans); If Then Exit; korak 6. napravi sve izabrane promjene; ¨oslobodi¨ sve ćelije; Goto korak 1. End J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Opis algoritma FM: • korak 1: proračun svih slobodnih ćelija; • ćelija je slobodna ako nije zaključana, bilo unaprijed bilo nakon razmatranja i izbora za premještaj. Utjecaj premještanja ćelije na cutset opisan je gainom g(i) ćelije i: • F(i) From blok ćelije i • T(i) To blok ćelije i 1i C • gain g(i) rezultat je premještanja ćelije i iz bloka F(i) u blok T(i): • g(i) = FS(i) –TE(i) • FS(i) je broj netova spojen samo na ćeliju i i na niti jednu drugu ćeliju u F(i) bloku. • TE(i) je broj netova spojenih na ćeliju i, a ne prelaze u drugi blok • -p(i) g(i) p(i) p(i) – broj pinova spojenih na ćeliju J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
primjer: sklop sa slike- početna situacija Distribucija net-ova (početna): A(m) = 3 A(q) = 2 A(k) = 1A(p) = 1 A(j) = 0 B(m) = 0 B(q) = 1 B(k) = 1 B(p) = 1 B(j) = 2 Kritični su oni netovi koji imaju F(n) = 1 ili T(n) = 0. za T A i F B kritični su: A(k) = 1, A(p) =1, B(m) = 0 za T B i F A kritični su: B(k) = 1, B(p) = 1, A(j) = 0 J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
primjer: sklop sa slike- početna situacija (1) FS(i) je broj netova spojen samo na ćeliju i i na niti jednu drugu ćeliju u F(i) bloku. TE(i) je broj netova spojenih na ćeliju i, a ne prelaze u drugi blok g(i) = FS(i) –TE(i) J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Algoritam Računaj gain ćelije Begin For svaku slobodnu ćeliju iDo g(i)=0; F = From blok ćelije i ; T = To blok ćelije i; For svaki net n spojen na ćeliju iDo IfF(n) = 1Than g(i)=g(i)+1; (* Ćelija i je jedina ćelija u From bloku spojena na net n.*) IfT(n) = 0Than g(i)=g(i)-1; (* Sve ćelije spojene na net n su u From bloku.*) EndFor EndFor End J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Algoritam Računaj gain ćelije Kritični su oni netovi koji imaju F(n) = 1 ili T(n) = 0. sve su ćelije slobodne; izračunati gainovi su: i = 1: F=A, T=B, na ćeliju C1 spojen je net m; za ovu ćeliju interesantan je T(m)=0: g(1) = 0 – 1 = -1 i =2: F=A, T=B, na ćeliju C2 su spojeni netovi m, q, k i p , ali interesantni su samo F(k) =1, F(p) = 1 i T(m) = 0: g(2) = 0 +1+1-1 = 1 i =3: F=A, T=B, na ćeliju C3 su spojeni netovi m i q, a interesantan je samo T(m) = 0: g(3) = 0 – 1 = -1 i =4: F=B, T=A, na ćeliju C4 su spojeni netovi j i q, a interesantan je samo T(j) = 0: g(4) = 0 – 1 = -1 i =5: F=B, T=A, na ćeliju C5 su spojeni netovi j i q, a interesantan je samo T(j) = 0: g(5) = 0 – 1 = -1 i =6: F=B, T=A, na ćeliju C6 spojen je net p, koji ima F(p) = 1: g(6) = 0 +1 = 1 J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Algoritam - Izaberi osnovnu ćeliju Begin For svaku ćeliju c s najvećim gainom Do Begin If premještanje ćelije c izaziva neuravnoteženje Then izbaci tu ćeliju; Else Return c EndIf EndFor If niti jedan blok nema odgovarajuću ćeliju Then Exit; EndIf End J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
-korak 2:Odabir “osnovne ćelije” ( base cell) zadano je: r = 0,4 S(1) = 3 S(2) = 2 S(3) = 4 S(4) = 1 S(5) = 3 S(6) = 5 Smax = S(6) = 5 A = S(1) + S(2) + S(3) = 9 B = S(2) + S(4) + S(5) = 9 u bloku A: gmax = g(2) = 1 u bloku B: gmax = g(6) = 1 Ako ćeliju C2 premjestimo iz A u B : A = 7, B = 11, kriterij uravnoteženosti je zadovoljen; ako bi ćeliju C6 premjestili iz B u A: A = 14, B = 4, kriterij nije zadovoljen. Prema tome kao osnovna ćelija c1 bira se ćelija C2(to je ćelija koja ima najveći gain a ne narušava uravnoteženost -balance criterion). c1 = C2 g1 = 1A = 1,3B = 2,4,5,6 J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Algoritam Update gain • Begin • (*Premjesti osnovnu ćeliju i izračunaj gainove slobodnih ćelija.*) • F = From blok osnovne ćelije • T = To blok osnovne ćelije • Zaključaj osnovnu ćeliju i zamjeni njezine blokove; • For svaki net n spojen na osnovnu ćeliju Do • (*Odredi kritične netove prije premještanja.*) • IfT(n) = 0Then povećaj gain svih slobodnih ćelija spojenih na net n; • ElseIfT(n) = 1Then smanji gain jedine ćelije u T bloku spojene na net n, • ako je ta ćelija slobodna; • EndIf • (*Promijeni distribucije net-ova F(n) i T(n) da se odrazi premještaj osnovne ćelije.*) • F(n) = F(n) – 1; T(n)=T(n) + 1; • (*Odredi kritične netove nakon premještanja.*) • IfF(n) = 0Then smanji gain svih slobodnih ćelija spojenih na net n; • ElseIfF(n) = 1Then povećaj gain jedine ćelije u F bloku spojene na net n ako je ta ćelija slobodna; • EndIf • EndFor • End J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
-korak 3: Zaključaj izabranu ćeliju i izračunaj nove vrijednosti gain-ova Izabrana ćelija se zaključava za ostatak proračuna. Nove vrijednosti gainova ćelija koje su spojene na kritične netove moraju se izračunati prema algoritmu. Osnovna ćelija je C2, a na nju su spojeni netovi k, m, q i p. Svi ovi netovi su kritični. Promjena u distribuciji netova Prije Poslije Net F T F’ T’ ________________________________ k1 1 0 2 m 3 0 2 1 q 2 11 2 p 1 1 0 2 _________________________________ (smanjuje se za 1 broj ćelija spojenih na kritični net u From bloku, a povećava broj ćelija spojenih na kritični net u To bloku) J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Utjecaj kritičnog neta na gain ćelije – prije i poslije premještanja ćelija gain radi T(n) gain radi F(n) gain k m q p k m q p stari novi C1 +1 -1 0 C3 +1 +1 -1 +1 C4 -1 0 -1 C5 -1 -1 0 -2 C6 -1 -1 +1 -1 Izabrana ćelija C2 spojena je na netove k,m,p i q. T(m)=0: ćelije C1 i C3 moraju povećati gain. T(k)=T(q)=T(p)=1, T(m)=0: ćelije C4, C5 i C6 moraju smanjiti gain Nakon premještanja kritični netovi su k, p i q ( F´). F’(k)= F’(p)=0: ćelija C5 spojena je na net k, a C6 na net p; ovi netovi su sada samo u jednom bloku. F’(q)1: C3 je jedina ćelija u F bloku spojena na net q nakon premještanja. J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
korak 4. Odabir nove osnovne ćelije (ako ima slobodnih ćelija) c2 = C3S(3)=4 iz A B A=7-4 = 3 2,2 uravnoteženost ispunjena g2 = 1 A = 1 B = 2,3,4,5,6 (ćelije 2 i 3 su “zaključane”) Povratak na korak 3 i ponovno proračun novih gainova; za ovaj primjer to ide ovako: i=3:najveći gain ima ćelija C1 G(1) =1, ali bi u tom slučaju skup A bio prazan, što ne odgovara kriteriju uravnoteženosti, pa se uzima slijedeća ćelija a to je C6, koja ide iz B A, A=8, kriterij balansa zadovoljen g3 = -1 A = 1,6 B = 2,3,4,5 i=4: najveći gain ima ćelija C1, A=5, uravnoteženost zadovoljena g4 = 1 A = 6 B = 1,2,3,4,5 J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
nastavak procedure – odabir osnovne ćelije(2) i=5: najveći gain ima ćelija C5, A=8, uravnoteženost zadovoljena g5 = -2 A = 5,6 B = 1,2,3,4 i=6: najveći gain ima jedina slobodna ćelija C4, A=9, uravnoteženost zadovoljena g6 = -2 A = 4,5,6 B = 1,2,3 Opaska: ćelija C1 je dva puta birana kao osnovna ćelija, jednom prihvaćena , a jednom odbijena. J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
korak 5:najbolji niz premještaja Traži se najbolji niz premještaja, takav da je 1 k i za k=2 i k= 4 G = Gmax = +2 k=2 : A2 = 1 =3 B2 = 2,3,4,5,6 =15 k=4 : A4 = 6 =5 B2 = 1,2,3,4,5 =13 K=4 ima bolji balans pa se ova druga podjela uzima kao početna i ponovo se prolazi kroz algoritam. Postupak se ponavlja tako dugo dok se ne dobije G 0 ; Then Exit J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Simulirano kaljenje(napuštanje) - Simulated annealing Najviše korišten iterativni postupak za rješavanje kombinacijskih problema. Koristi za rješavanje skoro svih CAD problema, pa i za podjelu sklopova. To je adaptivni (podesivi) heuristik i pripada u grupu ne determinističkih algoritama. Adaptivni znači da se parametri algoritma (svi, ili samo neki) mjenjaju tijekom izvođenja. Ovaj algoritam oponaša postupak kaljenja, pri kojemu se materijal zagrije na visoku temperaturu, a onda postepeno hladi, pri čemu atomi zauzimaju svoje mjesto u kristalnoj rešetci, i na taj način se popravljaju oštećenja kristalne strukture. Svaki kombinacijsko-optimizacijski problem može se opisati uz pomoć termina “state space” –stanje. Stanje (state) je konfiguracija kombinacijskih objekata; na pr kod podjele sklopa, bilo koja podjela na dva podskupa je konfiguracija, stanje. Takvih konfiguracija ima mnogo, a samo neke od njih imaju optimalnu cijenu(cost). J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Simulirano kaljenje (1) Iterativni postupak počinje s nekom početnom raspodjelom (stanjem), a zatim ispituje susjedna stanja tražeći bolje rješenje (s manjom cijenom). Susjedna stanja su ona stanja do kojih se dolazi malim promjenama početnog stanja S. Na pr. pri podjeli sklopa susjedna stanja neke raspodjele S su sve one raspodjele do kojih se dolazi zamjenom 1 para čvorova. Iterativno poboljšavajući algoritam prihvaća novo stanje ako ono ima bolju cijenu (cost). L - lokalni minimum G- globalni minimum Kako doći iz lokalnog minimuma do globalnog minimuma? Jedino tako da prihvatimo i raspodjelu (stanje, state) s lošijom cijenom (“penjemo se uzbrdo”). To znači da algoritam mora povremeno prihvaćati i lošija rješenja, s nadom da će tako doći do boljeg rješenja. J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Algoritam SA Središnji dio algoritma je tzv. Postupak Metropolis koji simulira proces otpuštanja (kaljenja) na nekoj temperaturi T. Ulaz u Metropolis je trenutačna raspodjela S koju se nastoji poboljšati. Parametar M određuje vrijeme trajanja otpuštanja na temperaturi T. Simulirano kaljenje (simulated annealing – SA) se provodi na različitim temperaturama; počinje na najvišoj temperaturi T0 koju onda postepeno smanjuje (geometrijski niz); na svakoj tempearturi poziva postupak Metropolis. Opadanje temperature određeno je parametrom (T= T0 , T= T0 , T= 2T0,.....). Na svakoj temperaturi proces se zadržava određeno vrijeme; kako temperatura T opada tako se smanjuje i vrijeme trajanja kaljenja na toj temperaturi; to se podešava parametrom > 1. Vrijeme = Time = M M = M Postupak kaljenja se zaustavlja kadavrijeme prekorači dozvoljenu vrijednost Maxtime. J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Algoritam Simulirano napuštanje • (*S0– početno rješenje*) • (*T0 – početna temperatura*) • (* –brzina hlađenja*) • (* –konstanta*) • (*Maxtime –ukupno dozvoljeno vrijeme trajanja proračuna metodom simuliranog napuštanja*) • (*M –vrijeme tijekom kojega se proračun provodi na nekoj, konstantnoj, temperaturiT*) • Begin • T =T0 • S =S0 • Time =0 • Repeat • Call Metropolis (S,T,M); • Time =Time + M • T =T • M =M • Until ( Time ≥ Maxtime ) • Izlaz – najbolje dobiveno rješenje • End (*procesa simulirano napuštanje*) J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Algoritam Metropolis Begin Repeat NewS =Neighbour(S) (*susjed od S*) h =(Cost(NewS) – Cost(S)); If (h 0 )ili ( random ) ThenS = NewS; (*prihvaćanje novog rješenja*) M = M-1 Until (M = 0) End (*procesa Metropolis*) Algoritam Metropolis koristi postupak Neighbour (susjed) da bi dobio lokalno susjedstvo NewS za početni skup S. Ako je cijena (cost) novog rješenja bolja, novo rješenje se prihvaća. Novo rješenje će biti prihvaćeno i ako mu je cost lošiji, ako je slučajno generirani broj (random), čija se vrijednost kreće između 0 i 1, manji od . J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Algoritam Metropolis(1) h – razlika cijene = Cost(NewsS) – Cost(S) > 1 h > 1 jer je nova cijena veća (lošija) Ovaj uvjet prihvaćanja lošijeg rješenja je tzv. Metropolis kriterij. Postupak Metropolis generira i ispituje M rješenja. Vjerojatnost prihvaćanja lošijeg rješenja određena je vjerojatnošću: za T=konst. h vjerojatnost prihvaćanja manja za h=konst. T To znači da će na višoj temperaturi biti prihvaćena i lošija rješenja, koja bi na nižim temperaturama (vjerojatno) bila odbijena. za T >>, na pr. T P1 za T<<, na pr. T 0 P 0 J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Podjela sklopa uz pomoć postupka Simulirano otpuštanje Treba podjeliti sklop na dva dijela; čvorovi i bridovi imaju određenu težinu. Cutstate mora biti najmanji. Prvi korak je definiranje funkcije cijene (cost function) koja obuhvaća i kriterij uravnoteženja (balansa) i cijenu cutseta. Za zadanu podjelu sklopa na podsklopove A i B: Imbalance (A,B) = veličina(A) – veličina(B) = Cutsetweight(A,B)= s(v) – veličina čvora v w(n) –težinski faktor brida (net-a) - skup netova koji imaju priključke i u podsklopu A i u podsklopu B Cost(A,B) = Wc.Cutsetweight(A,B) + Ws.Imbalance(A,B) Uz pomoć Wci Ws podešava se važnost pojedinom kriteriju. J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Funkcija susjed – Neighbour function Najjednostavnija funkcija “Susjed” je izmjena parova. Parovi koji se izmjenjuju mogu biti izabrani slučajno, a mogu biti birani i prema nekom kriteriju (ćelija koja najviše doprinosi “cijeni”, ili je povezana s najmanjim brojem elemenata u sklopu itd.). J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.
Primjer- sklop s 10 ćelija povezanih s 41 bridom net lista: N1={A B} w=1 N22={E G} w=3 N2={A D} w=1 N23={E A} w=3 N3={A E} w=1 N24={E F} w=3 N4={B D} w=1 N25={G A} w=3 N5={B E} w=1 N26={G F} w=3 N6={D E} w=1 N27={A F} w=3 N7={B C} w=1 N28={F D} w=3 N8={B E} w=1 N29={F G} w=3 N9={C E} w=1 N30={F B} w=3 N10={C F} w=2 N31={D G} w=3 N11={C J} w=2 N32={D B} w=3 N12={C D} w=2 N33={G B} w=3 N13={F J} w=2 N34={G I} w=2 N14={F D} w=2 N35={G E} w=2 N15={J D} w=2 N36={I E} w=2 N16={D H} w=1 N37={H B} w=3 N17={D C} w=1 N38={I J} w=2 N18={D G} w=1 N39={I E} w=2 N19={H C} w=1 N40={J E} w=2 N20={H G} w=1 N41={J E} w=4 N21={C G} w=1 T0 =30, M=1; podjela B-C-D-F-H i A-E-G-I-J ima cost=33 namanji cost =32 ima podjela A-B-D-F-H and C-E-G-I-J Početna raspodjela A-B-C-D-E and F-G-H-I-J J. Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09.