Gliederung Kapitel 8 – Kompaktierung

Slides:



Advertisements
Ähnliche Präsentationen
8. Termin Teil B: Wiederholung Begriffe Baum
Advertisements

Berechne den optimalen (kürzesten, schnellsten) Weg
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.
Das LCA – Problem in Suffixbäumen
Gliederung Kapitel 1 – Einführung
7. Natürliche Binärbäume
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
Geometrisches Divide and Conquer
Layout Algorithmen.
Vorlesung Geoinformation I WS 01/02 Musterlösung für die Klausur vom
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung In welcher Masche liegt der Punkt p?
Präsentation zu Milestone 1: Planaritätstest, Planarisierierung und Orthogonalisierung Gruppenmitglieder: cku, ocl, pdo, bra.
PG 478 – Open Graph Drawing Framework Thema: Compounds & Force-Directed Francois Bertault & Mirka Miller – An Algorithm for Drawing Compound Graphs [1999]
Minimum Spanning Tree: MST
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Effiziente Algorithmen
Effiziente Algorithmen
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 7 SS 2000 Punkt-in-Polygon-Verfahren I (Trapezkarte)
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Graphen und Bäume.
Erstellen eines Impossibles:
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 1 WS 2001/02 Punkt-in-Landkarte I (Streifenkarte)
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
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.
Binärer Baum, Binärer Suchbaum I
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.
Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht Graphen. Köln 14. Januar 2016.
Rechen- und Kommunikationszentrum (RZ) Selektionsstrategien auf Graphstrukturen Sven Porsche Seminarvorträge Aachen.
Erzeugung von hoch skalierbaren virtuellen Welten Seminar Algorithmen zur Unterstützung von Immersive Gaming Philip Mildner, 8. Oktober 2008.
Klausur „Diskrete Mathematik II“
Eine Näherungslösung für das Problem des Handlungsreisenden
Vorlesung AVL-Bäume/Algorithmen-
Vorlesung AVL-Bäume/Algorithmen-
Algorithmen für Geographische Informationssysteme
Struktur-Funktions-Modelle von Pflanzen
Abiturprüfung Mathematik 2017 Baden-Württemberg Allgemeinbildende Gymnasien Wahlteil Analysis A 1 Lösungen der Aufgaben A 1.1 und A 1.2
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.
Abiturprüfung Mathematik 2012 Baden-Württemberg Allgemeinbildende Gymnasien Pflichtteil Lösungen
Technische Informatik I
Punkt-in-Landkarte II
Reihungen Prof. Dr. Christian Böhm In Zusammenarbeit mit Gefei Zhang
Gliederung Kapitel 1 – Einführung
Struktur-Funktions-Modelle von Pflanzen
Gliederung Kapitel 7 – Flächenverdrahtung
2. Die rekursive Datenstruktur Baum 2.1 Von der Liste zum Baum
Abstandsbestimmungen
Gliederung Kapitel 5 – Globalverdrahtung
Wahlteil 2009 – Geometrie II 1
Gliederung Kapitel 3 – Floorplanning
3. Die Datenstruktur Graph 3.3 Durchlaufen von Graphen
Gliederung Kapitel 4 – Platzierung
3. Die Datenstruktur Graph 3.2 Repräsentation von Graphen
Gliederung des Beispielfoliensatzes
 Präsentation transkript:

Gliederung Kapitel 8 – Kompaktierung 8.1 Einführung 8.2 Begriffe, Modelle, Datenstrukturen 8.3 Symbolische Kompaktierung 8.4 Kompaktierungsalgorithmen 8.4.1 Schnittkompaktierung 8.4.2 Abstandsgraph-Kompaktierung

Verhaltensentwurf Logischer Entwurf 8.1 Einführung 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

8.1 Einführung Gegeben ist ein entwurfsregel-korrektes Schaltungslayout (Maskenlayout) mit der Platzierung aller Komponenten und der Verdrahtung aller Netze oder ein symbolisches Layout mit einer abstrakten Darstellung aller Komponenten und deren Verdrahtung. Gesucht ist ein kompaktiertes Layout mit minimaler Fläche, invarianter Struktur von Platzierung und Verdrahtung sowie strikter Einhaltung von Entwurfsregeln.

8.2 Begriffe, Modelle, Datenstrukturen 1- und 2-dimensionale Kompaktierung Bei der 1-dimenisonalen Kompaktierung werden die Layoutelemente nur in einer Richtung bewegt bzw. „zusammengeschoben“ (z.B. zuerst in x-Richtung, dann in y-Richtung) Bei der 2-dimensionalen Kompaktierung werden x- und y-Verschiebung gleichzeitig betrachtet.

8.2 Begriffe, Modelle, Datenstrukturen 1D-Kompaktierung Ausgangslayout 12  x 12  Ergebnis 8  x 12  1. x-Kompaktierung 12   8  2. y-Kompaktierung 12   12  Entwurfsregeln: 2  x 2  Mindestabstand 2  Randabstand 1 

8.2 Begriffe, Modelle, Datenstrukturen 1D-Kompaktierung Ausgangslayout 12  x 12  Ergebnis 8  x 12  1. x-Kompaktierung 12   8  2. y-Kompaktierung 12   12  Ergebnis 12  x 8  Entwurfsregeln: 2  x 2  Mindestabstand 2  1. y-Kompaktierung 12   8  2. x-Kompaktierung 12   12  Randabstand 1 

8.2 Begriffe, Modelle, Datenstrukturen 2D-Kompaktierung Ausgangslayout 12  x 12  Ergebnis 8  x 8  2D-Kompaktierung x-Kompaktierung: 12   8  y-Kompaktierung: 12   8  Entwurfsregeln: 2  x 2  Mindestabstand 2  Randabstand 1 

8.2 Begriffe, Modelle, Datenstrukturen Bei der rasterbasierten Kompaktierung werden die Layoutobjekte mittels der Zuordnung zu Rasterpunkten modelliert. Festes Raster (Fixed grid): Rasterabstand entspricht der kleinsten technologisch realisierbaren Layouteinheit A G B C F E D 1  A D G B E C F

8.2 Begriffe, Modelle, Datenstrukturen Bei der rasterbasierten Kompaktierung werden die Layoutobjekte mittels der Zuordnung zu Rasterpunkten modelliert. Festes Raster (Fixed grid): Rasterabstand entspricht der kleinsten technologisch realisierbaren Layouteinheit Virtuelles Raster (Virtual grid): Abstände der einzelnen Rasterlinien sind nicht fest vorgegeben, sondern entsprechen jeweils den Mindestabständen der sich auf den Rasterlinien befindlichen Layoutelemente A G B C F E D 1 2 3 4 A D G B E C F 7 7

8.2 Begriffe, Modelle, Datenstrukturen Bei der graphenbasierten Kompaktierung wird das Layout in Form eines sog. Abstandsgraphen (Constraint graph) repräsentiert, wobei die Knoten die verschiedenen Layoutobjekte und die Kanten die minimalen Abstandsregeln zwischen diesen Objekten widerspiegeln A G B C F E D 8 5 6 7 L R 2 L R A B C D G E F 2 5 6 8 7

8.2 Begriffe, Modelle, Datenstrukturen Maskenlayout: Exakte Koordinaten aller Layoutelemente bekannt Vdd Kontakt (contact cut) Metallebene (metal) In Out Polyebene (polysilicon) Diffusionsschicht (p/n diffusion) GND Maskenlayout eines Inverters

8.2 Begriffe, Modelle, Datenstrukturen Maskenlayout: Exakte Koordinaten aller Layoutelemente bekannt Symbolisches Layout: Nur Nachbarschaftsbeziehungen der Layoutelemente bekannt, konkreter Abstand ohne Bedeutung Vdd Kontakt Verbindung In Out p-Kanal- Transistor n-Kanal- Transistor GND Symbolisches Layout eines Inverters

8.2 Begriffe, Modelle, Datenstrukturen Maskenlayout: Exakte Koordinaten aller Layoutelemente bekannt Symbolisches Layout: Nur Nachbarschaftsbeziehungen der Layoutelemente bekannt, konkreter Abstand ohne Bedeutung Beispiel: Stick-Diagramm Symbolische Layoutdarstellung, die alle Komponenten und deren relative Platzierung darstellt Nicht dargestellt: Exakte Platzierung, Transistorgröße, Leiterzuglängen und –breiten Out In Kontakt (contact cut) Metallebene (metal) Polyebene (polysilicon) n Diffusionsschicht (ndiff) p Diffusionsschicht (pdiff) Vdd GND Stick-Diagramm eines Inverters

Beispiel: CMOS-Inverter Vdd In Out In Out GND Schaltplansymbol Transistorschaltung Vdd Vdd Kontakt Kontakt (contact cut) Verbindung Metallebene (metal) In Out In Out p-Kanal- Transistor Polyebene (polysilicon) n-Kanal- Transistor Diffusionsschicht (p/n diffusion) GND GND Symbolisches Layout Maskenlayout

Kapitel 8 – Kompaktierung 8.1 Einführung 8.2 Begriffe, Modelle, Datenstrukturen 8.3 Symbolische Kompaktierung 8.4 Kompaktierungsalgorithmen 8.4.1 Schnittkompaktierung 8.4.2 Abstandsgraph-Kompaktierung

8.3 Symbolische Kompaktierung Kompaktoren werden auch bei der symbolischen Layoutentwicklung eingesetzt (symbolische Kompaktierung, Symbolic compaction) Symbolische Layoutentwicklung Basiert auf symbolischer Layoutdarstellung, z.B. Stick-Diagramm Ermöglicht Vereinfachung der Layoutentwurfs durch Umgehung der Vielzahl von Entwurfsregeln und der aufwendigen Überführung von einer Technologie zur nächsten Symbolische Kompaktierung Überführung eines symbolischen Layouts in eine reale Technologie-Implementierung Kompaktierung dient damit zur Technologie-Anpassung

Kapitel 8 – Kompaktierung 8.1 Einführung 8.2 Begriffe, Modelle, Datenstrukturen 8.3 Symbolische Kompaktierung 8.4 Kompaktierungsalgorithmen 8.4.1 Schnittkompaktierung 8.4.2 Abstandsgraph-Kompaktierung

8.4.1 Schnittkompaktierung 1970 erstmals von Akers, Geyer und Roberts vorgestellt Layout enthält Verdichtungsstreifen, die frei von platzierten Elementen sind und in denen alle Leiterzüge senkrecht zur Streifenrichtung verlaufen Streifenbereich wird aus der Schaltung entfernt und die betreffenden Koordinaten der Schaltungselemente auf die neue Layoutgröße umgerechnet Durchgehender Verdichtungsstreifen (Simple cut) Zusammengesetzter Verdichtungsstreifen (Rift line cut)

8.4.1 Schnittkompaktierung Scherlinie ? Durchgehender Verdichtungsstreifen Zusammengesetzte Verdichtungsstreifen

8.4.1 Schnittkompaktierung Algorithmus Für eine vorgegebene Kompaktierungsrichtung Abbildung der Layoutelemente auf einem binären Raster Ermitteln von durchgehenden bzw. zusammengesetzten Verdichtungsstreifen Entfernen der Verdichtungsstreifen. Bei zusammengesetzten Verdichtungsstreifen: Untersuchung der Scherlinie auf Layoutkonflikte. Falls bei zwei aufeinander folgenden Durchläufen keine Entfernung von Verdichtungsstreifen möglich ist, weiter mit Schritt 3 Wechsel der Kompaktierungsrichtung, weiter mit Schritt 1 Rückabbildung der Rastertopologie in reale Layoutkoordinaten, ENDE.

8.4.1 Schnittkompaktierung Implementierung Zur Identifizierung der zur Kompaktierung geeigneten Verdichtungsstreifen werden die Rasterpunkte binär, d.h. mit 0 oder 1, gekennzeichnet. Rasterpunkte, denen in der jeweiligen Kompaktierungsrichtung nicht zusammenschiebbare Layoutelemente (Bereiche mit Zellenbelegung oder senkrecht zur aktuellen Kompaktierungsrichtung verlaufenden Leiterzügen) zugeordnet sind, markiert man mit 0. Anschließend werden alle verbleibenden, für die aktuelle Kompaktierungsrichtung kompaktierfähigen Layoutbereiche mit 1 gekennzeichnet.

8.4.1 Schnittkompaktierung: Beispiel D F E G Ausgangslayout; horizontale Kompakierung

8.4.1 Schnittkompaktierung: Beispiel 1 A B C D F E G Ausgangslayout Schritt 1a: Abbildung auf binärem Raster; Horizontal nicht „zusammenschiebbar“: 0 Horizontal kompaktierfähiger Bereich: 1

8.4.1 Schnittkompaktierung: Beispiel 1 A B C D F E G Ausgangslayout Schritt 1a: Abbildung auf binärem Raster Schritt 1b: Ermitteln von Verdichtungsstreifen 1 Durchgehende Verdichtungsstreifen Zusammengesetzte Verdichtungsstreifen

8.4.1 Schnittkompaktierung: Beispiel 1 A B C D F E G Ausgangslayout Schritt 1a: Abbildung auf binärem Raster Schritt 1b: Ermitteln von Verdichtungsstreifen 1 Durchgehende Verdichtungsstreifen Zusammengesetzte Verdichtungsstreifen A B C D F E G Schritt 1c: Entfernen der Verdichtungsstreifen Schritt 3: Rückabbildung der Rastertopologie

8.4.2 Abstandsgraph-Kompaktierung Die Abstandsgraph-Kompaktierung beruht auf der Suche nach dem längsten Pfad in einem Graphenmodell, welches die Nachbarschaft von Layoutelementen und deren Mindestabstände abbildet Eine Layoutgruppe umfasst jeweils die Layoutelemente, die gemeinsam bewegt werden müssen Ein Abstandsgraph ist ein gerichteter, kantenbewerteter Graph mit folgenden Eigenschaften: Jedes Layoutelement entspricht einem Knoten. Zwischen zwei Knoten befindet sich eine gerichtete Kante, sofern zwischen den Layoutelementen einzuhaltende Abstandsregeln gelten. Die Kantengewichtung entspricht den Abstandsregeln der Kantenknoten. Layoutränder sind ebenfalls als Knoten abzubilden.

8.4.2 Abstandsgraph-Kompaktierung: Abstandsgraph Erzeugung eines horizontalen Abstandsgraphen Layoutgruppe B 1 C A

8.4.2 Abstandsgraph-Kompaktierung: Abstandsgraph Erzeugung eines horizontalen Abstandsgraphen Layoutgruppe 4 B BC 1 C 1 L R A A 2 xA xBC

8.4.2 Abstandsgraph-Kompaktierung: Abstandsgraph Erzeugung eines horizontalen Abstandsgraphen Layoutgruppe Mittenabstände 4 1 BC B BC 3 2 3 1 C 1 2 L R L A R A A Mindestabstand zwischen Layoutelementen bzw. zum Rand: 1  2 xA xBC Minimale Layoutbreite: 2+2+3+3 = 10 

8.4.2 Abstandsgraph-Kompaktierung: Abstandsgraph – Beispiel BC BC 1 3 G 3 3 4 1 1 3 3 4 L R 2 4 6 1 G 3 5 L R A H 2 2 2 2 3 1 6 2 3 F 1 5 A 3 3 H F 3 2 E E 2 Längster Pfad von L nach R

8.4.2 Abstandsgraph-Kompaktierung Bestimmung des längsten Pfades  minimale Layoutbreite bzw. -höhe Layoutelemente entlang dieses Graphen werden mit minimalem Abstand platziert  kompaktiertes Layout Layoutsegmente, die nicht auf dem längsten Pfad liegen: Mittelposition Für jeden Knoten v wird dazu eine untere, z.B. linke Grenze l(v), und eine obere, z.B. rechte Grenze r(v), seiner möglichen horizontalen Positionen ermittelt l(v) = (längster Weg von linker Kante zum Knoten v) r(v) = (längste Pfadlänge) – (längster Weg von Knoten v zur rechten Kante)

8.4.2 Abstandsgraph-Kompaktierung Algorithmus Zusammenfassung zu Layoutgruppen; Ordnen sämtlicher Kompaktierungsobjekte nach steigenden x-Koordinaten. Erzeugung eines gerichteten horizontalen Abstandsgraphen GH, wobei horizontale Nachbarschaften als Kanten {i, j}  GH und horizontale Kompaktierungsobjekte als Knoten (v = 1, 2, … n)  GH, Mindestabstände als Kantengewichte dij abgebildet werden. Berechnung der Grenzen l(v) und r(v) der zulässigen horizontalen Positionen jedes Knotens v Das durch den Knoten v abgebildete Kompaktierungsobjekt wird auf die Position x(v) gesetzt, mit x(v) = l(v) = r(v) falls v im längsten Pfad liegt, x(v) = [l(v) + r(v)] / 2 falls v nicht im längsten Pfad liegt. Weiter mit Schritt 1 zur Durchführung einer entgegengesetzten (vertikalen) Kompaktierung bzw. ENDE, falls in zwei Durchgängen keine Verschiebung.

8.4.2 Abstandsgraph-Kompaktierung: Beispiel F B C G D E Gegeben: Mindestabstand eine Gittereinheit (1 ) Minimale horizontale Mittenabstände: dAC = 5 dAD = 5 dBC = 6 dBD = 6 dBE = 5 dCF = 4 dCG = 5 dDF = 4 dDG = 5 dEG = 4

8.4.2 Abstandsgraph-Kompaktierung: Beispiel F B C G D E Gegeben: Mindestabstand eine Gittereinheit (1 ) Minimale horizontale Mittenabstände: dAC = 5 dAD = 5 dBC = 6 dBD = 6 dBE = 5 dCF = 4 dCG = 5 dDF = 4 dDG = 5 dEG = 4 Schritte 1 und 2 : Erzeugen des horizontalen a) Gruppierung von Elementen mit Abstandsgraphen mit längstem Pfad vertik a len Ve r bindungen: ( C , D ) A CD F L R B E G

8.4.2 Abstandsgraph-Kompaktierung: Beispiel F B C G D E Gegeben: Mindestabstand eine Gittereinheit (1 ) Minimale horizontale Mittenabstände: dAC = 5 dAD = 5 dBC = 6 dBD = 6 dBE = 5 dCF = 4 dCG = 5 dDF = 4 dDG = 5 dEG = 4 5 4 A CD F 1 2 L 6 5 R 3 2 B E G 5 4

8.4.2 Abstandsgraph-Kompaktierung: Beispiel Schritt 3: Berechnung der Grenzen l(v) und r(v) jedes Knotens v 2|4 9|9 13|15 5 4 A CD F 1 2 0|0 16|16 L 6 5 R 3 2 B E G 5 4 r(v) = (längste Pfadlänge) - LengthToR(v) 3|3 8|10 14|14 Knoten R: l(R) = 16 LengthToR(R) = 0 r(R) = 16-0 = 16 Knoten F: l(F) = 13 LengthToR(F) = 1 r(F) = 16-1 = 15 Knoten G: l(G) = 14 LengthToR(G) = 2 r(G) = 16-2 = 14 Knoten CD: l(CD) = 9 LengthToR(CD) = 7 r(CD) = 16-7 = 9 Knoten E: l(E) = 8 LengthToR(E) = 6 r(E) = 16-6 = 10 Knoten A: l(A) = 2 LengthToR(A) = 12 r(A) = 16-12 = 4 Knoten B: l(B) = 3 LengthToR(B) = 13 r(B) = 16-13 = 3 Knoten L: l(L) = 0 LengthToR(L) = 16 r(L) = 16-16 = 0 l(v) = längste Pfadlänge von L zu v LengthToR(v) = längste Pfadlänge von v zu R

8.4.2 Abstandsgraph-Kompaktierung: Beispiel Schritt 4: Berechnung von x(v) und Anpassung des Layouts Knoten R: l(R) = 16 r(R) = 16 x(R) = 16 Knoten F: l(F) = 13 r(F) = 15 x(F) = 14 Knoten G: l(G) = 14 r(G) = 14 x(G) = 14 Knoten CD: l(CD) = 9 r(CD) = 9 x(CD) = 9 Knoten E: l(E) = 8 r(E) = 10 x(E) = 9 Knoten A: l(A) = 2 r(A) = 4 x(A) = 3 Knoten B: l(B) = 3 r(B) = 3 x(B) = 3 Knoten L: l(L) = 0 r(L) = 0 x(L) = 0 A C F B D G E 2 4 6 8 10 12 14 16 18

8.4.2 Abstandsgraph-Kompaktierung: Modifikationen 2dAB A B xB  xA + dAB + dAB Minimaler Mittenabstand A A B B dAB mit xB = xA + dAB |xA  xB|  dAB Nach Sait, S. M., Youssef, H.: VLSI Physical Design Automation  dAB + dAB A B A B  dAB  dAB Maximaler Mittenabstand Fester Mittenabstand

Zusammenfassung Kapitel 8 – Kompaktierung 8.1 Einführung 8.2 Begriffe, Modelle, Datenstrukturen 8.3 Symbolische Kompaktierung 8.4 Kompaktierungsalgorithmen 8.4.1 Schnittkompaktierung 8.4.2 Abstandsgraph-Kompaktierung

Zusammenfassung Entwurfsautomatisierung 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