840 likes | 987 Views
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
E N D
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.1.1 Allgemeines Verdrahtungsproblem ENTITY test is port a: in bit; end ENTITY test; Systemspezifikation Architekturentwurf Partitionierung VerhaltensentwurfLogischer Entwurf Floorplanning Schaltungsentwurf Platzierung Layoutsynthese Layoutverifikation Verdrahtung Herstellung Kompaktierung Verpackung/Test Chip
5.1.1 Allgemeines Verdrahtungsproblem Netzliste: Netze mit den durch sie jeweils zu verbindenden Bauelemente-Anschlüssen HorizontaleVerdrahtungs- ebene 3 4 C 1 A VertikaleVerdrahtungs- ebene 1 2 N1 = {C4, D6, B3} N2 = {D4, B4, C1, A4} N3 = {C2, D5} N4 = {B1, A1, C3} 4 N4 N2 N3 N1 Via 1 3 B 4 5 6 4 D Technologie-Informationen: AbstandsregelnBreitenregeln usw.
5.1.1 Allgemeines Verdrahtungsproblem Bei der Verdrahtung sind alle Zellen- bzw. Bauelementeanschlüsse gleichen Potentials, die damit 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- undTaktnetze (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.
5.1.2 Globalverdrahtung 3 4 4 3 C C 1 1 A A 1 2 1 2 4 4 N4 N3 N1 N2 1 3 1 3 B B 6 4 5 4 5 6 D D 4 4 Feinverdrahtung 3 4 C 1 A 1 2 4 3 1 B 5 6 4 D 4 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 Begriffsbestimmungen Switchbox (Zweilagen-Verdrahtung) VertikalerKanal 2 3 3 HorizontalerKanal HorizontalerKanal 2 2 1 3 1 2 VertikalerKanal
5.2 Begriffsbestimmungen M5 M4 2D- und 3D-Switchboxen Pin auf der Unterseite einer 3D-Switchbox 3D-Switchbox 2D-Switchbox Pin auf der Oberseiteeiner Zelle Nach Sherwani, N.: Algorithms for VLSI Physical Design Automation Kanal Pin auf Kanalgrenze M3 M2 M1
5.2 Begriffsbestimmungen • 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 Verdrahtungsregion (Tile, Box)
5.2 Begriffsbestimmungen Metal3 Metal2 Metal4 Verdrahtungsregion (Tile, Box) bei Makrozellen Metal1 usw.
5.2 Begriffsbestimmungen Metal3 Metal1(Zellenebene) Metal4 Metal2(Anschlussebene) Verdrahtungsregion (Tile, Box) bei Standardzellen usw.
5.2 Begriffsbestimmungen Metal3 Metal4 Metal2 (Anschlussebene) Verdrahtungsregion (Tile, Box) bei Back-to-back-Standardzellen Metal1(Back-to-back-Zellenebene) usw.
5.2 Begriffsbestimmungen T-Kreuzung (T-Junction, Zweilagen-Verdrahtung) 2 3 3 HorizontalerBasiskanal HorizontalerBasiskanal 2 2 1 3 1 2 VertikalerAnschlusskanal
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.3.1 Optimierungsziele beim kundenspezifischen Entwurf Festlegen der Verdrahtungsreihenfolge V H H D D D 5 B B B 4 C E C E C E 1 5 D H A B 2 1 4 A 3 A A F F F F V 3 C E 2
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 minimalerVerbindungslänge Steinerbaum mit minimalerAnzahl von Reihendurchquerungen
5.3.3 Optimierungsziele beim Gate-Array-Entwurf Kanal-spuren Nicht-verleg-baresNetz
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.4 Abbildung von Verdrahtungsregionen 4 4 5 5 1 2 3 6 9 1 2 3 6 9 7 7 8 8 Kanal-Verbindungsgraph (Channel Connectivity Graph) Graph G = (V, E), wobei jederKanal 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 1 4 11 1 4 11 5 9 12 5 9 12 2 6 2 6 10 10 7 13 7 13 3 8 14 3 8 14 Switchbox-Verbindungsgraph (Channel Intersection Graph) Graph G = (V, E), wobei dieSwitchboxenals Knoten V modelliert werden. Zwischen den Knoten befindet sich eine Kante E, wenn sich die Switchboxen auf gegenüberliegenden Seiten ein und desselben Kanals befinden.
5.4 Abbildung von Verdrahtungsregionen 1 1 2 3 4 5 2 3 4 5 6 6 7 8 9 10 7 8 9 10 11 11 12 13 14 15 12 13 14 15 16 16 17 18 19 20 17 18 19 20 21 21 22 23 24 25 22 23 24 25 Gittergraph (Grid Graph Model) 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) • Evtl. 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.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 Netzbetrachtungdurch 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 • Steinerbaum-Verdrahtung • Globalverdrahtung im Verbindungsgraphen • Dijkstra-Algorithmus
5.6.1 Steinerbaum-Verdrahtung B (2, 6) Steinerknoten S (2, 4) C (6, 4) A (2, 1) Pinknoten 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.
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 aller Pins dieses Netzes • Für die Länge gilt LMRST LMR (LMR … halber Umfang des umschließenden Rechtecks)
5.6.1 Steinerbaum-Verdrahtung B (2, 6) B (2, 6) S (2, 4) C (6, 4) C (6, 4) A (2, 1) A (2, 1) Minimaler rektilinearer Steinerbaum (MRST) Minimaler rektilinearer Spannbaum
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 optimalen 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 Minimaler rektilinearer Steinerbaum Hanan-Punkte ( )
5.6.1 Steinerbaum-Verdrahtung Netzanschlüsse Netzanschlüsse im Zellen-mittelpunkt Globale Zellen
5.6.1 Steinerbaum-Verdrahtung Steinerbaum-Anschluss- Punkte (Pinknoten)
5.6.1 Steinerbaum-Verdrahtung Steinerbaum-Anschluss- Punkte (Pinknoten) Minimaler rektilinearerSteinerbaum
5.6.1 Steinerbaum-Verdrahtung A A A A A A A A A A A Steinerbaum-Anschluss- Punkte (Pinknoten) Minimaler rektilinearerSteinerbaum Zugewiesene Verdrahtungs- regionen und Durchgangszellen
5.6.1 Steinerbaum-Verdrahtung A A A A A A A A A A A Steinerbaum-Anschluss- Punkte (Pinknoten) Minimaler rektilinearerSteinerbaum Zugewiesene Verdrahtungs- regionen und Durchgangszellen 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, d.h. alle Anschlüsse wurden abgearbeitet, Eliminieren aller noch vorhandenen Maschen durch Löschen je einer MRST-Alternative. ENDE.
5.6.1 Steinerbaum-Verdrahtung: Beispiel 3 3 1 1 2 2 1 2 4
5.6.1 Steinerbaum-Verdrahtung: Beispiel 3 3 3 1 1 1 2 2 2 1 2 3 4 4 5