Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Katrin Dresdner Geändert vor über 6 Jahren
1
Gliederung Kapitel 5 – Globalverdrahtung
5.1 Einführung Allgemeines Verdrahtungsproblem Globalverdrahtung 5.2 Begriffsbestimmungen 5.3 Optimierungsziele Kundenspezifischer Entwurf Standardzellen-Entwurf Gate-Array-Entwurf 5.4 Abbildung von Verdrahtungsregionen 5.5 Ablauf der Globalverdrahtung 5.6 Algorithmen für die Globalverdrahtung Steinerbaum-Verdrahtung Globalverdrahtung im Verbindungsgraphen Wegsuche mit dem Dijkstra-Algorithmus 5.7 Aktuelle Globalverdrahter
2
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
3
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.
4
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
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.
6
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
7
5.2 Begriffsbestimmungen
Kanal (Channel) Standardzellenlayout (Zweilagen-Verdrahtung)
8
5.2 Begriffsbestimmungen
Kanal (Channel) Verdrahtungskanal Verdrahtungskanal Standardzellenlayout (Zweilagen-Verdrahtung)
9
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
10
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
11
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
12
5.2 Begriffsbestimmungen
Switchbox (Zweilagen-Verdrahtung) Vertikaler Kanal 2 3 3 Horizontaler Kanal 2 2 Horizontaler Kanal 1 3 1 2 Vertikaler Kanal
13
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
14
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
15
5.2 Begriffsbestimmungen
Verdrahtungsregion (Tile, Box) bei Makrozellen Metal3 Metal2 Metal4 Metal1 usw.
16
5.2 Begriffsbestimmungen
Verdrahtungsregion (Tile, Box) bei Standardzellen Metal1 (Zellenebene) Metal3 Metal2 (Anschlussebene) Metal4 usw.
17
5.2 Begriffsbestimmungen
Verdrahtungsregion (Tile, Box) bei Back-to-back-Standardzellen Metal3 Metal2 (Anschlussebene) Metal4 Metal1 (Back-to-back- Zellenebene) usw.
18
5.2 Begriffsbestimmungen
T-Kreuzung (T-Junction, Zweilagen-Verdrahtung) 2 3 3 Horizontaler Basiskanal 2 2 Horizontaler Basiskanal 1 3 1 2 Vertikaler Anschlusskanal
19
Kapitel 5 – Globalverdrahtung
5.1 Einführung Allgemeines Verdrahtungsproblem Globalverdrahtung 5.2 Begriffsbestimmungen 5.3 Optimierungsziele Kundenspezifischer Entwurf Standardzellen-Entwurf Gate-Array-Entwurf 5.4 Abbildung von Verdrahtungsregionen 5.5 Ablauf der Globalverdrahtung 5.6 Algorithmen für die Globalverdrahtung Steinerbaum-Verdrahtung Globalverdrahtung im Verbindungsgraphen Wegsuche mit dem Dijkstra-Algorithmus 5.7 Aktuelle Globalverdrahter
20
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.
21
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“
22
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.
23
5.3.2 Optimierungsziele beim Standardzellen-Entwurf
Durchgangs- zellen A A Variable Kanalhöhen (Zweilagen- Verdrahtung) A A A
24
5.3.2 Optimierungsziele beim Standardzellen-Entwurf
Steinerbaum mit minimaler Verbindungslänge Steinerbaum mit minimaler Anzahl von Reihendurchquerungen
25
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
26
5.3.3 Optimierungsziele beim Gate-Array-Entwurf
Kanal- spuren Nicht- verleg- bares Netz
27
5.3.3 Optimierungsziele beim Gate-Array-Entwurf
Feststellung der Verdrahtbarkeit Minimierung der Gesamtverbindungslänge bzw. der Netzlänge des längsten Netzes
28
Kapitel 5 – Globalverdrahtung
5.1 Einführung Allgemeines Verdrahtungsproblem Globalverdrahtung 5.2 Begriffsbestimmungen 5.3 Optimierungsziele Kundenspezifischer Entwurf Standardzellen-Entwurf Gate-Array-Entwurf 5.4 Abbildung von Verdrahtungsregionen 5.5 Ablauf der Globalverdrahtung 5.6 Algorithmen für die Globalverdrahtung Steinerbaum-Verdrahtung Globalverdrahtung im Verbindungsgraphen Wegsuche mit dem Dijkstra-Algorithmus 5.7 Aktuelle Globalverdrahter
29
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
30
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.
31
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.
32
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.
33
5.5 Ablauf der Globalverdrahtung
Festlegung der Verdrahtungsregionen (Region definition) Zuordnung der Netze zu den Verdrahtungsregionen (Region assignment) Anschluss-Zuweisung (Pin assignment)
34
Kapitel 5 – Globalverdrahtung
5.1 Einführung Allgemeines Verdrahtungsproblem Globalverdrahtung 5.2 Begriffsbestimmungen 5.3 Optimierungsziele Kundenspezifischer Entwurf Standardzellen-Entwurf Gate-Array-Entwurf 5.4 Abbildung von Verdrahtungsregionen 5.5 Ablauf der Globalverdrahtung 5.6 Algorithmen für die Globalverdrahtung Steinerbaum-Verdrahtung Globalverdrahtung im Verbindungsgraphen Wegsuche mit dem Dijkstra-Algorithmus 5.7 Aktuelle Globalverdrahter
35
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.
36
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.
37
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)
38
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)
39
5.6.1 Steinerbaum-Verdrahtung
C (6, 4) C (6, 4) A (2, 1) A (2, 1) Minimaler rektilinearer Spannbaum Minimaler rektilinearer Steinerbaum (MRST)
40
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)
41
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
42
5.6.1 Steinerbaum-Verdrahtung
Pinknoten
43
5.6.1 Steinerbaum-Verdrahtung
Pinknoten Gitterlinien
44
5.6.1 Steinerbaum-Verdrahtung
Pinknoten Gitterlinien Hanan-Punkte ( )
45
5.6.1 Steinerbaum-Verdrahtung
Pinknoten Gitterlinien Hanan-Punkte ( ) Minimaler rektilinearer Steinerbaum
46
5.6.1 Steinerbaum-Verdrahtung
Netzanschlüsse Netzanschlüsse im Zellen- mittelpunkt Globale Zellen
47
5.6.1 Steinerbaum-Verdrahtung
Steinerbaum-Anschluss- Punkte (Pinknoten) Minimaler rektilinearer Steinerbaum Zugewiesene Verdrahtungs- regionen und Durchgangszellen A Sequentieller Steinerbaum-Algorithmus
48
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
49
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.
50
5.6.1 Steinerbaum-Verdrahtung: Beispiel
51
5.6.1 Steinerbaum-Verdrahtung: Beispiel
2 1
52
5.6.1 Steinerbaum-Verdrahtung: Beispiel
3 2 1
53
5.6.1 Steinerbaum-Verdrahtung: Beispiel
3 1 3 2 1 2 2 4
54
5.6.1 Steinerbaum-Verdrahtung: Beispiel
3 1 3 1 3 2 1 2 2 2 3 4 4 5
55
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
56
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
57
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
58
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
59
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
60
5.6.2 Globalverdrahtung im Verbindungsgraphen
Kanal- Verbindungs- graph Switchbox- Verbindungs- graph
61
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
62
5.6.2 Globalverdrahtung im Verbindungsgraphen
Verdrahtungsregionen Horizontale Zellenkanten Vertikale Zellenkanten Zweidimensionales Kanalmodell
63
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
64
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
65
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
66
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.
67
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
68
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
69
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
70
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
71
? 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 ?
72
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
73
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
74
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)
75
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
76
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
77
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.
78
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.
79
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
80
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
81
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
82
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
83
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
84
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
85
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
86
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
87
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
88
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.
89
Zusammenfassung Kapitel 5 – Globalverdrahtung
5.1 Einführung Allgemeines Verdrahtungsproblem Globalverdrahtung 5.2 Begriffsbestimmungen 5.3 Optimierungsziele Kundenspezifischer Entwurf Standardzellen-Entwurf Gate-Array-Entwurf 5.4 Abbildung von Verdrahtungsregionen 5.5 Ablauf der Globalverdrahtung 5.6 Algorithmen für die Globalverdrahtung Steinerbaum-Verdrahtung Globalverdrahtung im Verbindungsgraphen Wegsuche mit dem Dijkstra-Algorithmus 5.7 Aktuelle Globalverdrahter
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.