Gliederung Kapitel 5 – Globalverdrahtung

Slides:



Advertisements
Ähnliche Präsentationen
Vortrag von Stephanie Weirauch Jens Pleger Peter Jancke Frank Wejmelka
Advertisements

Grundlagen des A*-Algorithmus und Anwendung in der Routenplanung
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
Graphen Ein Graph ist eine Kollektion von Knoten und Kanten. Knoten sind einfache Objekte. Sie haben Namen und können Träger von Werten, Eigenschaften.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Minimum Spanning Tree: MST
Vortrag über Graphen Von Jörg Hendricks.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Effiziente Algorithmen
Diskrete Mathematik II
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Institut für Theoretische Informatik
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms.
Analyse der Laufzeit von Algorithmen
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Routenplanung querfeldein - Geometric Route Planning
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Suche des kürzesten Weges in einem Netz.
Der A*-Algorithmus.
Gliederung der Vorlesung
Institut für Informationssysteme Technische Universität Braunschweig Institut für Informationssysteme Technische Universität Braunschweig Verdrängung von.
Binärbäume.
Pro-Seminar GIS II Versorgungsnetze Erzeugung & Änderung
Eine Näherungslösung für das Problem des Handlungsreisenden
Lösung der Aufgabe 1: Die Erweiterung des Diagramms auf „Winged Egde“ besteht in zwei Beziehungen, nr-Kante und vl-Kante, zwischen der Klasse Kante. Jede.
Musterlösung zur Klausur "Diskrete Mathematik" vom
Das Problem des Handlungsreisenden
Laufzeitverhalten beim Sortieren
Algorithmen für Geographische Informationssysteme
DG3 - Angittern Gerades, quadratisches Prisma, Grundfläche parallel zu
DG Angittern Aufgabenstellung: Arbeitsblatt 43, Beispiel 1
Straße * besteht aus Flurstück 1 Masche 2 begrenzt 3..* Kante 2 2..* begrenzt Lösung der Aufgabe 1: Die Ergänzung (grau) des Diagramms besteht.
Netz des Prismas Aufgabenstellung: Von einem schiefen Prisma soll das Netz gezeichnet werden. Schiefes quadratisches Prisma, Basis in 2. Hauptlage. A(0/9/2),
Ziel: Jede Verwaltung hat einen einheitlichen Vorgangsbegriff
Die PowerPoint-Arbeitsfläche
Übungen Übungsanmeldung Übungskorrektur
Wiederholung Breitensuche BFS mit Startknoten s Tiefensuche
Graphen.
Routing … … die Suche nach dem Weg..
Kapitel IV. Matrizen Inhalt:
Gliederung Kapitel 1 – Einführung
Kap. 12 R-Bäume GB B31 B245 Box 1: Box 2: Box 3: Box 4: Box 5:
Gliederung Kapitel 8 – Kompaktierung
Ausgewählte Folien für Lehreinheit C3
1. Die rekursive Datenstruktur Liste 1.3 Rekursive Funktionen
Gliederung Kapitel 7 – Flächenverdrahtung
Kollisionsuntersuchung konvexer Polyeder
Abstandsbestimmungen
2. Die rekursive Datenstruktur Baum 2.2 Suchen und Einfügen
Kapitel 3 Konfigurierung von Fließproduktionssystemen
Lernmodul Einführung Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Nutzungsbedingungen:
Wahlteil 2009 – Geometrie II 1
Pflichtteil 2016 Aufgabe 6: Gegeben ist die Gerade
Wahlteil 2016 – Aufgabe B 1 Aufgabe B 1.1 In einem Koordinatensystem beschreiben die Punkte
Gliederung Kapitel 3 – Floorplanning
3. Die Datenstruktur Graph 3.3 Durchlaufen von Graphen
Gliederung Kapitel 4 – Platzierung
2.4 Durchlaufen von Bäumen
Kapitel V. Determinanten
Abiturprüfung Mathematik 2015 Baden-Württemberg Allgemeinbildende Gymnasien Wahlteil Analytische Geometrie / Stochastik Aufgabe B 2.1 und B Lösungen.
Zusammengesetzte Ereignisse
Abiturprüfung Mathematik 2015 Baden-Württemberg Allgemeinbildende Gymnasien Wahlteil Analysis A 2 Lösungen der Aufgaben A 2.1 und A 2.2
DB2 – SS 2019 von Baum allgemein bis B*-Baum
DB2 – SS 2019 von Baum allgemein bis B*-Baum
 Präsentation transkript:

Gliederung Kapitel 5 – Globalverdrahtung 5.1 Einführung 5.1.1 Allgemeines Verdrahtungsproblem 5.1.2 Globalverdrahtung 5.2 Begriffsbestimmungen 5.3 Optimierungsziele 5.3.1 Kundenspezifischer Entwurf 5.3.2 Standardzellen-Entwurf 5.3.3 Gate-Array-Entwurf 5.4 Abbildung von Verdrahtungsregionen 5.5 Ablauf der Globalverdrahtung 5.6 Algorithmen für die Globalverdrahtung 5.6.1 Steinerbaum-Verdrahtung 5.6.2 Globalverdrahtung im Verbindungsgraphen 5.6.3 Wegsuche mit dem Dijkstra-Algorithmus 5.7 Aktuelle Globalverdrahter

5.1.1 Allgemeines Verdrahtungsproblem 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

5.1.1 Allgemeines Verdrahtungsproblem Bei der Verdrahtung sind alle Zellen- bzw. Bauelementeanschlüsse, die zu einem Netz gehören, miteinander zu verbinden. Dies beinhaltet das Festlegen von Verdrahtungswegen sowie die Zuordnung der Leiterzugsegmente zu Verdrahtungsebenen. Dabei sind Randbedingungen (z.B. Kreuzungsfreiheit) einzuhalten und Optimierungsziele (z.B. minimale Verbindungslänge) anzustreben.

5.1.1 Allgemeines Verdrahtungsproblem Verdrahtungsverfahren Zweistufige Verdrahtung Global- verdrahtung Fein- verdrahtung Flächen- verdrahtung Spezial- verdrahtung Zuordnung der Verdrahtung zu Verdrahtungs- regionen (Kap. 5) Verdrahtung innerhalb der Verdrahtungs- regionen (Kap. 6) Verdrahtung auf gesamter Layoutfläche ohne vorherige Zuweisung (Kap. 7) Verdrahtung der Versor- gungs- und Taktnetze (Kap. 7)

5.1.2 Globalverdrahtung Bei der Globalverdrahtung werden ungefähre Verbindungswege auf einer Layoutoberfläche festgelegt. Dies geschieht meist durch Zuweisung der Netzsegmente in sog. Verdrahtungsregionen unter Berücksichtigung der jeweiligen Verdrahtungskapazitäten dieser Regionen.

C A B D 5.1.2 Globalverdrahtung C A B D Feinverdrahtung N1 N2 N3 N4 6 5 Feinverdrahtung N1 N2 N3 N4 3 4 C 1 A 1 2 4 1 3 B 4 5 6 4 D Globalverdrahtung

5.2 Begriffsbestimmungen Kanal (Channel) Standardzellenlayout (Zweilagen-Verdrahtung)

5.2 Begriffsbestimmungen Kanal (Channel) Verdrahtungskanal Verdrahtungskanal Standardzellenlayout (Zweilagen-Verdrahtung)

5.2 Begriffsbestimmungen Kapazität (Capacity) Standard- zelle Standard- zelle Standard- zelle 2 2 3 4 2 3 2 Verdrahtungskanal h dpitch Verdrahtungskanal 1 3 1 2 2 3 4 Standard- zelle Standard- zelle Standard- zelle

5.2 Begriffsdefinitionen Kapazität (Capacity) Standard- zelle Standard- zelle Standard- zelle Aufnahmefähigkeit einer Verdrahtungsregion bezüglich der Verdrahtung Ergibt sich aus der Ebenenanzahl in der Kanal-verdrahtungsrichtung nlayer, der Kanalhöhe h und dem Leiterzugmittenabstand (Pitch) dpitch 2 2 3 4 2 3 2 h dpitch 1 3 1 2 2 3 4 Standard- zelle Standard- zelle Standard- zelle

5.2 Begriffsbestimmungen Switchbox (Zweilagen-Verdrahtung) Kreuzungsbereich von vertikalen und horizontalen Kanälen Anschlüsse an allen vier Seiten Abmessungen fixiert Switchbox (Verdrahtung im Anschluss an die Kanalverdrahtung) Kanäle

5.2 Begriffsbestimmungen Switchbox (Zweilagen-Verdrahtung) Vertikaler Kanal 2 3 3 Horizontaler Kanal 2 2 Horizontaler Kanal 1 3 1 2 Vertikaler Kanal

5.2 Begriffsbestimmungen 2D- und 3D-Switchboxen Pin auf der Unterseite einer 3D-Switchbox 3D-Switchbox 2D-Switchbox Pin auf der Oberseite einer Zelle Nach Sherwani, N.: Algorithms for VLSI Physical Design Automation Kanal Pin auf Kanalgrenze M3 M2 M1

5.2 Begriffsbestimmungen Verdrahtungsregion (Tile, Box) Kanal- und klassische Switchboxdefinition nur bei Zweilagen-Verdrahtung sinnvoll Mehrlagen-Verdrahtung oftmals mit zellenunabhängigen Verdrahtungsbereichen (Verdrahtungsregion, Tile, Box usw.) auf allen Ebenen zur Netzzuweisung

5.2 Begriffsbestimmungen Verdrahtungsregion (Tile, Box) bei Makrozellen Metal3 Metal2 Metal4 Metal1 usw.

5.2 Begriffsbestimmungen Verdrahtungsregion (Tile, Box) bei Standardzellen Metal1 (Zellenebene) Metal3 Metal2 (Anschlussebene) Metal4 usw.

5.2 Begriffsbestimmungen Verdrahtungsregion (Tile, Box) bei Back-to-back-Standardzellen Metal3 Metal2 (Anschlussebene) Metal4 Metal1 (Back-to-back- Zellenebene) usw.

5.2 Begriffsbestimmungen T-Kreuzung (T-Junction, Zweilagen-Verdrahtung) 2 3 3 Horizontaler Basiskanal 2 2 Horizontaler Basiskanal 1 3 1 2 Vertikaler Anschlusskanal

Kapitel 5 – Globalverdrahtung 5.1 Einführung 5.1.1 Allgemeines Verdrahtungsproblem 5.1.2 Globalverdrahtung 5.2 Begriffsbestimmungen 5.3 Optimierungsziele 5.3.1 Kundenspezifischer Entwurf 5.3.2 Standardzellen-Entwurf 5.3.3 Gate-Array-Entwurf 5.4 Abbildung von Verdrahtungsregionen 5.5 Ablauf der Globalverdrahtung 5.6 Algorithmen für die Globalverdrahtung 5.6.1 Steinerbaum-Verdrahtung 5.6.2 Globalverdrahtung im Verbindungsgraphen 5.6.3 Wegsuche mit dem Dijkstra-Algorithmus 5.7 Aktuelle Globalverdrahter

5.3 Optimierungsziele Globalverdrahtung hat zwei wesentliche Ziele: Zuordnung von Netzen zu den Verdrahtungsregionen unter Berücksichtigung deren Kapazität, Ermittlung, ob eine bestimmte Platzierung verdrahtbar ist.

5.3.1 Optimierungsziele beim kundenspezifischen Entwurf A C D E Festlegen der Verdrahtungsreihenfolge V D H H 5 D B B 4 C E A C E 1 B D 4 H 1 5 2 A A 3 F F F 3 V C E 2 Depth-First-Durchgang durch Schnittbaum Reihenfolge-Zuweisung im „Rückwärtsgang“

5.3.1 Optimierungsziele beim kundenspezifischen Entwurf Minimierung der Gesamtverbindungslänge bzw. der Netzlänge des längsten Netzes Gleichverteilung der Verdrahtungsdichte Sollten aufgrund von Platzierungsrestriktionen die Verdrahtungsregionen feste Kapazitätsgrenzen haben, so wird als ein weiteres Ziel die Feststellung der Verdrahtbarkeit angestrebt.

5.3.2 Optimierungsziele beim Standardzellen-Entwurf Durchgangs- zellen A A Variable Kanalhöhen (Zweilagen- Verdrahtung) A A A

5.3.2 Optimierungsziele beim Standardzellen-Entwurf Steinerbaum mit minimaler Verbindungslänge Steinerbaum mit minimaler Anzahl von Reihendurchquerungen

5.3.2 Optimierungsziele beim Standardzellen-Entwurf Minimierung der Kanalhöhen (Zweilagen-Verdrahtung) Minimierung der Gesamtverbindungslänge bzw. der Netzlänge des längsten Netzes Sind bei Zweilagen-Verdrahtung Durchquerungsmöglichkeiten der Standardzellenreihen in ihrer Anzahl fest vorgegeben, so ist die Feststellung der Verdrahtbarkeit ein Zielkriterium

5.3.3 Optimierungsziele beim Gate-Array-Entwurf Kanal- spuren Nicht- verleg- bares Netz

5.3.3 Optimierungsziele beim Gate-Array-Entwurf Feststellung der Verdrahtbarkeit Minimierung der Gesamtverbindungslänge bzw. der Netzlänge des längsten Netzes

Kapitel 5 – Globalverdrahtung 5.1 Einführung 5.1.1 Allgemeines Verdrahtungsproblem 5.1.2 Globalverdrahtung 5.2 Begriffsbestimmungen 5.3 Optimierungsziele 5.3.1 Kundenspezifischer Entwurf 5.3.2 Standardzellen-Entwurf 5.3.3 Gate-Array-Entwurf 5.4 Abbildung von Verdrahtungsregionen 5.5 Ablauf der Globalverdrahtung 5.6 Algorithmen für die Globalverdrahtung 5.6.1 Steinerbaum-Verdrahtung 5.6.2 Globalverdrahtung im Verbindungsgraphen 5.6.3 Wegsuche mit dem Dijkstra-Algorithmus 5.7 Aktuelle Globalverdrahter

5.4 Abbildung von Verdrahtungsregionen Um die Globalverdrahtung rechentechnisch effektiv durchführen zu können, werden Verdrahtungsregionen (Tiles, Kanäle, Switchboxen) oft in einem Graphen abgebildet: Knoten  Verdrahtungsregionen (mit Kapazitätsangaben), Kanten  Nachbarschaftsbeziehungen der Verdrahtungsregionen. Verdrahtungsaufgabe: Ermittlung eines gültigen Pfades im Graphen unter Berücksichtigung der Kapazitätsangaben

5.4 Abbildung von Verdrahtungsregionen Kanal-Verbindungsgraph (Channel Connectivity Graph) 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 Graph G = (V, E), wobei jeder Kanal durch einen Knoten V repräsentiert wird. Eine Kante E zwischen zwei Knoten modelliert die Nachbarschaft der durch die Knoten repräsentierten Kanäle.

5.4 Abbildung von Verdrahtungsregionen Switchbox-Verbindungsgraph (Channel Intersection Graph) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Graph G = (V, E), wobei die Switchboxen als Knoten V modelliert werden. Zwischen den Knoten befindet sich eine Kante E, wenn die Switchboxen durch einen Kanal direkt miteinander verbunden sind.

5.4 Abbildung von Verdrahtungsregionen Gittergraph (Grid Graph Model) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Graph G = (V, E), wobei sog. globale Zellen, welche gleichverteilte Layoutbereiche darstellen, durch Knoten V und ihre Nachbarschaft durch Kanten E modelliert werden.

5.5 Ablauf der Globalverdrahtung Festlegung der Verdrahtungsregionen (Region definition) Zuordnung der Netze zu den Verdrahtungsregionen (Region assignment) Anschluss-Zuweisung (Pin assignment)

Kapitel 5 – Globalverdrahtung 5.1 Einführung 5.1.1 Allgemeines Verdrahtungsproblem 5.1.2 Globalverdrahtung 5.2 Begriffsbestimmungen 5.3 Optimierungsziele 5.3.1 Kundenspezifischer Entwurf 5.3.2 Standardzellen-Entwurf 5.3.3 Gate-Array-Entwurf 5.4 Abbildung von Verdrahtungsregionen 5.5 Ablauf der Globalverdrahtung 5.6 Algorithmen für die Globalverdrahtung 5.6.1 Steinerbaum-Verdrahtung 5.6.2 Globalverdrahtung im Verbindungsgraphen 5.6.3 Wegsuche mit dem Dijkstra-Algorithmus 5.7 Aktuelle Globalverdrahter

5.6 Algorithmen für die Globalverdrahtung Sequentielle Netzbetrachtung, wie z.B. Steinerbaum-Verdrahtung, Globalverdrahtung im Verbindungsgraphen und mittels des Dijkstra- Algorithmus, bei denen die Netze nacheinander verdrahtet werden. Parallele Netzbetrachtung durch hierarchische Aufteilung (Hierarchical decomposition) des Layouts in sukzessive immer kleinere „Quadranten“. In jedem Schritt erfolgt eine Zuweisung der Netze auf diese Regionen (Parallelbearbeitung von Netzen). Numerische Methoden, bei denen das Globalverdrahtungsproblem in Form eines Gleichungssystems abgebildet wird. Damit lassen sich jeweils sämtliche Verdrahtungswege eines Netzes betrachten. Stochastische Wegsuche-Algorithmen, wie z.B. Simulated Annealing und evolutionäre Algorithmen.

5.6 Algorithmen für die Globalverdrahtung Sequentielle Netzbetrachtung, wie z.B. Steinerbaum-Verdrahtung, Globalverdrahtung im Verbindungsgraphen und mittels des Dijkstra- Algorithmus, bei denen die Netze nacheinander verdrahtet werden.

5.6.1 Steinerbaum-Verdrahtung Vorbemerkungen Gegeben seien die p Pins eines Netzes auf einem HV-Raster. Ein Rasterbaum heißt rektilinearer Steinerbaum (RST), wenn er alle p Pins und beliebig viele Rasterpunkte als Knoten enthält. Knoten des RST, die nicht Pins des Netzes sind, heißen Steinerknoten. Pinknoten B (2, 6) A (2, 1) C (6, 4) Steinerknoten S (2, 4)

5.6.1 Steinerbaum-Verdrahtung Vorbemerkungen Gegeben seien die p Pins eines Netzes auf einem HV-Raster. Ein Rasterbaum heißt rektilinearer Steinerbaum (RST), wenn er alle p Pins und beliebig viele Rasterpunkte als Knoten enthält. Knoten des RST, die nicht Pins des Netzes sind, heißen Steinerknoten. Eigenschaften des minimalen rektilinearen Steinerbaums (MRST): Die Zahl s der Steinerknoten ist 0  s  p-2 (p … Anzahl der Pinknoten) Der Knotengrad von Pinknoten ist 1, 2, 3 oder 4, der Knotengrad von Steinerknoten 3 oder 4 Der MRST eines Netzes liegt stets innerhalb des umschließenden Rechtecks (MR) aller Pins dieses Netzes Für die Länge gilt LMRST  LMR (LMR … halber Umfang des umschließenden Rechtecks)

5.6.1 Steinerbaum-Verdrahtung C (6, 4) C (6, 4) A (2, 1) A (2, 1) Minimaler rektilinearer Spannbaum Minimaler rektilinearer Steinerbaum (MRST)

5.6.1 Steinerbaum-Verdrahtung ? S (2, 4) C (6, 4) C (6, 4) A (2, 1) A (2, 1) Minimaler rektilinearer Spannbaum Minimaler rektilinearer Steinerbaum (MRST)

5.6.1 Steinerbaum-Verdrahtung Hanan-Punkte (Hanan Points) Zur Erzeugung eines minimalen Steinerbaums aus einem Spannbaum sind Steinerknoten einzuführen, welche die Gesamtverbindungslänge verkürzen M. Hanan zeigte 1966, dass sämtliche Steinerknoten eines minimalen rektilinearen Steinerbaumes auf den Kreuzungspunkten der Gitterlinien liegen, die von den Pinknoten gebildet werden Diese Punkte werden als Hanan-Punkte bezeichnet Damit können alle weiteren Punkte ignoriert werden, was den Suchraum stark einschränkt

5.6.1 Steinerbaum-Verdrahtung Pinknoten

5.6.1 Steinerbaum-Verdrahtung Pinknoten Gitterlinien

5.6.1 Steinerbaum-Verdrahtung Pinknoten Gitterlinien Hanan-Punkte ( )

5.6.1 Steinerbaum-Verdrahtung Pinknoten Gitterlinien Hanan-Punkte ( ) Minimaler rektilinearer Steinerbaum

5.6.1 Steinerbaum-Verdrahtung Netzanschlüsse Netzanschlüsse im Zellen- mittelpunkt Globale Zellen

5.6.1 Steinerbaum-Verdrahtung Steinerbaum-Anschluss- Punkte (Pinknoten) Minimaler rektilinearer Steinerbaum Zugewiesene Verdrahtungs- regionen und Durchgangszellen A Sequentieller Steinerbaum-Algorithmus

5.6.1 Steinerbaum-Verdrahtung Sequentieller Steinerbaum-Algorithmus Sequentielle Einbeziehung von Pin- und Hanan-Punkten in den Baumaufbau Optimaler Steinerbaum bei bis zu vier Pinanschlüssen

5.6.1 Steinerbaum-Verdrahtung Sequentieller Steinerbaum-Algorithmus Ermitteln des Anschlusspaars mit minimalem Manhattan (M)-Abstand und Erzeugung des minimal umschreibenden Rechtecks (MR), d.h. Generierung von (höchstens) zwei alternativen minimalen rektilinearen Steinerbäumen (MRST). Bestimmen des Anschlusses mit minimalem M-Abstand zur aktuellen MRST-Menge, Verbinden dieses Anschlusses durch minimale M-Pfade auf dem MR (es gibt höchstens zwei). Falls der in Schritt 2 erzeugte M-Pfad im Steinerknoten einer von zwei MRST-Alternativen endet, Löschen der anderen (Eliminierung einer Masche im Graphen der MRST-Menge). Falls noch nicht alle Anschlüsse abgearbeitet sind: Wenn mehr als zwei Maschen existieren, Löschen von willkürlich einer MRST-Alternative und weiter mit Schritt 2. Andernfalls (alle Anschlüsse abgearbeitet): Eliminieren aller noch vorhandenen Maschen durch Löschen je einer MRST-Alternative. ENDE.

5.6.1 Steinerbaum-Verdrahtung: Beispiel

5.6.1 Steinerbaum-Verdrahtung: Beispiel 2 1

5.6.1 Steinerbaum-Verdrahtung: Beispiel 3 2 1

5.6.1 Steinerbaum-Verdrahtung: Beispiel 3 1 3 2 1 2 2 4

5.6.1 Steinerbaum-Verdrahtung: Beispiel 3 1 3 1 3 2 1 2 2 2 3 4 4 5

5.6.1 Steinerbaum-Verdrahtung: Beispiel 3 1 3 1 3 2 1 2 2 2 3 4 4 5 1 3 2 4 4 6 5

5.6.1 Steinerbaum-Verdrahtung: Beispiel 3 1 3 1 3 2 1 2 2 2 3 4 4 5 1 3 1 3 2 4 2 5 4 4 6 5 6 5 7

5.6.1 Steinerbaum-Verdrahtung: Beispiel 3 1 3 1 3 2 1 2 2 2 3 4 4 5 1 3 1 3 1 3 2 4 2 5 2 6 4 4 4 6 5 6 5 6 5 7 7

5.6.1 Steinerbaum-Verdrahtung: Beispiel 3 1 3 1 3 2 1 2 2 2 3 4 4 5 1 3 1 3 1 3 2 4 2 5 2 6 4 4 4 6 5 6 5 6 5 7 7

5.6.2 Globalverdrahtung im Verbindungsgraphen 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Kanal- Verbindungs- graph Switchbox- Verbindungs- graph

5.6.2 Globalverdrahtung im Verbindungsgraphen Kanal- Verbindungs- graph Switchbox- Verbindungs- graph

5.6.2 Globalverdrahtung im Verbindungsgraphen Rothermel und Mlynski, 1983 Berücksichtigt ungleichförmige Zellen/Bauelemente, daher für kundenspezifischen IC-Entwurf und MCMs geeignet Ablauf (Übersicht): (1) Verdrahtungsregionen 1 2 3 4 5 6 7 8 9 10 11 12 B A (2) Graphendarstellung 1 2 3 4 2,2 4,2 1,2 2,7 5 6 8 7 9 10 1,5 11 12 (3) Wegsuche im Graphen 2,2 4,2 1,2 2,7 0,1 3,1 0,4

5.6.2 Globalverdrahtung im Verbindungsgraphen Verdrahtungsregionen Horizontale Zellenkanten Vertikale Zellenkanten Zweidimensionales Kanalmodell

5.6.2 Globalverdrahtung im Verbindungsgraphen Graphendarstellung 1 8 17 21 23 1 9 8 17 21 23 2 18 2 9 18 3 10 19 24 3 24 10 19 11 12 4 4 11 12 15 13 14 20 22 25 5 5 13 14 15 20 22 25 6 6 26 26 7 16 27 7 16 27

5.6.2 Globalverdrahtung im Verbindungsgraphen Horizontale Aufnahmekapazität der Region 1 Vertikale Aufnahmekapazität der Region 1 2 Spuren 1 8 17 21 23 1,2 1 2 9 18 1 Spur 8 17 21 23 2 9 18 3 10 19 24 3 24 10 19 11 12 4 4 11 12 15 13 14 20 22 25 5 5 13 14 15 20 22 25 6 6 26 26 7 16 27 7 16 27

5.6.2 Globalverdrahtung im Verbindungsgraphen 1 8 17 21 23 1,2 1,3 1,1 1,4 1,1 1 9 8 17 21 23 2 18 2,2 2,3 2,1 2 9 18 3 10 2,2 1,1 19 4,1 24 6,1 3 24 10 19 11 12 4 4 11 12 2,2 2,1 2,1 15 13 14 20 22 25 5 5 13 14 15 20 22 25 3,2 3,1 3,1 3,1 3,1 3,4 3,1 6 6 26 26 1,2 1,1 7 16 27 7 16 27 1,2 1,8 1,1

5.6.2 Globalverdrahtung im Verbindungsgraphen Ablauf Festlegen der Verdrahtungsregionen und Abbildung in einem Verbindungsgraphen Festlegen der Netzreihenfolge Anschluss-Reservierung für alle Netze Netzauswahl und Globalverdrahtung dieses Netzes: Aufheben der Anschluss-Reservierungen Auswahl einer zu verdrahtenden 2-Punkt-Verbindung Suchen des kürzesten Pfads im Verbindungsgraphen. ABBRUCH, falls kein Weg existiert, sonst weiter mit Schritt d Aktualisierung der Verdrahtungskapazitäten entsprechend der durch den Pfad benötigten Ressourcen Falls noch nicht alle Pins des Netzes abgearbeitet sind, weiter mit Schritt b Falls noch nicht alle Netze verdrahtet sind, weiter mit Schritt 4, sonst ENDE.

Globalverdrahtung der Netze A-A und B-B 1 2 3 4 2,2 4,2 1,2 2,7 5 6 8 7 9 10 1,5 11 12 A w 1 2 3 Beispiel Globalverdrahtung der Netze A-A und B-B B 4 5 6 7 A 8 B 9 10 11 12

Globalverdrahtung der Netze A-A und B-B 1 2 3 A 4,2 4,2 4,2 w 1 2 3 Beispiel Globalverdrahtung der Netze A-A und B-B B 4 5 6 7 4 1,2 1,5 1,2 1,2 7 A 5 6 8 B 9 8 4,2 4,2 9 10 11 12 2,2 2,7 2,2 10 11 12 1 2 3 4 2,2 4,2 1,2 2,7 5 6 8 7 9 10 11 12 A 3,1 B 0,4 0,1 A B

Globalverdrahtung der Netze A-A und B-B 1 2 3 A 4,2 4,2 4,2 w 1 2 3 Beispiel Globalverdrahtung der Netze A-A und B-B B 4 5 6 7 4 1,2 1,5 1,2 1,2 7 A 5 6 8 B 9 8 4,2 4,2 9 10 11 12 2,2 2,7 2,2 10 11 12 1 2 3 A 4,2 3,1 4,2 B 4 1,2 0,4 0,1 1,2 7 A 5 6 B 8 4,2 4,2 9 2,2 2,7 2,2 10 11 12 2 3 1,1 3,1 1,7 4,1 8 2,1 7 9 10 11 12 1 4 1,2 0,1 5 6 4,2 0,4 A B A B

Globalverdrahtung der Netze A-A und B-B w 1 2 3 Beispiel Globalverdrahtung der Netze A-A und B-B B 4 5 6 7 A 8 B 9 10 11 12 A B A B

? Beispiel Feststellung der Verdrahtbarkeit einer Platzierung 1 2 3 3,1 3,4 3,3 1,4 1,1 1,3 4 5 6 7 8 9 10 Beispiel Feststellung der Verdrahtbarkeit einer Platzierung 1 2 3 B A 4 5 6 7 B A 8 9 10 B A 4 5 7 8 6 9 10 1 2 3 3,1 3,4 3,3 0,3 0,1 0,4 0,2 2,2 B A 4 5 7 8 6 9 10 1 2 3 1 2 3 3,1 3,4 3,3 0,3 0,1 0,4 0,2 2,2 4 5 6 7 8 9 10 ?

Feststellung der Verdrahtbarkeit einer Platzierung 1 2 3 3,1 3,4 3,3 1,4 1,1 1,3 4 5 6 7 8 9 10 Beispiel Feststellung der Verdrahtbarkeit einer Platzierung 1 2 3 B A 4 5 6 7 B A 8 9 10 1 2 3 3,1 3,4 3,3 1 2 3 B A 5 6 7 4 4 7 0,3 0,1 0,4 0,2 5 6 B A 8 9 10 3,4 3,1 2,2 8 9 10 1 2 3 2,0 2,3 3,3 1 2 3 5 6 7 B A 4 0,2 0,0 0,3 0,2 4 5 6 7 B A 8 9 10 2,3 2,0 2,2 8 9 10

Feststellung der Verdrahtbarkeit einer Platzierung Beispiel Feststellung der Verdrahtbarkeit einer Platzierung 1 2 3 B A 4 5 6 7 B A 8 9 10 1 2 3 B A 4 5 6 7 B A 8 9 10

5.6.3 Wegsuche mit dem Dijkstra-Algorithmus Suche im Graphen nach einem optimalen Weg gemäß beliebiger Wichtungskriterien Wesentliches Merkmal: eingeschränkte Einbeziehung der Knoten Knoten wird nur dann indiziert, wenn er kostenoptimal vom Startknoten erreicht wurde (optimaler Weg) Best-First-Search (informierter Suchalgorithmus)

5.6.3 Wegsuche mit dem Dijkstra-Algorithmus Gegeben sei ein Graph mit den Wichtungskriterien w1, w2, … als Kantenkosten sowie ein Start- und ein Zielknoten Die Wegkosten seien die Summe der Kantenkosten eines Pfades Drei Mengen: Menge 1 enthält alle Knoten des Graphen, die im Verlauf des Wegsucheprozesses noch nicht untersucht wurden Menge 2 enthält die Knoten, die zwar schon untersucht wurden, aber es steht noch aus, ob die mit ihnen verbundenen Wegkosten vom Startknoten aus optimal sind Menge 3 enthält die Knoten, bei denen der optimale Weg vom Startknoten aus bereits ermittelt wurde Ziel erreicht, wenn Zielknoten in Menge 3 auftaucht, anschließend Rückverfolgung

5.6.3 Wegsuche mit dem Dijkstra-Algorithmus Wesentliches Merkmal: eingeschränkte Indizierung der Knoten, da Knoten nicht von allen Vorgängerknoten, sondern nur von Knoten mit besten Wegkosten (optimaler Weg) indiziert werden Vorteil: aus einer Menge von Wegen wird immer der bezüglich beliebig vieler Optimierungskriterien optimale Weg gefunden

5.6.3 Wegsuche mit dem Dijkstra-Algorithmus Ablauf Der Startknoten wird in die Menge 3 eingeordnet und ist damit der aktuelle Knoten. Ermittlung eines Nachfolgers (Nachbarn) des aktuellen Knotens. Gehört der Nachfolgerknoten schon zur Menge 3, dann weiter mit Schritt 7. Bestimmung der Wegkosten (z.B. w1 und w2) bis zum Nachfolgerknoten (Addition mit denen des aktuellen Knotens). Ist der Nachfolgerknoten Element der Menge 1, Überführung desselben in die Menge 2 und weiter mit Schritt 7. Der Nachfolgerknoten befindet sich bereits in der Menge 2 (Wegkosten zum Nachfolgerknoten bekannt). Falls die neuen Wegkosten besser als die alten sind, werden die alten durch die neuen Wegkosten ersetzt; sonst sind die neuen wieder zu streichen.

5.6.3 Wegsuche mit dem Dijkstra-Algorithmus Ablauf (2) Wenn noch weitere Nachfolger (Nachbarn) des aktuellen Knotens existieren, weiter mit Schritt 2. Bestimmung eines Knotens aus der Menge 2, der die besten Wegkosten (z.B. w1 und w2) besitzt. Dieser Knoten geht in die Menge 3 über und stellt den neuen aktuellen Knoten dar. Wenn der aktuelle Knoten nicht der Zielknoten ist, weiter mit Schritt 2; ansonsten ist der Zielknoten auf optimalem Weg (laut z.B. w1 und w2) erreicht. Vom Zielknoten ausgehend, ist die Wegfindung innerhalb der Menge 3 mittels Rückverfolgungsindex durchzuführen. ENDE.

5.6.3 Wegsuche mit dem Dijkstra-Algorithmus: Beispiel VS 1,4 8,8 Gesucht ist der kostenminimale Weg (Wegkosten (∑w1 + ∑w2)  min.) von Vs (Knoten 1) zu Vz (Knoten 8). 1 4 7 8,6 9,7 3,2 2,6 2,8 2 5 8 VZ 1,4 2,8 4,5 9,8 3,3 3 6 9

VS 1,4 8,8 1 4 7 Menge 2 Menge 3 (1) 8,6 9,7 3,2 2,6 2,8 2 5 8 VZ 1,4 2,8 4,5 9,8 3,3 3 6 9 Aktueller Knoten: 1

Angabe von Rückverfolgungsindex (Knoten) ∑w1, ∑w2 1,4 8,8 1 4 7 Menge 2 Menge 3 N (2) 8,6 (1) 8,6 9,7 3,2 W (4) 1,4 2,6 2,8 2 5 8 W (4) 1,4 1,4 2,8 4,5 Angabe von Rückverfolgungsindex (Knoten) ∑w1, ∑w2 9,8 3,3 3 6 9 Aktueller Knoten: 1 Nachbarknoten: 2, 4 Beste Wegkosten in Menge 2: Knoten 4

Angabe von Rückverfolgungsindex (Knoten) ∑w1, ∑w2 VS 1,4 8,8 1 4 7 Menge 2 Menge 3 N (2) 8,6 (1) 8,6 9,7 3,2 W (4) 1,4 2,6 2,8 N (5) 10,11 2 5 8 VZ W (4) 1,4 W (7) 9,12 1,4 2,8 4,5 N (2) 8,6 9,8 3,3 3 6 9 Angabe von Rückverfolgungsindex (Knoten) ∑w1, ∑w2 Aktueller Knoten: 4 Nachbarknoten: 1, 5, 7 Beste Wegkosten in Menge 2: Knoten 2

Angabe von Rückverfolgungsindex (Knoten) ∑w1, ∑w2 VS 1,4 8,8 1 4 7 Menge 2 Menge 3 N (2) 8,6 (1) 8,6 9,7 3,2 W (4) 1,4 2,6 2,8 N (5) 10,11 2 5 8 VZ W (4) 1,4 W (7) 9,12 1,4 2,8 4,5 N (3) 9,10 N (2) 8,6 W (5) 10,12 9,8 3,3 3 6 9 N (3) 9,10 Angabe von Rückverfolgungsindex (Knoten) ∑w1, ∑w2 Aktueller Knoten: 2 Nachbarknoten: 1, 3, 5 Beste Wegkosten in Menge 2: Knoten 3

Angabe von Rückverfolgungsindex (Knoten) ∑w1, ∑w2 VS 1,4 8,8 1 4 7 Menge 2 Menge 3 N (2) 8,6 (1) 8,6 9,7 3,2 W (4) 1,4 2,6 2,8 N (5) 10,11 2 5 8 VZ W (4) 1,4 W (7) 9,12 1,4 2,8 4,5 N (3) 9,10 N (2) 8,6 W (5) 10,12 9,8 3,3 3 6 9 W (6) 18,18 N (3) 9,10 Aktueller Knoten: 3 Nachbarknoten: 2, 6 N (5) 10,11 Beste Wegkosten in Menge 2: Knoten 5 Angabe von Rückverfolgungsindex (Knoten) ∑w1, ∑w2

Angabe von Rückverfolgungsindex (Knoten) ∑w1, ∑w2 VS 1,4 8,8 1 4 7 Menge 2 Menge 3 N (2) 8,6 (1) 8,6 9,7 3,2 W (4) 1,4 2,6 2,8 N (5) 10,11 2 5 8 VZ W (4) 1,4 W (7) 9,12 1,4 2,8 4,5 N (3) 9,10 N (2) 8,6 W (5) 10,12 9,8 3,3 3 6 9 W (6) 18,18 N (3) 9,10 N (6) 12,19 Aktueller Knoten: 5 Nachbarknoten: 2, 4, 6, 8 N (5) 10,11 W (8) 12,19 Beste Wegkosten in Menge 2: Knoten 7 W (7) 9,12 Angabe von Rückverfolgungsindex (Knoten) ∑w1, ∑w2

Angabe von Rückverfolgungsindex (Knoten) ∑w1, ∑w2 VS 1,4 8,8 1 4 7 Menge 2 Menge 3 N (2) 8,6 (1) 8,6 9,7 3,2 W (4) 1,4 2,6 2,8 N (5) 10,11 2 5 8 VZ W (4) 1,4 W (7) 9,12 1,4 2,8 4,5 N (3) 9,10 N (2) 8,6 W (5) 10,12 9,8 3,3 3 6 9 W (6) 18,18 N (3) 9,10 N (6) 12,19 Aktueller Knoten: 7 Nachbarknoten: 4, 8 N (5) 10,11 W (8) 12,19 Beste Wegkosten in Menge 2: Knoten 8 N (8) 12,14 W (7) 9,12 N (8) 12,14 Angabe von Rückverfolgungsindex (Knoten) ∑w1, ∑w2

VS 1,4 8,8 1 4 7 Menge 2 Menge 3 N (2) 8,6 (1) 8,6 9,7 3,2 W (4) 1,4 2,6 2,8 N (5) 10,11 2 5 8 VZ W (4) 1,4 W (7) 9,12 1,4 2,8 4,5 N (3) 9,10 N (2) 8,6 W (5) 10,12 9,8 3,3 3 6 9 W (6) 18,18 N (3) 9,10 N (6) 12,19 Rückverfolgung N (5) 10,11 W (8) 12,19 N (8) 12,14 W (7) 9,12 N (8) 12,14

VS 1,4 9,12 1 4 7 12,14 2 5 8 VZ 3 6 9 Kostenminimaler Weg VS – VZ mit Wegkosten (12, 14) über die Knoten 1 – 4 – 7 – 8.

Zusammenfassung Kapitel 5 – Globalverdrahtung 5.1 Einführung 5.1.1 Allgemeines Verdrahtungsproblem 5.1.2 Globalverdrahtung 5.2 Begriffsbestimmungen 5.3 Optimierungsziele 5.3.1 Kundenspezifischer Entwurf 5.3.2 Standardzellen-Entwurf 5.3.3 Gate-Array-Entwurf 5.4 Abbildung von Verdrahtungsregionen 5.5 Ablauf der Globalverdrahtung 5.6 Algorithmen für die Globalverdrahtung 5.6.1 Steinerbaum-Verdrahtung 5.6.2 Globalverdrahtung im Verbindungsgraphen 5.6.3 Wegsuche mit dem Dijkstra-Algorithmus 5.7 Aktuelle Globalverdrahter