Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung1 Gliederung Kapitel 4 – Platzierung.

Ähnliche Präsentationen


Präsentation zum Thema: "Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung1 Gliederung Kapitel 4 – Platzierung."—  Präsentation transkript:

1 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung1 Gliederung Kapitel 4 – Platzierung 4.1Einführung 4.2Optimierungsziele Gewichtete Gesamtverbindungslänge Maximale Schnittanzahl Lokale Verdrahtungsdichte Signalverzögerungen 4.3Platzierungsalgorithmen Min-Cut-Platzierung Min-Cut-Platzierung mit Anschlussfestlegung Quadratische Platzierung Kräfteplatzierung mittels ZFT-Position Simulated Annealing Weitere Platzierungsalgorithmen 4.4Aktuelle Platzierungswerkzeuge

2 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung2 4.1Einführung Verhaltensentwurf Logischer Entwurf Layoutsynthese Layoutverifikation Chip Floorplanning Platzierung Verdrahtung Kompaktierung ENTITY test is port a: in bit; end ENTITY test; Partitionierung Herstellung SystemspezifikationArchitekturentwurf Schaltungsentwurf Verpackung/Test

3 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung3 4.1Einfü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 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung4 4.3Begriffsbestimmungen a) Schaltungs- beispiel b) Eindimensionale Platzierung (Reihenanordnung) c) Zweireihige Platzierung

5 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung5 4.3Begriffsbestimmungen

6 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung

7 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung7 Globale Platzierung : Zellen werden den Mittelpunkten vonPlatzierungsbereichen (Tiles, Bins usw.) zugewiesen Detailplatzierung / Feinplatzierung:Zellen werden ohne Überlappungen platziert

8 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung8 Kapitel 4 – Platzierung 4.1Einführung 4.2Optimierungsziele Gewichtete Gesamtverbindungslänge Maximale Schnittanzahl Lokale Verdrahtungsdichte Signalverzögerungen 4.3Platzierungsalgorithmen Min-Cut-Platzierung Min-Cut-Platzierung mit Anschlussfestlegung Quadratische Platzierung Kräfteplatzierung mittels ZFT-Position Simulated Annealing Weitere Platzierungsalgorithmen 4.4Aktuelle Platzierungswerkzeuge

9 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung9 4.2Optimierungsziele GesamtverbindungslängeAnzahl der geschnittenen Netze Lokale Verdrahtungsdichte Signalverzögerungen

10 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung10 Länge halber Netz- umfang = Halber Umfang des minimal umschließenden Rechtecks (Semi-perimeter method) Kompletter Graph (Complete graph) Länge kompletter Graph * 2 / Pinanzahl = 14, Minimale Kette (Minimum chain) Kettenlänge = Optimierungsziel: Gesamtverbindungslänge Abschätzung der Verdrahtungslängen bei Mehrpunktnetzen Nach Sait, S. M., Youssef, H.: VLSI Physical Design Automation

11 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung11 Quelle-Senken- Verbindung (Source to sink connection) Minimaler rektilinearer Spannbaum (Minimum rectilinear spanning tree) Steinerbaum- Abschätzung (Steiner tree approximation) Quelle-Senken- Länge= Spannbaum- Länge = Steinerbaum- Länge = Nach Sait, S. M., Youssef, H.: VLSI Physical Design Automation 4.2.1Optimierungsziel: Gesamtverbindungslänge Abschätzung der Verdrahtungslängen bei Mehrpunktnetzen (2)

12 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung12 NetzeGewicht N 1 = (A, B, D 1 )w 1 = 2 N 2 = (C, D 2, F 1 )w 1 = 4 N 3 = (F 2, E)w 1 = 1 A B C D E F Optimierungsziel: Gewichtete Gesamtverbindungslänge – Beispiel

13 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung13 A B C D E F y1y1 y2y2 x1x1 x2x2 1 2 A B C D E F y1y1 y2y2 x1x1 x2x2 0; Optimierungsziel: Anzahl der geschnittenen Netze – Beispiel

14 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung14 A B C D E F y1y1 y2y2 x1x1 x2x2 1 2 A B C D E F y1y1 y2y2 x1x1 x2x2 0; Optimierungsziel: Anzahl der geschnittenen Netze – Beispiel

15 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung Optimierungsziel: Lokale Verdrahtungsdichte A1A1 A1A1 A2A2 A2A2

16 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung16 A B C D E P (e 9 ) = 2 P (e 12 ) = 0 P (e 4 ) = 0 F P (e 3 ) = 1 P (e 1 ) = 1 P (e 6 ) = 1 P (e 8 ) = Optimierungsziel: Lokale Verdrahtungsdichte – Beispiel

17 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung17 A B C D E P (e 9 ) = 2 P (e 12 ) = 0 P (e 4 ) = 0 F P (e 3 ) = 1 P (e 1 ) = 1 P (e 6 ) = 1 P (e 8 ) = Optimierungsziel: Lokale Verdrahtungsdichte – Beispiel

18 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung18 4.1Einführung 4.2Optimierungsziele Gewichtete Gesamtverbindungslänge Maximale Schnittanzahl Lokale Verdrahtungsdichte Signalverzögerungen 4.3Platzierungsalgorithmen Min-Cut-Platzierung Min-Cut-Platzierung mit Anschlussfestlegung Quadratische Platzierung Kräfteplatzierung mittels ZFT-Position Simulated Annealing Weitere Platzierungsalgorithmen 4.4Aktuelle Platzierungswerkzeuge Kapitel 4 – Platzierung

19 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung19 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

20 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung20 StochastischPartitionierendAnalytisch Quadratische PlatzierungMin-Cut-PlatzierungPlatzierung mit SA 4.3 Platzierungsalgorithmen

21 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung 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 c r kreuzenden Netze P (c r ) minimiert ist Algorithmen zur Minimierung von P (c r ) sind oft der Kernighan-Lin- Algorithmus (KL-Algorithmus) sowie der Fiduccia-Mattheyses-Algorithmus (FM-Algorithmus)

22 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung22 Quadratur-Platzierung (Quadrature placement) Halbierungs- Platzierung (Bisection placement) Reihen-/ Halbierungs- Platzierung (Slice/bisection placement) 1 2 3a 3b 4a4b 1 6b 2a 2b 6a4 3a 3b 3c 3d 5a6c5b6d 4 10b a a 10c 9b 10d Nach Sait, S. M., Youssef, H.: VLSI Physical Design Automation 4.3.1Min-Cut-Platzierung

23 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung23 Min-Cut-Algorithmus (Quadratur Platzierung) 1.Aufteilung der Layoutfläche in zwei Teilflächen mit senkrechter oder horizontaler Schnittrichtung. 2.Anwendung eines geeigneten Algorithmus, z.B. des KL- oder FM-Algorithmus, zur optimierten Verteilung der Zellen auf die beiden Teilflächen. 3.Aufteilung in neue Teilflächen und jeweils Initialzuordnung der Zellen auf diese. Alternierender Wechsel zwischen senkrechter und horizontaler Schnittrichtung. 4.ENDE, falls jede Teilfläche genau eine Zelle enthält, sonst weiter mit Schritt Min-Cut-Platzierung

24 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung24 Gegeben: Gesucht: 4 x 2 Platzierung mit minimaler Netzlänge Min-Cut-Platzierung: Beispiel

25 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung Min-Cut-Platzierung: Beispiel Vertikaler Initialschnitt c 1 : L={1,2,3}, R={4,5,6} c1c1 c1c c1c1 z.B. KL-Algorithmus

26 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung26 Horizontaler Schnitt c 2L : T={1,4}, B={2,0} Horizontaler Schnitt c 2R : T={3,5}, B={6,0} c 3L c 3R c 2L c 2R c1c1

27 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung Min-Cut-Platzierung Vorteile: 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

28 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung Min-Cut-Platzierung mit Anschlussfestlegung p R2R2 R1R1 R2R2 R1R Mit Anschlussfestlegung (Terminal Propagation)

29 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung Min-Cut-Platzierung mit Anschlussfestlegung: Beispiel

30 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung Min-Cut-Platzierung mit Anschlussfestlegung: Beispiel LR

31 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung Min-Cut-Platzierung mit Anschlussfestlegung: Beispiel LR R L2L2 L1L1 4 3 x

32 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung Min-Cut-Platzierung mit Anschlussfestlegung: Beispiel p R2R2 R1R x

33 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung Min-Cut-Platzierung mit Anschlussfestlegung: Beispiel p R2R2 R1R1 R2R2 R1R x

34 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung Min-Cut-Platzierung mit Anschlussfestlegung: Beispiel LR N1N1 p1p1 p2p2 p3p3

35 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung 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

36 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung Quadratische Platzierung Euklidische Verbindungslänge geht quadratisch in Kostenfunktion ein: Vorgehensweise: Vektor-/Matrixschreibweise: mit X T und Y T Vektoren der Dimension n der x- bzw. y-Koordinaten der n Zellen, C Verbindungsmatrix, K x und K y 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

37 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung Quadratische Platzierung Quadratische Platzierung lässt sich weiter unterteilen, je nachdem, wie die Zellenüberlappungen beseitigt/vermieden werden Kraftbasierte quadratische Platzierung Überlappungsfreiheit: Verfeinerung von Schwerpunktsnebenbedingungen (führt zu Quadratic Programming) und damit rekursive Zerteilung in Platziergebiete Überlappungsfreiheit: zusätzliche Kräfte Quadratische Platzierung mit Schwerpunktsnebenbedingungen

38 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung 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

39 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung Kräfteplatzierung mittels ZFT-Position Kräfteplatzierung 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

40 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung 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

41 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung41 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 w ij die Wichtung der Verbindung und d ij deren Länge sind Kräfteplatzierung mittels ZFT-Position

42 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung i ZFT-Position 4.3.4Kräfteplatzierung mittels ZFT-Position Zero-Force-Target (ZFT)-Position einer Zelle i

43 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung43 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 (x i 0, y i 0 ) 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 x i 0 und y i 0 liefert Berechnung der ZFT-Position einer Zelle i, welche mit den Zellen 1 … j verbunden ist 4.3.4Kräfteplatzierung mittels ZFT-Position

44 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung In2 In3 In1 Out In1 In2 In3 Out Kräfteplatzierung mittels ZFT-Position: Beispiel (ZFT-Position)

45 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung Kräfteplatzierung mittels ZFT-Position: Beispiel (ZFT-Position)

46 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung In2 In3 In1 Out Kräfteplatzierung mittels ZFT-Position: Beispiel (ZFT-Position)

47 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung47 Algorithmus zur Kräfteplatzierung mittels ZFT-Position 1.Ermitteln einer willkürlichen Anfangsplatzierung 2.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 3.Weiter mit Schritt 2 und neuer Zelle, bis Abbruchkriterium erreicht ist Kräfteplatzierung mittels ZFT-Position

48 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung48 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 Kräfteplatzierung mittels ZFT-Position

49 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung49 NetzeGewicht N 1 = (1, 3)w 1 = 2 N 2 = (2, 3)w 2 = 1 Gegeben: Kräfteplatzierung mittels ZFT-Position: Beispiel

50 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung50 NetzeGewicht N 1 = (1, 3)w 1 = 2 N 2 = (2, 3)w 2 = 1 Gegeben: Zelle p ZFT-Position von Zelle p L(P) vor Vertauschung L(P) /Anordnung nach Vertauschung 3 L(P) = 5 Zelle q 1 Damit keine Vertauschung von 3 und Kräfteplatzierung mittels ZFT-Position: Beispiel

51 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung51 NetzeGewicht N 1 = (1, 3)w 1 = 2 N 2 = (2, 3)w 2 = 1 Gegeben: Zelle p ZFT-Position von Zelle p L(P) vor Vertauschung L(P) /Anordnung nach Vertauschung 3 L(P) = 5 2 L(P) = 3 Vertauschung von 2 und 3. L(P) = 5 Zelle q 1 3 Damit keine Vertauschung von 3 und Kräfteplatzierung mittels ZFT-Position: Beispiel

52 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung52 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 Kräfteplatzierung mittels ZFT-Position

53 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung 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

54 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung54 Zeit Kosten 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 4.3.5Simulated Annealing

55 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung Simulated Annealing

56 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung56 Vorteile: 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.5Simulated Annealing

57 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung57 Zuordnung zu Einbauplätzen (z.B. bei Gate-Arrays) Neuronale Netzwerke Evolutionäre Algorithmen Timing-driven Placement / Performance-driven Placement 4.3.6Weitere Platzierungsalgorithmen

58 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung58 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.6Weitere Platzierungsalgorithmen: Zuordnung zu Einbauplätzen

59 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung Zuordnung zu Einbauplätzen: Beispiel

60 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung Zuordnung zu Einbauplätzen: Beispiel

61 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung Zuordnung zu Einbauplätzen: Beispiel

62 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung62 y x Zuordnung zu Einbauplätzen: Beispiel

63 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung Weitere Platzierungsalgorithmen: Neuronale Netzwerke Gewichtete Summe F : x1x1 x2x2 x3x3 xnxn w1w1 w2w2 w3w3 wnwn OUT = F(NET)NET Nach Sait, S. M., Youssef, H.: VLSI Physical Design Automation Prinzipieller Aufbau eines künstlichen Neurons

64 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung Weitere Platzierungsalgorithmen: Neuronale Netzwerke x1x1 x2x2 x3x3 OUT 1 OUT 2 OUT 3

65 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung65 Kapitel 4 – Platzierung 4.1Einführung 4.2Optimierungsziele Gewichtete Gesamtverbindungslänge Maximale Schnittanzahl Lokale Verdrahtungsdichte Signalverzögerungen 4.3Platzierungsalgorithmen Min-Cut-Platzierung Min-Cut-Platzierung mit Anschlussfestlegung Quadratische Platzierung Kräfteplatzierung mittels ZFT-Position Simulated Annealing Weitere Platzierungsalgorithmen 4.4Aktuelle Platzierungswerkzeuge

66 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung66 4.4Aktuelle Platzierungswerkzeuge Kraftbasierte quadratische Platzierung Quadratische Platzierung mit Schwerpunkts- nebenbedingungen StochastischPartitionierendAnalytisch Quadratische PlatzierungMin-Cut-PlatzierungPlatzierung mit SA

67 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung67 4.4Aktuelle Platzierungswerkzeuge 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) StochastischPartitionierendAnalytisch Min-Cut-Platzierung

68 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung68 4.4Aktuelle Platzierungswerkzeuge Nicht-lineare Platzierung Quadratische Platzierung Kostenfunktion ist nicht-linear, z.B. durch Modellierung der Netzlänge mit einer Log-Sum-Exponential-Funktion StochastischPartitionierendAnalytisch

69 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung69 4.4Aktuelle Platzierungswerkzeuge 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 Quadratische Platzierung StochastischPartitionierendAnalytisch

70 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung70 4.4Aktuelle Platzierungswerkzeuge Kraftwerk TU München FAR, mFAR UCSB FastPlace Iowa State University Kraftbasierte quadratische Platzierung Quadratische Platzierung StochastischPartitionierendAnalytisch

71 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung71 4.4Aktuelle Platzierungswerkzeuge 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 Quadratische Platzierung mit Schwerpunktsnebenbedingungen Quadratische Platzierung StochastischPartitionierendAnalytisch

72 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung72 4.4Aktuelle Platzierungswerkzeuge 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 Platzierung mit SA StochastischPartitionierendAnalytisch

73 Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung73 4.1Einführung 4.2Optimierungsziele Gewichtete Gesamtverbindungslänge Maximale Schnittanzahl Lokale Verdrahtungsdichte Signalverzögerungen 4.3Platzierungsalgorithmen Min-Cut-Platzierung Min-Cut-Platzierung mit Anschlussfestlegung Quadratische Platzierung Kräfteplatzierung mittels ZFT-Position Simulated Annealing Weitere Platzierungsalgorithmen 4.4Aktuelle Platzierungswerkzeuge Zusammenfassung Kapitel 4 – Platzierung


Herunterladen ppt "Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 4: Platzierung1 Gliederung Kapitel 4 – Platzierung."

Ähnliche Präsentationen


Google-Anzeigen