Universität Dortmund technische universität dortmund fakultät für informatik informatik 12 Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung Peter Marwedel Universität Dortmund 2008/07/09 Sortierung der Verdrahtungsregionen technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 2- Konsequenz technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 3- Verdrahtung bei einer Verdrahtungsebene dann technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 4- Kanalverdrahtung in zwei Ebenen sein. technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 5- Kodierung des Kanalverdrahtungsproblems technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 6- Kanalverdrahtung technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 7- Horizontal constraints graph technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 8- Intervallgraphen Der HCG ist per Konstruktion ein Intervallgraph technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 9- Restrictive routing technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 10 - Zusammenhang mit dem Färbungsproblem technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 11 - Der left-edge Algorithmus technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 12 - Der left-edge Algorithmus (2) technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 13 - Beispiel technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 14 - Berücksichtigung der vertikalen Segmente (je Ebene eine Farbe) technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 15 - Vertical constraints graph technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 16 - VCG topologisches Sortieren. technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 17 - Left edge Algorithmus mit Berücksichtigung des VCG Jeweils Start einer neuen Spur, wenn dies wegen des VCGs erforderlich ist. Ohne Netz 3 ok; Mit Netz 3 Verdrahtung mittels left edgeAlgorithmus nicht möglich. 2. horizont. Segment erforderlich. technische universität dortmund fakultät für informatik http://foghorn.cadlab.lafayette.edu/ - p. marwedel, - 18 cadapplets/ChannelRouter.html informatik 12, 2008 Dogleg-Kanalverdrahtung nach Deutsch dogleg technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 19 - Aufbrechen aller Zyklen? technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 20 - „Greedy channel router“ von Rivest und Fiduccia Beliebige Zahl horizontaler Segmente pro Spalte und Netz. Durchlauf durch Kanal von links nach rechts 5 5 1 1 2 2 3 3 4 4 5 5 2 2 3 3 2 2 1 1 4 4 3 technische universität dortmund i:=1 (*Spaltennummer*) repeat (*von links nach rechts*) Erzeuge mögliche Top- und Bottom-Verbindungen: 1: Falls (Top[i]=Bottom[i]0) dann verbinde Top und Bottom 2: Falls (Top[i] Bottom[i]) und (Bottom[i] 0) und es existiert ein Konflikt, dann erzeuge kürzeste Verbindung 3 fakultät für informatik p. marwedel, informatik 12, 2008 - 21 - „Greedy channel router“ von Rivest und Fiduccia (2) 1 1 2 3 1 2 3 1 0 0 0 0 1 2 1 2 1 1 3 2 3 2 4 3 4 3 0 0 0 0 1 1 2 2 1 1 2 2 0 technische universität dortmund 3: Falls (Top[i] 0) oder (Bottom[i] 0) dann bringe das Netz an diejenige nächste Spur, die entweder frei oder bereits vom Netz belegt ist. Hier wird nicht mit der belegten Spur verbunden! Vereinigung von geteilten Netzen: Vollständige Suche nach Doglegs, die den größten Gewinn erbringen. Gewinn: pro vereinigtem Netz eine Spur sowie für jedes Netz, das beendet wird, eine weitere Spur. Annäherung von geteilten Netzen: Äußere Spuren von geteilten Netzen rücken so weit, wie möglich, in die Mitte (Vorbereitung der Vereinigung). 0 fakultät für informatik p. marwedel, informatik 12, 2008 - 22 - „Greedy channel router“ von Rivest und Fiduccia (3) 1 2 1 1 2 2 0 0 1 2 0 0 0 1 2 1 0 1 2 1 Annäherung an den nächsten Anschluss: Dogleg nach oben, wenn der nächste Anschluss des Netzes sich oben befindet und in den nächsten k Spalten (k: Systemkonstante) kein Anschluss unten existiert. Entsprechend für unten. Kanalverbreiterung: Verbreitere den Kanal, falls Top oder Bottom-Anschluss nicht möglich war. 3 3 1 2 0 1 2 technische universität dortmund 0 Erzeuge horizontale Segmente für den Übergang zur nächsten Spalte; i:=i+1; until (i>rechter Kanalrand) und es existieren keine geteilten Netze fakultät für informatik p. marwedel, informatik 12, 2008 - 23 - Anwendungs-Beispiel: das schwierige Beispiel von Deutsch technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 24 - Anwendungs-Beispiel: das schwierige Beispiel von Deutsch (2) technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 25 - Switchbox-Routing An allen 4 Seiten Anschlüsse. Eine Kanalverbreiterung ist dann nicht mehr möglich. Beispiele: technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 26 - 3-Lagen-Verdrahtung Beispiel 1. Nicht reservierte Ebenen 1 Spur 2. reservierte Ebenen a) HVH: geringe Kanalbreite 2 Spuren b) VHV: kein Problem mit vertikalen Segmenten 3 Spuren technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 27 - Neuere Router YACR2:yet another channel router, Berkeley Hierarchical channel router technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 28 - Zusammenfassung Sortierung von Verdrahtungsregionen River routing 2-Lagen Kanalverdrahtung • HCG • Intervallgraphen, left edge-Algorithmus • VCG • Dogleg channel routing: Deutsch; Rivest&Fiduccia Switchbox-Routing 3-Lagen-Verdrahtung technische universität dortmund fakultät für informatik p. marwedel, informatik 12, 2008 - 29 -