eda-marw-placement-02

Werbung
technische universität
dortmund
fakultät für informatik
informatik 12
Platzierung
- Algorithmen von Breuer & Lauther;
SA & GA-Verfahren Peter Marwedel
Universität Dortmund, Informatik 12
2007/06/27
TU Dortmund
Grundidee von Mincut-Algorithmen
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 2-
TU Dortmund
Beispiel für das Verfahren nach Breuer
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 3-
TU Dortmund
Algorithmus von Breuer
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 4-
TU Dortmund
Teilprobleme
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 5-
TU Dortmund
Min-Cut-Verfahren für beliebige Zellen
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 6-
TU Dortmund
Darstellung von n Flächen
neben
Beziehung ℓ(ey1)= ℓ(ey2)) hier per Konstruktion; kann später entfallen.
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 7-
TU Dortmund
Flächenberechung mittels Polargraphen
Ziel der Verwendung von Polargraphen ist die rasche
Berechung der Abmessungen des umgebenden Rechtecks:
x
ℓ(ex1)
ℓ(ex3)
ℓ(ey3)
ℓ(ey1)
ℓ(ey4)
ℓ(ey2)
ℓ(ex2)
ℓ(ex4)
ℓ(ey1)
ℓ(ey3)
ℓ(ex1)
ℓ(ex3)
ℓ(ex2)
ℓ(ex4)
ℓ(ey2)
ℓ(ey4)
y=max((ℓ(ey1)+ ℓ(ey2)), Im Lauf des Verfahrens
möglicherweise entstehende
(ℓ(ey3)+ ℓ(ey4)))
x= max(ℓ(ex1),ℓ(ex2))+
max(ℓ(ex3),ℓ(ex4))
Leerflächen
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 8-
TU Dortmund
Algorithmus von Lauther (1)
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 9-
TU Dortmund
Algorithmus von Lauther (2)
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 10 -
TU Dortmund
Algorithmus von Lauther (3)
ℓ(ex1)
ℓ(ey3)
ℓ(ey1)
ℓ(ey1)
ℓ(ex1)
ℓ(ey3)
ℓ(ex3)
ℓ(ex2)
ℓ(ey2)
ℓ(ex
2)
ℓ(ex1)
ℓ(ex
ℓ(ey2)
3)
ℓ(ex3)
ℓ(ey3)
ℓ(ey1)
ℓ(ey4)
ℓ(ey2)
ℓ(ex2)
technische universität
dortmund
ℓ(ey1)
ℓ(ex1)
ℓ(ex3)
ℓ(ex2)
ℓ(ex4)
ℓ(ey2)
ℓ(ex4)
fakultät für
informatik
ℓ(ey3)
ℓ(ey4)
 p. marwedel,
informatik 12, 2008
- 11 -
TU Dortmund
Algorithmus von Lauther (4)
ℓ(ex1)
ℓ(ey
ℓ(ex3)
ℓ(ey
1)
ℓ(ey2)
3)
ℓ(ey4)
ℓ(ex
2)
ℓ(ex
4)
ℓ(ey1)
ℓ(ey3)
ℓ(ex1)
ℓ(ex3)
ℓ(ex2)
ℓ(ex4)
ℓ(ey2)
ℓ(ey4)
Nach mehrfachem Schneiden:
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 12 -
TU Dortmund
Einschränkung auf Slicing trees
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 13 -
TU Dortmund
Pin Wheels
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 14 -
TU Dortmund
Orientierung (1)
Die Zellen
müssen jetzt die
richtigen
Längen-/Breitenverhältnisse
annehmen;
anschließend
Orientierung ….
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 15 -
TU Dortmund
Orientierung (2)
… die längste Seite der Zellen wird parallel zur längsten Seite
der ihr zugeteilten Teilfläche gelegt.  Leerflächen:
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 16 -
TU Dortmund
Nutzung der Polargraphen
ℓ(ex1)
ℓ(ex3)
ℓ(ey3)
ℓ(ey1)
ℓ(ey4)
ℓ(ey2)
ℓ(ex2)
=max((ℓ(ey1)+ ℓ(ey2)),
(ℓ(ey3)+ ℓ(ey4)))
technische universität
dortmund
ℓ(ex4)
ℓ(ey1)
ℓ(ey3)
ℓ(ex1)
ℓ(ex3)
ℓ(ex2)
ℓ(ex4)
ℓ(ey2)
ℓ(ey4)
Im Lauf des Verfahrens
möglicherweise entstehende
Leerflächen
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 17 -
TU Dortmund
Verbesserungen: Rotation
*: Gedrehte Zellen; dadurch horizontale Verkürzung.
Zusätzlich E/A-Zellen eingezeichnet.
Flächeneinsparung wegen vorheriger Orientierung meist gering.
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 18 -
TU Dortmund
Verbesserungen: Squeezing (1)
Ausgangssituation
kritischer Weg
Flächenaufteilung
b) FlŠchenaufteilung
a) Polargraph
a) zeigt einen kritischen Pfad durch einen Polargraphen.
Dieser entsteht durch eine Schnittlinie in der
Flächenaufteilung (siehe b)).
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 19 -
TU Dortmund
Verbesserungen: Squeezing (2)
Die Schnittlinie ist für das weitere Verfahren unerheblich,
die Zellen können verschoben werden.
Im Polargraphen kann die resultierende neue Länge
einfach durch Einführung einer Kante der Länge 0
bestimmt werden:
ℓ=0
l=0
b) FlŠchenaufteilung
Flächenaufteilung
a) Polargraph
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 20 -
TU Dortmund
Berücksichtigung von Netzanschlüssen
außerhalb der gegenwärtigen Fläche (1)
Grundproblem der bislang vorgestellten fortgesetzten Bipartitionierung:
Netzanschlüsse außerhalb der zu teilenden Fläche nicht berücksichtigt:
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 21 -
TU Dortmund
Berücksichtigung von Netzanschlüssen
außerhalb der gegenwärtigen Fläche (2)
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 22 -
TU Dortmund
Quadripartitionierung (1)
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 23 -
TU Dortmund
Quadripartitionierung (2)
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 24 -
TU Dortmund
Quadripartitionierung (3)
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 25 -
TU Dortmund
Simulated Annealing
 General method for solving combinatorial
optimization problems.
 Based the model of slowly cooling crystal liquids.
 Some configuration is subject to changes.
 Special property of Simulated annealing:
Changes leading to a poorer configuration (with
respect to some cost function) are accepted with
a certain probability.
 This probability is controlled by a temperature
parameter: the probability is smaller for smaller
temperatures.
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 26 -
TU Dortmund
Simulated Annealing Algorithm
procedure SimulatedAnnealing;
var i, T: integer;
begin
i := 0; T := MaxT;
configuration:= <some initial configuration>;
while not terminate(i, T) do
begin
while InnerLoop do
begin NewConfig := variation(configuration);
delta := evaluation(NewConfig,configuration);
if delta < 0
then configuration := NewConfig;
else if SmallEnough(delta, T, random(0,1))
then configuration := Newconfiguration;
end;
T:= NewT(i,T); i:=i+1;
end; end;
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 27 -
TU Dortmund
Explanation
 Initially, some random initial configuration is created.
 Current temperature is set to a large value.
 Outer loop:
• Temperature is reduced for each iteration
• Terminated if (temperature  lower limit) or
(number of iterations  upper limit).
 Inner loop: For each iteration:
• New configuration generated from current configuration
• Accepted if (new cost  cost of current configuration)
• Accepted with temperature-dependent probability if
(cost of new config. > cost of current configuration).
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 28 -
TU Dortmund
Behavior for actual functions
130 steps
200 steps
[people.equars.com/~marco/poli/phd/node57.html]
http://foghorn.cadlab.lafayette.edu/cadapplets/fp/fpIntro.html
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 29 -
TU Dortmund
TimberWolf
Anwendung von simulated annealing zur Platzierung und
Verdrahtung.
 TimberWolf 3.2: 2 Methoden zur Erzeugung neuen
Konfigurationen
1. Zufällige Auswahl/zufällige Platzierung einer Zelle
2. Zufällige Vertauschung zweier Zellen
Entfernung größer bei hohen Temperaturen;
Feste Zahl von Iterationen der inneren Schleife.
 Heute (2008) verfügbar:
• TimberWolf 6.2 (public domain:
opencircuitdesign.com/magic/download.html)
• Kommerziell von itools (www.internetcad.com)
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 30 -
TU Dortmund
Genetische Algorithmen
 Genetische Algorithmen sind eine allgemeine Technik zur
Lösung von kombinatorischen Optimierungsproblemen.
 Beginn mit einer Menge zulässiger Lösungen. Jede
Lösung nennt man in diesem Zusammenhang ein
Individuum.
 Die Menge der aktuellen Lösungen heißt Population .
 Jedes Individuum wird als String von Symbolen
dargestellt. Die Symbole heißen Gene und der String heißt
Chromosom.
 Alle Individuen einer Population werden anhand einer
Fitness-Funktion beurteilt.
 Paare von leistungsfähigen Individuen werden als Eltern
der nächsten Generation von Individuen ausgewählt.
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 31 -
TU Dortmund
Genetische Operatoren
Chromosomen der Kinder werden mittels dreier
genetischer Operatoren aus den Chromosomen der Eltern
abgeleitet. Diese sind:
 Die Kreuzung (engl. cross-over): Aus den
Chromosomen der Eltern wird jeweils ein Teil
übernommen.
 Die Mutation: Im Chromosom des Kindes wird
zufallsgesteuert ein Gen geändert.
 Die Selektion: Mittels einer Funktion wird aus den
Kindern und der Elterngeneration die neue Generation
ausgewählt.
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 32 -
TU Dortmund
Anwendung auf Platzierungsprobleme,
Eigenschaften
Jedes einzelne Symbol repräsentiert i.d.R. die Platzierung
einer Zelle (Zellname und Koordinaten).
Vorteile:
 in einer Population stets eine Menge guter Lösungen der
Optimierungsaufgabe verfügbar ist. Es muss mit einer
gewissen Wahrscheinlichkeit stets auch eine weniger gute
Lösung akzeptiert werden. Beim SA-Verfahren ist dies dann
die einzige gespeicherte Lösung. Bei genetischen
Algorithmen bleiben weitere Lösungen erhalten.
 aus guten Lösungen können mittels komplexer Operatoren
noch bessere Lösungen generiert werden. Genetische
Algorithmen bilden daher eine viel versprechende
Optimierungstechnik.
Benötigen mehr Speicherplatz als SA-Verfahren.
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 33 -
TU Dortmund
Chip-Planning
 Bisherige Verfahren: Längen/Breitenverhältnisse der Zellen fest.
 Bei komplexen Zellen: i.d.R. eine
Vielzahl von Alternativen. Günstig: Wahl
einer Alternative anhand der Umgebung
im Layout.
Chip-Planning- oder floor planning
Algorithmen
Beispielsweise Abkehr von konstant
breiten Kanälen
 Erheblich kompaktere Layouts (bis 50% Einsparung).
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 34 -
TU Dortmund
Zusammenfassung
 Min-cut Algorithmus von Breuer
 Min-cut Algorithmus von Lauther
 Erweiterungen
• Netzanschlüsse außerhalb des Schnittbereichs
• Quadripartitionierung
 Simulated Annealing
 Genetische Algorithmen (kurz)
 Floor planning (kurz)
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2008
- 35 -
Herunterladen
Explore flashcards