1 / 84

Gliederung Kapitel 5 – Globalverdrahtung

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

Télécharger la présentation

Gliederung Kapitel 5 – Globalverdrahtung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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.

  4. 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. 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)

  6. 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.

  7. 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

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

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

  10. 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

  11. 5.2 Begriffsbestimmungen Switchbox (Zweilagen-Verdrahtung) VertikalerKanal 2 3 3 HorizontalerKanal HorizontalerKanal 2 2 1 3 1 2 VertikalerKanal

  12. 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

  13. 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)

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

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

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

  17. 5.2 Begriffsbestimmungen T-Kreuzung (T-Junction, Zweilagen-Verdrahtung) 2 3 3 HorizontalerBasiskanal HorizontalerBasiskanal 2 2 1 3 1 2 VertikalerAnschlusskanal

  18. 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

  19. 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

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

  21. 5.3.2 Optimierungsziele beim Standardzellen-Entwurf Steinerbaum mit minimalerVerbindungslänge Steinerbaum mit minimalerAnzahl von Reihendurchquerungen

  22. 5.3.3 Optimierungsziele beim Gate-Array-Entwurf Kanal-spuren Nicht-verleg-baresNetz

  23. 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

  24. 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.

  25. 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.

  26. 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.

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

  28. 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

  29. 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.

  30. 5.6 Algorithmen für die Globalverdrahtung • Steinerbaum-Verdrahtung • Globalverdrahtung im Verbindungsgraphen • Dijkstra-Algorithmus

  31. 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.

  32. 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)

  33. 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

  34. 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

  35. 5.6.1 Steinerbaum-Verdrahtung Pinknoten

  36. 5.6.1 Steinerbaum-Verdrahtung Pinknoten Gitterlinien

  37. 5.6.1 Steinerbaum-Verdrahtung Pinknoten Gitterlinien Hanan-Punkte ( )

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

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

  40. 5.6.1 Steinerbaum-Verdrahtung Steinerbaum-Anschluss- Punkte (Pinknoten)

  41. 5.6.1 Steinerbaum-Verdrahtung Steinerbaum-Anschluss- Punkte (Pinknoten) Minimaler rektilinearerSteinerbaum

  42. 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

  43. 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

  44. 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

  45. 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.

  46. 5.6.1 Steinerbaum-Verdrahtung: Beispiel 1

  47. 5.6.1 Steinerbaum-Verdrahtung: Beispiel 1 2 1

  48. 5.6.1 Steinerbaum-Verdrahtung: Beispiel 3 1 2 1

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

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

More Related