Gliederung Kapitel 4 – Platzierung

Slides:



Advertisements
Ähnliche Präsentationen
Anzahl der ausgefüllten und eingesandten Fragebögen: 211
Advertisements

Gruppenwettbewerb. Gruppenwettbewerb Aufgabe G1 (8 Punkte)
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Telefonnummer.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
= = = = 47 = 47 = 48 = =
Sortierverfahren Richard Göbel.
Rechneraufbau & Rechnerstrukturen, Folie 2.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 2.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 2.1.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Mh9S170Nr6 a. x1= –9; x2 = 1 b. x1= –4; x2 = 1 c. x1= 1; x2 = 2 d. leer e. x1= –15; x2 = 4,2 f. x1= –3,53; x2 = 1,28 g. leer h. x1= 0,2; x2 = 2 i. x1=
Internet facts 2008-II Graphiken zu dem Berichtsband AGOF e.V. September 2008.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Bewegte Bezugssysteme
Astronomisch, Physikalische und Mathematische Geodäsie II
Das freie Randwertproblem von Stokes
AC Analyse.
Differentielles Paar UIN rds gm UIN
Bolzmansche Formel Ausgewählte Themen des analogen Schaltungsentwurfs
Maxwell-Boltzmann Ausgewählte Themen des analogen Schaltungsentwurfs
Prof. Dr. Bernhard Wasmayr
Studienverlauf im Ausländerstudium
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Prof. Dr. Bernhard Wasmayr VWL 2. Semester
AWA 2007 Natur und Umwelt Natürlich Leben
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Gebäudeverschneidung 4
20:00.
„Küsse deine Freunde“ – FlexKom-App teilen
Zusatzfolien zu B-Bäumen
In der Schule.
Eine Einführung in die CD-ROM
GBI Genios Wiso wiso bietet Ihnen das umfassendste Angebot deutsch- und englischsprachiger Literatur für die Wirtschafts- und Sozialwissenschaften. Wir.
Dokumentation der Umfrage
für Weihnachten oder als Tischdekoration für das ganze Jahr
Where Europe does business Lück, JDZB | Seite © GfW NRW 252 a.
Wir üben die Malsätzchen
Syntaxanalyse Bottom-Up und LR(0)
Effiziente Algorithmen

… oder wie finde ich den Weg
PROCAM Score Alter (Jahre)
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Geometrische Aufgaben
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Symmetrische Blockchiffren DES – der Data Encryption Standard
Retuschen.ppt Die folgende Schau zeigt die Möglichkeiten, mit PhotoDraw Digitalbilder zu retuschieren. Vergleichen Sie jeweils zwei Bildpaare durch fleissiges.
Primarschule Raron 5. Klasse
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Zahlentheorie und Zahlenspiele Hartmut Menzer, Ingo Althöfer ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO

1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Folie Beispiel für eine Einzelauswertung der Gemeindedaten (fiktive Daten)
1 Mathematical Programming Nichtlineare Programmierung.
Unternehmensbewertung Thomas Hering ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List of Figures Tabellenübersicht.
Folie Einzelauswertung der Gemeindedaten
1.6.3 Test auf Verlustfreiheit (Verbundtreue) (4|10)
Datum:17. Dezember 2014 Thema:IFRS Update zum Jahresende – die Neuerungen im Überblick Referent:Eberhard Grötzner, EMA ® Anlass:12. Arbeitskreis Internationale.
Technische Kommunikation
Einführung in die Volkswirtschaftslehre, Mikroökonomie und Wettbewerbspolitik Lothar Wildmann ISBN: © 2014 Oldenbourg Wissenschaftsverlag.
Sehen, Hören, Schmecken: wenn uns unsere Sinne täuschen
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Institut für Informationssysteme Technische Universität Braunschweig Institut für Informationssysteme Technische Universität Braunschweig Verdrängung von.
Gliederung Kapitel 4 – Platzierung
 Präsentation transkript:

Gliederung Kapitel 4 – Platzierung 4.1 Einführung 4.2 Optimierungsziele 4.2.1 Gewichtete Gesamtverbindungslänge 4.2.2 Maximale Schnittanzahl 4.2.3 Lokale Verdrahtungsdichte 4.2.4 Signalverzögerungen 4.3 Platzierungsalgorithmen 4.3.1 Min-Cut-Platzierung 4.3.2 Min-Cut-Platzierung mit Anschlussfestlegung 4.3.3 Quadratische Platzierung 4.3.4 Kräfteplatzierung mittels ZFT-Position 4.3.5 Simulated Annealing 4.3.6 Weitere Platzierungsalgorithmen 4.4 Aktuelle Platzierungswerkzeuge

Verhaltensentwurf Logischer Entwurf 4.1 Einführung Systemspezifikation Architekturentwurf ENTITY test is port a: in bit; end ENTITY test; Verhaltensentwurf Logischer Entwurf Partitionierung Floorplanning Schaltungsentwurf Layoutsynthese Platzierung Layoutverifikation Verdrahtung Herstellung Kompaktierung Verpackung/Test Chip

4.1 Einführung Die Aufgabe der Platzierung ist die Anordnung der einzelnen Schaltungselemente (z.B. Zellen und Bauelemente) auf der zur Verfügung stehenden Layoutfläche unter Berücksichtigung von Randbedingungen (u.a. Überlappungsfreiheit) und Optimierungszielen (z.B. minimale Verbindungslänge).

4.3 Begriffsbestimmungen a) Schaltungs- beispiel 1 3 2 7 8 4 6 5 5 6 4 8 7 2 3 1 b) Eindimensionale Platzierung (Reihenanordnung) 8 5 4 1 7 6 3 2 d) Platzierung und Verdrahtung im Standardzellenlayout GND Vdd c) Zweireihige Platzierung 6 4 7 2 3 1 8 5

4.3 Begriffsbestimmungen

5 11 8 1 6 10 8 3 6 5 9 12 9 4 3 12 2 2 10 11 7 7 4 1

Globale Platzierung: Zellen werden den Mittelpunkten von Platzierungsbereichen (Tiles, Bins usw.) zugewiesen Detailplatzierung / Feinplatzierung: Zellen werden ohne Überlappungen platziert

Kapitel 4 – Platzierung 4.1 Einführung 4.2 Optimierungsziele 4.2.1 Gewichtete Gesamtverbindungslänge 4.2.2 Maximale Schnittanzahl 4.2.3 Lokale Verdrahtungsdichte 4.2.4 Signalverzögerungen 4.3 Platzierungsalgorithmen 4.3.1 Min-Cut-Platzierung 4.3.2 Min-Cut-Platzierung mit Anschlussfestlegung 4.3.3 Quadratische Platzierung 4.3.4 Kräfteplatzierung mittels ZFT-Position 4.3.5 Simulated Annealing 4.3.6 Weitere Platzierungsalgorithmen 4.4 Aktuelle Platzierungswerkzeuge

Lokale Verdrahtungsdichte 4.2 Optimierungsziele Gesamtverbindungslänge Anzahl der geschnittenen Netze Lokale Verdrahtungsdichte Signalverzögerungen

4.2.1 Optimierungsziel: Gesamtverbindungslänge Abschätzung der Verdrahtungslängen bei Mehrpunktnetzen Halber Umfang des minimal umschließenden Rechtecks (Semi-perimeter method) Kompletter Graph (Complete graph) Minimale Kette (Minimum chain) 4 8 5 5 3 Nach Sait, S. M., Youssef, H.: VLSI Physical Design Automation 6 3 6 4 3 3 Länge halber Netz- umfang = 9 Länge kompletter Graph * 2 / Pinanzahl = 14,5 Kettenlänge = 12

4.2.1 Optimierungsziel: Gesamtverbindungslänge Abschätzung der Verdrahtungslängen bei Mehrpunktnetzen (2) Quelle-Senken- Verbindung (Source to sink connection) Minimaler rektilinearer Spannbaum (Minimum rectilinear spanning tree) Steinerbaum- Abschätzung (Steiner tree approximation) 8 5 3 3 6 Nach Sait, S. M., Youssef, H.: VLSI Physical Design Automation 3 1 3 4 Quelle-Senken- Länge= 15 Spannbaum- Länge = 11 Steinerbaum- Länge = 10

4.2.1 Optimierungsziel: Gewichtete Gesamtverbindungslänge – Beispiel Netze Gewicht N1 = (A, B, D1) w1 = 2 N2 = (C, D2, F1) w1 = 4 N3 = (F2, E) w1 = 1 C A D F B E

4.2.2 Optimierungsziel: Anzahl der geschnittenen Netze – Beispiel x1 x2 x1 x2 C C A A y2 2 y2 D F D F y1 1 y1 B B E E 0;0 1 2 1 2

4.2.2 Optimierungsziel: Anzahl der geschnittenen Netze – Beispiel x1 x2 x1 x2 C C A A y2 2 y2 D F D F y1 1 y1 B B E E 0;0 1 2 1 2

4.2.3 Optimierungsziel: Lokale Verdrahtungsdichte

4.2.3 Optimierungsziel: Lokale Verdrahtungsdichte – Beispiel P(e1) = 1 P(e3) = 1 C A P(e4) = 0 D P(e9) = 2 F P(e12) = 0 B E P(e6) = 1 P(e8) = 2

4.2.3 Optimierungsziel: Lokale Verdrahtungsdichte – Beispiel P(e1) = 1 P(e3) = 1 C A P(e4) = 0 D P(e9) = 2 F P(e12) = 0 B E P(e6) = 1 P(e8) = 2

Kapitel 4 – Platzierung 4.1 Einführung 4.2 Optimierungsziele 4.2.1 Gewichtete Gesamtverbindungslänge 4.2.2 Maximale Schnittanzahl 4.2.3 Lokale Verdrahtungsdichte 4.2.4 Signalverzögerungen 4.3 Platzierungsalgorithmen 4.3.1 Min-Cut-Platzierung 4.3.2 Min-Cut-Platzierung mit Anschlussfestlegung 4.3.3 Quadratische Platzierung 4.3.4 Kräfteplatzierung mittels ZFT-Position 4.3.5 Simulated Annealing 4.3.6 Weitere Platzierungsalgorithmen 4.4 Aktuelle Platzierungswerkzeuge

4.3 Platzierungsalgorithmen Partitionierende Algorithmen (rekursive Algorithmen): Optimierung der Platzierungsanordnung mittels rekursiver und dabei immer feinerer Partitionierung der Netzliste und des Platziergebiets Nutzung von Graphenpartitionierern Beispiel: Min-Cut-Platzierung Analytische Vorgehensweisen: Nutzung von mathematischen Methoden (z.B. lineare Gleichungssysteme) zur Abbildung und Optimierung des Platzierungsproblems Beispiel: Quadratische Platzierung Stochastische Algorithmen: Mit Hilfe von stochastischen Methoden wird das Minimum einer beliebigen Kostenfunktion gesucht Einbeziehung von Zufallsentscheidungen, womit bei gleicher Aufgabenstellung unterschiedliche Lösungen erzeugt werden Beispiel: Simulated Annealing

4.3 Platzierungsalgorithmen Partitionierend Analytisch Stochastisch Min-Cut-Platzierung Quadratische Platzierung Platzierung mit SA

4.3.1 Min-Cut-Platzierung Platzierungsfläche sequentiell mit Schnittlinien durchzogen, bis die Schnittflächen so klein sind, dass sie nur noch wenige/eine Zelle einschließen Bei jedem Schnitt werden die Zellen z.B. so auf die beiden entstehenden Teilflächen aufgeteilt, dass am Ende die Anzahl der die Schnittlinien cr kreuzenden Netze P(cr ) minimiert ist Algorithmen zur Minimierung von P(cr ) sind oft der Kernighan-Lin-Algorithmus (KL-Algorithmus) sowie der Fiduccia-Mattheyses-Algorithmus (FM-Algorithmus)

4.3.1 Min-Cut-Platzierung Quadratur-Platzierung (Quadrature placement) Halbierungs- Platzierung (Bisection placement) Reihen-/ Halbierungs- Platzierung (Slice/bisection placement) 1 3a 3a 2 2a 3b Nach Sait, S. M., Youssef, H.: VLSI Physical Design Automation 3 1 4 1 5 3c 3b 2b 6 3d 7 9a 8 9b 4a 2 4b 6a 5a 6b 4 6c 5b 6d 10a 10b 10c 10d

4.3.1 Min-Cut-Platzierung Min-Cut-Algorithmus (Quadratur Platzierung) Aufteilung der Layoutfläche in zwei Teilflächen mit senkrechter oder horizontaler Schnittrichtung. Anwendung eines geeigneten Algorithmus, z.B. des KL- oder FM-Algorithmus, zur optimierten Verteilung der Zellen auf die beiden Teilflächen. Aufteilung in neue Teilflächen und jeweils Initialzuordnung der Zellen auf diese. Alternierender Wechsel zwischen senkrechter und horizontaler Schnittrichtung. ENDE, falls jede Teilfläche genau eine Zelle enthält, sonst weiter mit Schritt 2.

4.3.1 Min-Cut-Platzierung: Beispiel Gegeben: 1 4 2 5 6 3 Gesucht: 4 x 2 Platzierung mit minimaler Netzlänge

4.3.1 Min-Cut-Platzierung: Beispiel 2 3 4 5 6 c1 Vertikaler Initialschnitt c1: L={1,2,3}, R={4,5,6} 1 4 1 4 5 2 5 2 3 6 3 6 z.B. KL-Algorithmus c1 c1

1 4 5 2 3 6 c1 Horizontaler Schnitt c2L: T={1,4}, B={2,0} Horizontaler Schnitt c2R: T={3,5}, B={6,0} 1 4 3 5 c2L c2R 2 6 1 4 5 3 1 4 5 3 2 6 c3L c3R 2 6

4.3.1 Min-Cut-Platzierung Vorteile: Nachteile: Sehr schnell Kostenfunktion kann beliebig erweitert werden, d.h. auch für Timing-driven Placement anwendbar Von Natur aus hierarchisch, daher für große Schaltungen nutzbar Nachteile: Viele Verschiebungen ohne Auswirkungen Oft Zufallsfaktoren eingeschlossen, daher nicht immer deterministisch Unterhalb bestimmter Partitionsgröße andere Ansatz zur Platzierung sinnvoll Nur sequentielle Optimierung, d.h. die Optimierung bezieht sich immer nur auf die Zuordnung zur jeweils betrachteten Schnittlinie

4.3.2 Min-Cut-Platzierung mit Anschlussfestlegung 1 1 4 1 4 R2 Mit Anschlussfestlegung (Terminal Propagation) R1 p 2 4 2 2 4 4 3 1 1 3 1 3 R2

4.3.2 Min-Cut-Platzierung mit Anschlussfestlegung: Beispiel 1 2 4 3

4.3.2 Min-Cut-Platzierung mit Anschlussfestlegung: Beispiel 1 2 4 3 2 4 1 3 L R

4.3.2 Min-Cut-Platzierung mit Anschlussfestlegung: Beispiel 1 2 4 3 2 4 1 3 L R L1 x 2 2 4 4 1 3 3 1 L2 R

4.3.2 Min-Cut-Platzierung mit Anschlussfestlegung: Beispiel x R1 p 2 4 2 2 4 4 3 1 1 3 1 3 R2

4.3.2 Min-Cut-Platzierung mit Anschlussfestlegung: Beispiel x R1 p 2 4 2 2 4 4 3 1 1 3 1 3 R2 R1 2 3 2 2 3 4 3 1 1 4 1 4 R2

4.3.2 Min-Cut-Platzierung mit Anschlussfestlegung: Beispiel

4.3.3 Quadratische Platzierung Euklidische Verbindungslänge geht quadratisch in Kostenfunktion ein: Netze dazu in Zweipunkt-Verbindungen zerlegt, Kostenfunktion ist die Summe der gewichteten quadratischen Abstände, Minimierung dieser Summe Analogie: Federmodell jede quadratische Zweipunkt-Länge entspricht Energie einer Feder zwischen beiden Punkten (Energie einer Feder ist proportional zum Quadrat ihrer Auslenkung) quadratische Kostenfunktion verkörpert Gesamtenergie des Federsystems; deren Ableitung ist die Gesamtkraft des Systems System sucht Zustand minimaler Energie, also minimale Summe der Abstandsquadrate damit Zellen im Kräftegleichgewicht hinsichtlich der die Verdrahtung repräsentierenden Kräfte

4.3.3 Quadratische Platzierung Euklidische Verbindungslänge geht quadratisch in Kostenfunktion ein: Vorgehensweise: Vektor-/Matrixschreibweise: mit XT und YT Vektoren der Dimension n der x- bzw. y-Koordinaten der n Zellen, C Verbindungsmatrix, Kx und Ky Koordinatenvektoren der nicht verschiebbaren Zellen/Außenanschlüsse sowie Konstante k Globales Minimum und damit platzierungsoptimale x- und y-Koordinaten der Zellen lassen sich durch partielle Ableitung von L(P) bestimmen: Ergebnis: viele Zellenüberlappungen

4.3.3 Quadratische Platzierung Quadratische Platzierung lässt sich weiter unterteilen, je nachdem, wie die Zellenüberlappungen beseitigt/vermieden werden Kraftbasierte quadratische Platzierung Quadratische Platzierung mit Schwerpunktsnebenbedingungen Überlappungsfreiheit: zusätzliche Kräfte Überlappungsfreiheit: Verfeinerung von Schwerpunktsnebenbedingungen (führt zu „Quadratic Programming“) und damit rekursive Zerteilung in Platziergebiete

4.3.3 Quadratische Platzierung Vorteile: Schnelle analytische Lösung Auch für große Problemgrößen geeignet Nachteile: Pads notwendig (liefert triviale Lösung ohne Pads) Hierarchischer Ansatz schwierig zu realisieren

4.3.4 Kräfteplatzierung mittels ZFT-Position Bei der Kräfteplatzierung werden die zu platzierenden Zellen analog einem mechanischen System aus mit Federn verbundenen Körpern betrachtet. Dabei üben miteinander verbundenen Körper (Zellen) eine Anziehungskraft zueinander aus, wobei diese Kraft direkt proportional zur Entfernung zwischen den Körpern ist. Ergebnis: Kräftegleichgewicht bzw. energieminimaler Zustand

4.3.4 Kräfteplatzierung mittels ZFT-Position Kräfteplatzierung und quadratische Platzierung Energie einer Feder ist proportional zum Quadrat ihrer Auslenkung Ermittlung der energieminimalen Positionen von Zellen, die mit Federn verbunden sind, ist daher identisch zur Minimierung der Summe der Quadrate der euklidischen Abstände (quadratische Platzierung) Unterscheidung in der Zellenbetrachtung: Während bei der quadratischen Platzierung die Zellenplatzierungen durch gleichzeitige Berücksichtigung aller Zellen ein einem aus der quadratischen Kostenfunktion abgeleiteten Gleichungssystem ermittelt werden (Überlappungen!), erfolgt die Zellenplatzierung bei der Kräfteplatzierung mittels ZFT-Position durch sequentielle Zellenverschiebungen

4.3.4 Kräfteplatzierung mittels ZFT-Position Angenommen, eine Zelle a ist mit einer Zelle b verbunden. Die Anziehungskraft zwischen beiden Zellen ergibt sich aus dem Produkt von Wichtung und Länge der Verbindung (bzw. , da parallel ist). Analog gilt für eine Zelle i, die mit mehreren Zellen 1 … j verbunden ist wobei wij die Wichtung der Verbindung und dij deren Länge sind.

4.3.4 Kräfteplatzierung mittels ZFT-Position Zero-Force-Target (ZFT)-Position einer Zelle i 1 i 4 2 3 ZFT-Position

4.3.4 Kräfteplatzierung mittels ZFT-Position Anwendung bei der Platzierung: Für jede Zelle werden die auf sie wirkenden Kräfte berechnet, um diese Zelle i dann in ihrer jeweiligen ZFT-Position (xi0, yi0) zu platzieren. Diese lässt sich ermitteln, indem die in x- und in y-Richtung wirkenden Kräfte zu Null gesetzt werden: Die Umstellung dieser Gleichungen nach xi0 und yi0 liefert Berechnung der ZFT-Position einer Zelle i, welche mit den Zellen 1 … j verbunden ist

4.3.4 Kräfteplatzierung mittels ZFT-Position: Beispiel (ZFT-Position) In2 In1 In1 2 In2 1 Out 1 In3 In3 Out 1 2

4.3.4 Kräfteplatzierung mittels ZFT-Position: Beispiel (ZFT-Position)

4.3.4 Kräfteplatzierung mittels ZFT-Position: Beispiel (ZFT-Position) In2 1 In1 2 1 In3 Out 1 2

4.3.4 Kräfteplatzierung mittels ZFT-Position Algorithmus zur Kräfteplatzierung mittels ZFT-Position Ermitteln einer willkürlichen Anfangsplatzierung Auswahl einer Zelle (z.B. diejenige mit maximalem Verbindungsgrad) und Berechnen ihrer ZFT-Position wenn ZFT-Position frei, dann Verschiebung zu dieser wenn ZFT-Position belegt, Anwendung einer der nachfolgenden Belegungsoptionen Weiter mit Schritt 2 und neuer Zelle, bis Abbruchkriterium erreicht ist.

4.3.4 Kräfteplatzierung mittels ZFT-Position Optionen bei bereits erfolgter Belegung einer ZFT-Position (p: zu verschiebende Zelle, q: Zelle in der ZFT-Position) Verschieben von p zu einer freien Zellenposition möglichst nahe zu q. Berechnen der Kostenveränderung bei Austausch von p mit q. Sollten sich die Gesamtkosten, wie z.B. die gewichtete Gesamtverbindungslänge L(P) verringern, werden p und q in ihren Positionen vertauscht.

4.3.4 Kräfteplatzierung mittels ZFT-Position: Beispiel Gegeben: Netze Gewicht N1 = (1, 3) w1 = 2 N2 = (2, 3) w2 = 1 1 2 3 1 2

4.3.4 Kräfteplatzierung mittels ZFT-Position: Beispiel Gegeben: Netze Gewicht N1 = (1, 3) w1 = 2 N2 = (2, 3) w2 = 1 1 2 3 1 2 Zelle p ZFT-Position von Zelle p Zelle q L(P) vor Vertauschung L(P) /Anordnung nach Vertauschung 3 1 L(P) = 5 L(P) = 5 3 2 1 Damit keine Vertauschung von 3 und 1.

4.3.4 Kräfteplatzierung mittels ZFT-Position: Beispiel Gegeben: Netze Gewicht N1 = (1, 3) w1 = 2 N2 = (2, 3) w2 = 1 1 2 3 1 2 Zelle p ZFT-Position von Zelle p Zelle q L(P) vor Vertauschung L(P) /Anordnung nach Vertauschung 3 1 L(P) = 5 L(P) = 5 3 2 1 Damit keine Vertauschung von 3 und 1. 1 3 2 2 3 L(P) = 5 L(P) = 3 Vertauschung von 2 und 3.

4.3.4 Kräfteplatzierung mittels ZFT-Position Optionen bei bereits erfolgter Belegung einer ZFT-Position (p: zu verschiebende Zelle, q: Zelle in der ZFT-Position) Verschieben von p zu einer Zellenposition möglichst nahe zu q. Berechnen der Kostenveränderung bei Austausch von p mit q. Sollten sich die Gesamtkosten, wie z.B. die gewichtete Gesamtverbindungslänge L(P) verringern, werden p und q in ihren Positionen vertauscht. „Chain move“: Die Zelle p wird auf die belegte Position verschoben und die Zelle q auf die nächstliegende Position bewegt. Sollte diese von einer Zelle r bereits belegt sein, so wird r auf die zu ihr nächstliegende Position verschoben. Dies wird solange fortgeführt, bis eine freie Position gefunden ist. „Ripple move“: Die Zelle p wird auf die belegte Position verschoben und eine neue ZFT-Position für q berechnet. Diese Prozedur (ripple: „zurecht kämmen“) führt man solange fort, bis alle Zellen platziert sind.

4.3.4 Kräfteplatzierung mittels ZFT-Position Vorteile: Einfach zu implementieren Gut geeignet zur Detailplatzierung Nachteile: Nicht für große Problemgrößen geeignet (da im Gegensatz zur quadratischen Platzierung immer nur eine Zelle betrachtet wird) Hierarchischer Ansatz schwierig zu realisieren

4.3.5 Simulated Annealing Analogie zum Abkühlungsprozess von metallischen Schmelzen (energieminimales Atomgitter) Modifikation einer Anfangsplatzierung durch Tausch von zufällig ausgewählten Zellen Wenn Kosten verbessert werden, wird Tausch ausgeführt Bei keiner Kostenverbesserung wird Tausch mit temperaturabhängiger (d.h. abnehmender) Wahrscheinlichkeit ausgeführt Kosten Zeit

4.3.5 Simulated Annealing

4.3.5 Simulated Annealing Vorteile: Nachteil: Kann globales Optimum finden (bei „genügend“ Zeit) Kann mehrere Optimierungsziele berücksichtigen (Wichtungsfaktoren) Gut geeignet zur Detailplatzierung Nachteil: Sehr langsame Lösungskonvergenz

4.3.6 Weitere Platzierungsalgorithmen Zuordnung zu Einbauplätzen (z.B. bei Gate-Arrays) Neuronale Netzwerke Evolutionäre Algorithmen Timing-driven Placement / Performance-driven Placement

4.3.6 Weitere Platzierungsalgorithmen: Zuordnung zu Einbauplätzen K. M. Hall stellte 1970 eine elegante Lösung für die quadratische Platzierung ohne Pads und damit auch für das Zuweisen von Zellen auf Einbauplätzen in Gate-Arrays vor

4.3.6 Zuordnung zu Einbauplätzen: Beispiel 1 2 3 4 5 6

4.3.6 Zuordnung zu Einbauplätzen: Beispiel 1 2 3 4 5 6

4.3.6 Zuordnung zu Einbauplätzen: Beispiel 1 2 3 4 5 6

4.3.6 Zuordnung zu Einbauplätzen: Beispiel y 1 2 1 2 4 1 4 3 x -1 1 5 5 6 3 6 -1

4.3.6 Weitere Platzierungsalgorithmen: Neuronale Netzwerke x1 w2 x2 ∑ NET OUT = F(NET) x3 w3 : wn xn F Gewichtete Summe Nach Sait, S. M., Youssef, H.: VLSI Physical Design Automation Prinzipieller Aufbau eines künstlichen Neurons

4.3.6 Weitere Platzierungsalgorithmen: Neuronale Netzwerke OUT1 x1 OUT2 x2 OUT3 x3

Kapitel 4 – Platzierung 4.1 Einführung 4.2 Optimierungsziele 4.2.1 Gewichtete Gesamtverbindungslänge 4.2.2 Maximale Schnittanzahl 4.2.3 Lokale Verdrahtungsdichte 4.2.4 Signalverzögerungen 4.3 Platzierungsalgorithmen 4.3.1 Min-Cut-Platzierung 4.3.2 Min-Cut-Platzierung mit Anschlussfestlegung 4.3.3 Quadratische Platzierung 4.3.4 Kräfteplatzierung mittels ZFT-Position 4.3.5 Simulated Annealing 4.3.6 Weitere Platzierungsalgorithmen 4.4 Aktuelle Platzierungswerkzeuge

4.4 Aktuelle Platzierungswerkzeuge Partitionierend Analytisch Stochastisch Min-Cut-Platzierung Quadratische Platzierung Platzierung mit SA Kraftbasierte quadratische Platzierung Quadratische Platzierung mit Schwerpunkts- nebenbedingungen

4.4 Aktuelle Platzierungswerkzeuge Partitionierend Analytisch Stochastisch Min-Cut-Platzierung Capo UCLA, University of Michigan, open source Globaler Platzierungsalgorithmus, der auf rekursivem Min-Cut-Bisection-Schnittmodell unter Nutzung des Fiduccia-Mattheyses (FM) –Partionierungsalgorithmus beruht. Detailplatzierung mittels SA. Dragon Northwestern University, UCLA Min-Cut-Platzierer mit Congestion-Minimization (Verdrahtungsoptimierung)

4.4 Aktuelle Platzierungswerkzeuge Partitionierend Analytisch Stochastisch Nicht-lineare Platzierung Quadratische Platzierung Kostenfunktion ist nicht-linear, z.B. durch Modellierung der Netzlänge mit einer Log-Sum-Exponential-Funktion Nicht-lineare Platzierung Die Kostenfunktion ist nicht-linear (z.B. durch Modellierung der Netzlänge mit einer Log-Sum-Exponential Funktion). Problem: die nicht-lineare Minimierung ist relativ komplex und benötigt erhebliche Rechenzeit. Deshalb wird oft ein Multi-Level Ansatz benutzt.

4.4 Aktuelle Platzierungswerkzeuge Partitionierend Analytisch Stochastisch Nicht-lineare Platzierung Quadratische Platzierung APlace UCSD Netzlänge (Kostenfunktion) wird mit einer Log-Sum-Exponential-Funktion ausgedrückt, Modulüberlappung mit einer „Bell-shaped“-Funktion modelliert. mPL UCLA Netzlänge (Kostenfunktion) wird mit einer Log-Sum-Exponential-Funktion ausgedrückt, Modulüberlappung mit elektrostatischem Potential modelliert. Nicht-lineare Platzierung Die Kostenfunktion ist nicht-linear (z.B. durch Modellierung der Netzlänge mit einer Log-Sum-Exponential Funktion). Problem: die nicht-lineare Minimierung ist relativ komplex und benötigt erhebliche Rechenzeit. Deshalb wird oft ein Multi-Level Ansatz benutzt.

4.4 Aktuelle Platzierungswerkzeuge Partitionierend Analytisch Stochastisch Quadratische Platzierung Kraftbasierte quadratische Platzierung Kraftwerk TU München FAR, mFAR UCSB FastPlace Iowa State University

4.4 Aktuelle Platzierungswerkzeuge Partitionierend Analytisch Stochastisch Quadratische Platzierung Quadratische Platzierung mit Schwerpunktsnebenbedingungen Gordian TU München, Module werden nach ihrer Lage den Platziergebieten zugeteilt BonnPlace Universität Bonn, Modulzuordnung zu Platziergebieten mittels „Transportation Algorithm“, Entkopplung durch „Terminal Propagation“ (damit parallelisierbar) NTUplace National Taiwan University, mittels Graphenpartitionierer wird Netzliste zerschnitten und Module Platziergebieten zugeordnet NTU:

4.4 Aktuelle Platzierungswerkzeuge Partitionierend Analytisch Stochastisch Platzierung mit SA TimberWolf University of Seattle Kommerzielles Platzierungspaket, in den 80er Jahren vorgestellt Ursprünglich Standardzellen, aktuelle Versionen schließen andere Platzierungsaufgaben (z.B. Makrozellen) mit ein

Zusammenfassung Kapitel 4 – Platzierung 4.1 Einführung 4.2 Optimierungsziele 4.2.1 Gewichtete Gesamtverbindungslänge 4.2.2 Maximale Schnittanzahl 4.2.3 Lokale Verdrahtungsdichte 4.2.4 Signalverzögerungen 4.3 Platzierungsalgorithmen 4.3.1 Min-Cut-Platzierung 4.3.2 Min-Cut-Platzierung mit Anschlussfestlegung 4.3.3 Quadratische Platzierung 4.3.4 Kräfteplatzierung mittels ZFT-Position 4.3.5 Simulated Annealing 4.3.6 Weitere Platzierungsalgorithmen 4.4 Aktuelle Platzierungswerkzeuge