+ All Categories
Home > Documents > Planiranje prostora i razmještaj - Floorplanning and placement

Planiranje prostora i razmještaj - Floorplanning and placement

Date post: 14-Jan-2016
Category:
Upload: odelia
View: 37 times
Download: 5 times
Share this document with a friend
Description:
Planiranje prostora i razmještaj - Floorplanning and placement. FER zimski semestar šk. g. 2008./09. Predavač: Julijana Divković Pukšec e-mail: [email protected]. Planiranje prostora i razmještaj. Nakon podjele sklop je podijeljen u nekoliko blokova koje treba sloziti na pločicu. - PowerPoint PPT Presentation
Popular Tags:
64
J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 1 Planiranje prostora i razmještaj - Floorplanning and placement FER zimski semestar šk. g. 2008./09. Predavač: Julijana Divković Pukšec e-mail: [email protected]
Transcript
Page 1: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 1

Planiranje prostora i razmještaj - Floorplanning and placement

FER zimski semestar šk. g. 2008./09.

Predavač: Julijana Divković Pukšece-mail: [email protected]

Page 2: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 2

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.

Page 3: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 3

Planiranje prostora (Floorplanning)

aspect ratio = visina

širina

h

w

Zadaju se granične (minimalna i maksimalna) vrijednosti;blok nesmije biti niti preuzak niti preširok.

min

i ii

i i l

h hr

w w

max

i ii

i i u

h hs

w w

Ai=wi . hi površina modula “i”wi širina modula hi visina modula

ri i si su donja (lower) i gornja (upper) granica omjera širine i visine modula “i”

Page 4: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 4

Planiranje prostora

fiksni blok može promjeniti orjentaciju:

ako je ri = si blok je nepromjenljiv, fiksan (rigid)ako je ri si blok je fleksibilan

Page 5: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 5

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.

Page 6: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 6

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.

Page 7: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 7

Planiranje prostora i razmještaj(3)

Pri planiranju prostora i razmještaju blokova treba voditi računa o:

- obliku blokaJednostavnosti 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 prospajanjaTreba procjeniti kolika je površina potrebna za prospajanje (za postavljanje vodljivih staza) i ostaviti za to dovoljno prostora između blokova.

Page 8: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 8

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).

Page 9: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 9

Formalni opis postupka planiranja prostoraZadano 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 orjantacijomS2 – skup modula sa slobodnom orjentacijom

3. matrica C dimenzija n n koja određuje spojeve između pojedinih modula

n n ijC c

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 ( p q); to su donja i gornja granica kojom su određene dimenzije pravokutnika unutar kojega treba smjestiti svih n modula.

Page 10: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 10

Formalni opis postupka planiranja prostora(2)

ii i

i

hr s

w

ii i

i

hr s

w

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 ne preklapaju, označenih brojevima 1,2, .... n, takvih da su zadovoljeni slijedeći zahtjevi:

1. Ai=wi . hi 1 i n

za sve module s fiksnom orjentacijom iS12.

3. ili1 1i

i i i

h

s w r za sve module sa slobodnom orjentacijom iS2

Primjer: Ai = 20

54

5

i

i

w

h blok je fiksne orjentacije

55

4i

i

h

w ili 1 4

5 5i

i

h

w blok je slobodne orjentacije

Page 11: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 11

Formalni opis postupka planiranja prostora(3)

i ix w i iy h 1 i n4.

xi i yi su dimenzije osnovnog pravokutnika “i “ koji mora biti dovoljno velik da u njega stane modul “i “..

H i W su visina i širina pravokutnika koji obuhvaća sve module.

Hp qW

5.

Page 12: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 12

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 = A + W A – ukupna površina W - ukupna duljina vodova

ikonstante

Page 13: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 13

Terminologija:

-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.

- 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

Ukoliko to nije moguće radi se o non- slicing structure.

Page 14: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 15

Slicing floorplan

Slicing Floorplan

V

H H

2 1 3H

V

6 4

V

7 5

Slicing Tree

Polish Expression – poljska notacija 21H67V45VH3HV

31

2

4 5

6 7

Skewed (nakošeno) slicing tree je ono stablo kod kojega niti jedan čvor i njegov desni sin nisu isti.

Page 15: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 16

Non slicing floorplan

- wheel – kotačto je najmanji non slicing

floorplan

1

3

4

2

5

W

4 1 2 3 5

Page 16: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 17

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 dok se 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.

Page 17: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 18

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 modulaLinearni poredak modula stvara se na temelju net liste, 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.

Page 18: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 19

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 tie Then

Izaberi modul koji završava najveći broj netova ElseIf postoji tie Then

Izaberi modul koji ima najveći broj kontinuiranih netova ElseIf postoji tie Then

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* Until S: = 0End.

Page 19: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 20

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 (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)

Page 20: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 21

Primjer Zadana je net lista sa šest ćelija C1,C2,C3,C4,C5,C6 i sa šest netova:N1=C1,C3,C4,C6N2=C1,C3,C5N3=C1,C2,C5N4=C1,C2,C4,C5N5=C2,C5,C6N6=C3,C6Pretpostavka: 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,N2C4* - -- 0 N1,N4C5 N5 -- -1 N2,N3,N4C6 N5,N6 -- -2 N1

2 C2 N5 -- -1 N3,N4C3 N6 -- -1 N1,N2C5* N5 -- -1 N1,N3,N4C6 N5,N6 -- -2 N1

3 C2* - N3,N4 2 N5C3 N6 N2 0 N3C6 N6 -- -1 N5,N3

4 C3* N6 N2 0 N1C6 N6 N5 0 N1

Page 21: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 22

Algoritam Cluster GrowthKada 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; = 0End.

Page 22: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 23

Primjer za vježbu: Zadana je net lista sa 10 ćelija

(C1,C2, C3,C4,C5,C6,C7,C8,C9,C10)

i 10 netova:

N1=C1,C3,C4,C6 N2=C1,C3,C5

N3=C1,C2,C5 N4=C1,C2,C6,C7

N5=C2,C4,C6 N6=C2,C5,C8,C10

N7=C3,C4,C6,C8 N8=C4,C8,C9,C10

N9=C4,C7,C9,C10 N10=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šaj dobiti š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.

Dimenzije modula:modul širina visinaC1 2 3C2 2 2C3 3 1C4 2 3C5 2 4C6 3 6C7 2 2C8 2 5C9 1 2C10 3 5

Page 23: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 24

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 susjedstvom modula.

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”.

Page 24: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 25

Izgubljeni prostor – dead space

Smanjivanje površine jednako je smanjivanju izgubljebnog prostora.

Postotni udio mrtvog prostora

(A - iAi) / A 100%

izgubljeni (mrtvi) prostor

Page 25: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 26

Definicije:

Izraz E = e1e2e3......e2n-1 pri čemu je ei 1,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.

Page 26: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 27

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:

21H67V45VH3HV

2

1

6 7 4 5 6 7

4 56 7

4 5

3

6 7

4 5

3

2

1

V

H H

2 1 3H

V

6 4

V

7 5

Page 27: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 28

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 normaliziranE2= 12V43HH nije normaliziran

62

3

54

7

1

V

H H

2 1 3H

V

6 4

V

7 5

Slicing Tree (Skewed)

21H67V45VH3HV

V

H H

2 1 HV

6 V7 3

Slicing Tree

4 521H67V45V3HHV

Page 28: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 29

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.

Page 29: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 30

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.

2

primjer :

21H43HV765HHV nije normaliziran21H43H76H5HHV -“-21H43H765HHVV -“-21H43HV76H5HV normalizirani izraz

1

4

3

7

6

5

Page 30: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 31

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.

Page 31: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 32

Primjer:

E= 123VH54HV = P1P2P3C3 P4P5C5 C1=C2=C4=0 su prazni lanciC3=VH C5=HVP1= 1 P2=2 P3=3 P4=5 P5=4

1 i 2 su susjedni operandi3 i 5 -“-3 i V su susjedni operand i operator

Page 32: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 33

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,

V H H V

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.

Page 33: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 34

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 V V ili H H- da su “balloting” svojstva i dalje prisutna

Ako ova dva zahtjeva nisu ispunjena pomak se odbija.

Page 34: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 35

Primjeri pomaka

2

1

543

34V2H5V1H

14

3 25

32V4H5V1H

1

5

423

32V45HV1H

1

4 5

3 2

32V45VH1H

M1

M3

M2

Page 35: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 36

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

ij ijij

W c d 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)

Page 36: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 37

Određivanje površine

w

h

(0,0)

wh = A

w

h

(0,0)

granična krivulja

granična krivulja

Blok kojemu se omjer w/h kontinuirano mijenja (soft)

Blok kojemu omjer w/h može imati nekoliko iznosa

Page 37: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 38

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.

max , , i ,H x y y x y x y max ,x MAX x x

max, , i ,V x x y x y x y max ,y MAX y y

Page 38: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 39

Kombiniranje blokova

1 2

h

w

12V

2

2

1

h

2

1

12H

12V:

12H:

1

w

Page 39: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 40

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 ri i 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.

Page 40: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 41

Određivanje ukupne površine

V

23

izaberi najmanju površinu

1

2

31

H

Page 41: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 42

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

Page 42: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 43

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 Wi hi 1 2 3 2 2 2 3 1 3 4 2 3 5 1 2 6 2 2

Page 43: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 44

Primjer određivanja površine(1)V

H H

1 2 V V

4 5 6

“Slicing tree” je zadan normaliziranom poljskom jednadžbom E = 12H34V56VHV.

Traži se pravokutnik minimalnih dimenzija, koji obuhvaća sve module.

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,256 = 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,4123456 = 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

3

Modul Wi hi 1 2 3 2 2 2 3 1 3 4 2 3 5 1 2 6 2 2

Page 44: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 45

Primjer (1)

2 5 6

13 4

2 5

1 3

5

4

6

5 X 5 9 X 4 dead space =0 dead space =11/36=0,306 ; 30,6%

E = 12H34V56VHV

Page 45: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 46

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ži1. početno rješenje2. 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 temperature2. vrijeme trajanja procesa na toj temperaturi3. za koliki iznos snižavati temperaturu

- perturbacijsku funkciju (kako mijenjati razmještaj modula)- uvjete zaustavljanja algoritma

Page 46: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 47

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čajnoII - 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.

Page 47: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 48

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 je- temperatura došla do nekog niskog iznosa (unaprijed zadanog).

Page 48: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 49

Algoritam Floorplanning Simulated AnnealingE0 = 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) DoBegin

0 lnavgTP

Page 49: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 50

Algoritam Floorplanning SA (1)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 = TUntil (Reject/MT < 0.5) OR ( T ) OR Out og Time;End.

expCost

T

Page 50: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 51

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".

Bi Bj(xi, yi) (xj, yj)

hihj

wi wj

Page 51: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 52

Analitička metoda(1)

Moduli "i" i "j" neće se preklapati ako je ispunjen barem jedan od navedenih uvjeta:

Bi Bj(xi, yi) (xj, yj)

hihj

wi wj

Page 52: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 53

Integer varijable

Pri utvrđivanju preklapanja dvaju blokova dovoljno je provjeriti jedan od navedenih uvjeta; u tu svrhu uvode se integer varijable i koje mogu biti 0 ili 1. Ovim se varijablama forsira jedan od četiri navedena uvjeta.

uvjet koji treba provesti

0 0 (1)

0 1 (2)

1 0 (3)

1 1 (4)

ijx ijy

A jednadžbe (1) do (4) pišu se u obliku:

(5)

1 (6)

1 (7)

2 (8)

i i j ij ij

i i j ij ij

i j j ij ij

i j j ij ij

x w x W x y

y h y H x y

x w x W x y

y h y H x y

Page 53: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 54

Linearno programiranje

To su četiri linearna uvjeta, četiri nepoznate realne varijable (xi,yi,xj,yj) i dvije nepoznate integer varijable (xij,yij).

W i H su maksimalne dimenzije sklopa:

W

H

i jx x W i jy y H ,

Ako broj uz W ili H nije jednak 0 uvjet se odbacuje kao nepotreban.Jednadžbe se mogu modificirati za blokove sa slobodnom orjentacijom(mogućnost rotacije).

Page 54: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 55

Linear programiranje – definicija problema

i za 1i i i ix w W y h Y i n

Pretpostavka : širina površine sklopa je W je zadana.

Primjer 1: svi moduli su rigidni i imaju fiksnu orjentaciju.

Uvjeti (Constraints):1 - moduli se ne smiju preklapati2 - svaki modul se na površini nalazi unutar pravokutnika širine W i visine Y, tj.

Cilj (Objective):Širina sklopa W je konstantna , mogući cilj je smanjenje visine površine sklopa Y.

3 - koordinate modula su pozitivne: 0 0 za 1 i ix , y i n

Page 55: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 56

Primjer 1 – opis problema

Veličina linearnog programa :

2.n konstantnih varijabli, n(n - 1) integer varijabli , and 2n2 linearnih uvjeta.Za veliki broj modula (n) program postaje neprihvatljivo velik.

Page 56: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 57

Primjer 2:Svi su moduli rigidni, a rotacija je dozvoljena.

Za svaki modul i slobodne orjentacije uvodi se integer varijabla zi.zi = 0 - modul i nije rotiran;zi = 1 - modul i jre rotiran za 90°.

Veličina programa:Broj jednadžbi se nije povećao, ali se je povećao broj integer varijabli; ima ih za n više (n- broj modula).

M može bitidefiniran kao: max(W,H) ili (W + H).

Page 57: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 58

Primjer 3

Neki moduli su fleksibilni, mogu mijenjati oblik, ali je površina A i = wi.hi konstantna.

To će dodatno zakomplicirati problem jer je Ai = wi.hi nelinearna relacija.

Kako bi program ostao linearan mora se ova relacija linearizirati.

Wimax and himax su najveća širina i visina bloka Bi.

Linearizacija se provodi tako da se izraz hi=Ai/wi za wimax razvije u Taylorov red i aproksimira s prva dva člana reda:

hi =himin+i(wimax-wi)

himin =Ai/wimax

i=Ai/wimax2

Page 58: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 59

Primjer 3 – fleksibilni blokovi

- B- Bii je fleksibilan ( je fleksibilan (softsoft) a B) a Bjj je rigidan ( je rigidan (hardhard):):

- B- Bii i B i Bjj su fleksibilni ( su fleksibilni (softsoft):):

Page 59: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 60

Kompleksnost

Za problem koji ima n blokova i za najjednostavniji slučaj kada su svi blokovi rigidni imamo:

- 2n kontinuiranih varijabli (xi, yi)

- 2n(n-1) +n integer varijabli (xij, yij, zi)

- 4n2-2n linearnih uvjeta (constraints)

- vrijeme proračuna exp(n).

Sklop ima n = 100 modula (problem srednje veličine); linearni program ima: 200 kontinuiranih varijabli,

990 integer variablI, 20000 linearnih uvjeta.

Možemo lako zaključiti da se ova metoda isplati koristiti samo za manji broj blokova (n=10).

Page 60: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 61

Postepeno dodavanje blokova Successive Augmentation

U slučaju sklopova s velikim brojem blokova radi se podjela na podskupove i svaki podskup se rješava za sebe (problem izbora sljedećeg podskupa).Da bi se smanjio broj blokova, već smještene blokove, zamjenjujemo 1 blokom koji svojom površinom prekriva sve već smještene blokove. Linearno programiranje se primjenjuje na takve podskupoveMiješani integer linear program može se rješiti uz pomoć standardnog matematičkog paketa, na pr. LINDO.

Ydjelomično rješenje

slijedeći podskup

Page 61: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 62

Pravokutna dualizacija Nakon podjele sklopa dobili smo grupu podsklopova i veze između njih; takav sklop možemo prikazati uz pomoć grafa: G=(V,E).

Floorplan se može dobiti i pretvorbom tog grafa u njegov pravokutni dual, koji se sastoji od nepreklapajućih modula koji zadovoljavaju slijedeće uvjete:

1. svaki čvor odgovara pravokutniku Ri 1 i V

2. svaki brid povezuje pravokutnike Ri i Rj, koji su susjedni.

C

ED

A

BD

A

C

B

E

Page 62: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 63

Dual graf

Ovom metodom dobiva se topološki raspored (layout) modula, koji je u skladu s ukupnim topološkim odnosima između blokova i s veličinom i oblikom blokova. Graf G(V,E): V – čvorovi moduli

E – bridovi veze između blokova

A B

D

EC

A

B

CD

E

Page 63: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 64

Triangularni graf Ispravno triangularni graf (properly triangulated graph) je graf kod kojega su sve površine osim vanjske trokuti.

Triangularni graf

A B

D

C

A B

D

EC

B

C

A D E

Page 64: Planiranje prostora i razmještaj - Floorplanning and placement

J.Divković Pukšec, Fizičko projektiranje VLSI sklopova, FER, šk.g. 2008/09. 65

Pravokutni blokovi i and blokovi L-oblika

- mogući oblici:

- L- oblik se može dobiti od pravokutnih oblika:

- dobivanje non-slicing rasporeda


Recommended