Layout-Synthese - Labyrinth-Algorithmen - (engl. maze running algorithms )
description
Transcript of Layout-Synthese - Labyrinth-Algorithmen - (engl. maze running algorithms )
fakultät für informatikinformatik 12
technische universität dortmund
Layout-Synthese- Labyrinth-Algorithmen -
(engl. maze running algorithms)
Peter MarwedelUniversität Dortmund, Informatik 12
2008/07/12
- 2 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Der Lee-Algorithmus
Lee, 1961: erster Algorithmus, der speziell zur Verdrahtung elektronischer Schaltungen entwickelt wurde. Ziel des Algorithmus ist das Finden eines kürzesten
Weges in einem Labyrinth (engl. maze) zwischen zwei Punkten A und B.
Verdrahtung innerhalb einer Ebene. Rasterung der Ebene (ungeeignet für große Flächen)
- 3 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Phasen 1 & 2 des Lee-Algorithmus
A
5 4 3 4 5 6 7 8 9 10
4 3 2 3 4 5 6 7 8 9
3 2 1 5 6 7
2 1 0 6 7 8 9 10 11
3 2 1 11 12
4 3 2 13 13 12
5 4
6 10
12
6 5 11 13
7 6 7 8 9 10 11 12 13
B
2
2
2
2
2
33
3
3
3
3
44
4
4
4 4 5
5
5
5
5
52: repeat Unmarkierte Nachbarn von Feldern, die mit dem aktuellen Wert von i markiert sind, werden mit i+1 markiert. Anschließend wird i um 1 erhöht.until (Zielpunkt erreicht) oder (alle Felder sind markiert).
1: Wähle einen der beiden Punkte A bzw. B als Startpunkt aus. Der andere Punkt werde als Zielpunkt bezeichnet. Markiere den Startpunkt mit 0. Setze i:=0;
6
6
6 6
6
6
6
7
7
7
7
77
8
8
8
8
9
9
9
9
10
10
10
10
11
11
11
11 12
12
12
12
13
13
13
13
13
13
- 4 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Phase 3 des Lee-Algorithmus
3: Kehre über streng absteigende Markierungen vom Ziel zum Start zurück. Falls verschiedene Wege möglich sind, versuche die aktuelle Richtung beizubehalten, um die Zahl der Knicke klein zu halten. Dieser Vorgang heißt backtrace.
A
5 4 3 4 5 6 7 8 9 10
4 3 2 3 4 5 6 7 8 9
3 2 1 5 6 7
2 1 0 6 7 8 9 10 11
3 2 1 11 12
4 3 2 13 13 12
5 4
6 10
12
6 5 11 13
7 6 7 8 9 10 11 12 13
B
2
2
2
2
2
33
3
3
3
3
44
4
4
4 4 5
5
5
5
5
5 6
6
6 6
6
6
6
7
7
7
7
77
8
8
8
8
9
9
9
9
10
10
10
10
11
11
11
11 12
12
12
12
13
13
13
13
13
13
- 5 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Phase 4 des Lee-Algorithmus
Im letzten Schritt wird der gefundene Weg für weitere Leitungen blockiert und die Marken werden gelöscht.Dieser Vorgang heißt clearance.
A
5 4 3 4 5 6 7 8 9 10
4 3 2 3 4 5 6 7 8 9
3 2 1 5 6 7
2 1 0 6 7 8 9 10 11
3 2 1 11 12
4 3 2 13 13 12
5 4
6 10
12
6 5 11 13
7 6 7 8 9 10 11 12 13
B
2
2
2
2
2
33
3
3
3
3
44
4
4
4 4 5
5
5
5
5
5 6
6
6 6
6
6
6
7
7
7
7
77
8
8
8
8
9
9
9
9
10
10
10
10
11
11
11
11 12
12
12
12
13
13
13
13
13
13
Siehe http://foghorn.cadlab.lafayette.edu/cadapplets/MazeRouter.html
- 6 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Komplexität
Sei n die Kantenlänge. Speicherplatz: O(n²) für die Matrix und Buchführung über
die Wellenfront. Laufzeit: Im schlimmsten Fall
• Für die Wellenausbreitung: O(n²)• Für die Backtrace-Phase: O(ℓ), mit ℓ = Abstand(A,B)
Vorteil: Lässt sich leicht an unterschiedliche Randbedingungen anpassen.
Vorteil: Lässt sich leicht an unterschiedliche Randbedingungen anpassen.
- 7 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Einfache Methoden der Beschleunigung
Als Startpunkt wird der Punkt benutzt, der dem Rand näher liegt. Damit brauchen weniger Felder markiert zu werden.
Man beginnt an beiden Punkten gleichzeitig. Auch damit werden in der Regel weniger Felder markiert.
Die Markierung wird auf ein Rechteck begrenzt, das A und B einschließt und nur wenig (10-20 %) größer als das minimale umschließende Rechteck ist. Wird hierbei eine Lösung nicht gefunden, so wird in einem zweiten Versuch diese Begrenzung aufgehoben.
- 8 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Erweiterungen (1)
Mehrpunktnetze:Für 2-Punkt-Netze Weg mit kürzestem Abstand, sofern dieser existiert.Bei n-Punkt-Netzen Konstruktion eines Steiner-Baums.
Mehrlagenverdrahtung, 3-dimensional: Abstände innerhalb von Quadern. Größere
Komplexität. Vernachlässigung der Entfernung zwischen den
Lagen; Annahme, dass zu verbindende Punkte in allen Lagen erreichbar sind (teuer bei ICs). Für jede zu verdrahtende Lage 1 Tableau für die Blockierungsinformation sowie 1 Tableau für die Abstände.
Siehe http://foghorn.cadlab.lafayette.edu/cadapplets/MultiMaze.html
- 9 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Erweiterungen (2)
Vermeidung der Blockierung für folgende WegeBislang keinerlei Rücksicht, wie schwer Verdrahtung der folgenden Netze sein wird. Günstig, Wege möglichst eng parallel zu existierenden Wegen anzuordnen. Durch Einführung von gewichteten Rasterpunkten können gewisse Wege bevorzugt werden. Während der Wellenausbreitung Erhöhung um das Gewicht des jeweiligen Rasterpunktes.
- 10 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Liniensuchalgorithmen
Verdrahtung über relativ große Distanzen ohne Knicke?
- 11 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Soukup‘s schneller Labyrinth-Algorithmus
Soukup (1978): Kombination von Lee-Algorithmus und den eigentlichen line search Verfahren.
Soukup (1978): Kombination von Lee-Algorithmus und den eigentlichen line search Verfahren.
.
. . . . . . .
.1 . . . . . .
A . . . . . . .
. . . . . . . .
.
. . . . . B
.
Algorithmus generiert zunächst eine Linie vom Ausgangspunkt in Richtung des Zielpunktes.
Sofern der Zielpunkt nicht erreicht wird, wird um diese Linie herum mittels des Lee-Algorithmus ein Rasterpunkt gesucht, der den Abstand zum Zielpunkt gegenüber dem bisherigen Abstand von der Linie zum Zielpunkt verkürzt.
Die Menge der Linien wird sodann um Linien durch diesen Rasterpunkt erweitert.
.
.
..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
=9
=10
Beispiel:
- 12 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Soukup‘s schneller Labyrinth-Algorithmus (2)
Mit der jeweils zuletzt gefundenen Linie als Menge neuer Startpunkte wird dieser Prozess wiederholt, bis der Endpunkt erreicht ist.
.
. . 3 2 3 . . . . . . .
. 3 2 1 2 3 . . . . . .
3 2 1 A . . . . . . .
3 2 1 . . . . . . . .
3 2 1 .
. . . . . B
.
=7
4
44
4
4
5
5
5
5
5
=8 .
. . . 1 1 1 1 1 1 1 1 .
. . 1 . . . . . . . .
. . . A 1 1 1 1 1 1 .
. . . . . . . . . . .
. . . .
. . . . . B
.
1
1
- 13 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Soukup‘s schneller Labyrinth-Algorithmus (3)
Mit der jeweils zuletzt gefundenen Linie als Menge neuer Startpunkte wird dieser Prozess wiederholt, bis der Endpunkt erreicht ist.
.
. . . 1 1 1 1 1 1 1 1 .
. . 1 . . . . . . . .
. . . A 1 1 1 1 1 1 .
. . . . . . . . . . .
. . . .
. . . . . B
.
=4
3
. . . . . . . . 3 2 1 2
. . . . . . . . . . . 1
. . . A . . 3 2 1 . 1
. . . . . . 3 2 1 . 1
. . . .
. . . . . B
2
- 14 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Soukup‘s schneller Labyrinth-Algorithmus (4)
3
. . . . . . . . 3 2 1 2
. . . . . . . . . . . 1
. . . A . . 3 2 1 . 1
. . . . . . 3 2 1 . 1
. . . .
. . . . . B
2
Mit der jeweils zuletzt gefundenen Linie als Menge neuer Startpunkte wird dieser Prozess wiederholt, bis der Endpunkt erreicht ist.
=3
. . . . . . . . . . . .
.
. . . . . . . . . . . .
. . . A . . . . . . .
. . . . . . . . . . .
. . . .
. . . . . B
.
- 15 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Soukup‘s schneller Labyrinth-Algorithmus (5)
.
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . A . . . . . . .
. . . . . . . . . . .
. . . .
. . . . . B
.
Mit der jeweils zuletzt gefundenen Linie als Menge neuer Startpunkte wird dieser Prozess wiederholt, bis der Endpunkt erreicht ist.
. . . . . . . . . . . .
.
. . . . . . . . . . . .
. . . A . . . . . . .
. . . . . . . . . . .
. . . .
. . . . . B
.
=2
- 16 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Bewertung
Falls eine Lösung existiert, wird von diesem Algorithmus auch immer eine Lösung gefunden, da notfalls immer mittels des Lee-Algorithmus gesucht wird.
Die gefundene Lösung ist aber nicht notwendig optimal.
Laut Soukup soll der Algorithmus für typische Beispiele 10-50-fach schneller als der Lee-Algorithmus sein. Bei sehr engen Platzverhältnissen reduziert sich dieser Geschwindigkeitsvorteil.
- 17 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Line-search Verfahren von Mikami und Tabuchi
Mikami, Tabuchi (1968): Kein Lee-Algorithmus nötig.
Zunächst werden die senkrechten und waagerechten Linien durch Ausgangs- und Zielpunkte gebildet.Diese 4 Linien heißen Versuchslinien der Ebene 0. Sofern sich diese schneiden, ist ein Weg gefunden.
Zunächst werden die senkrechten und waagerechten Linien durch Ausgangs- und Zielpunkte gebildet.Diese 4 Linien heißen Versuchslinien der Ebene 0. Sofern sich diese schneiden, ist ein Weg gefunden.
. .. . . . . . .
. .
.
.
. .
......
.
. . . . .
... .
.
.
.
.
. . .
. . .
. .
. . .
. . .
A
B
(0)
- 18 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Line-search Verfahren von Mikami und Tabuchi (2)
Zunächst werden die senkrechten und waagerechten Linien durch Ausgangs- und Zielpunkte gebildet.Diese 4 Linien heißen Versuchslinien der Ebene 0. Sofern sich diese schneiden, ist ein Weg gefunden.
Sonst: Errichten aller Senkrechten auf den Versuchlinien der Ebene 0.Sofern die vom Startpunkt ausgehenden Versuchlinien die vom Zielpunkt ausgehenden Versuchslinien schneiden, ist ein Weg gefunden.Diese heißen Versuchslinien der Ebene 1.
Zunächst werden die senkrechten und waagerechten Linien durch Ausgangs- und Zielpunkte gebildet.Diese 4 Linien heißen Versuchslinien der Ebene 0. Sofern sich diese schneiden, ist ein Weg gefunden.
Sonst: Errichten aller Senkrechten auf den Versuchlinien der Ebene 0.Sofern die vom Startpunkt ausgehenden Versuchlinien die vom Zielpunkt ausgehenden Versuchslinien schneiden, ist ein Weg gefunden.Diese heißen Versuchslinien der Ebene 1.
. .. . . . . . .
. .
B
.
.
. .
......
.
. . . . .
... .
.
.
.
.
. . .
. . .
. . A
. . .
. . .
(1)
. .. . . . . . .
. .
.
.
. .
......
.
. . . . .
... .
.
.
.
.
. . .
. . .
. .
. . .
. . .
A
B
(0)
- 19 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Line-search Verfahren von Mikami und Tabuchi (3)
Sonst: fahre mit weiteren Ebenen fort.
- 20 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Eigenschaften (1)
Ein Schnitt von Versuchlinien der Ebene i mit solchen der Ebene j enthält i+j+1 Knicke. Durch passende Reihenfolge der Linienbildung kann stets mit wachsendem (i+j) auf Schnitt testen. So wird immer ein Weg mit minimaler Zahl von Knicken gefunden.
Für eine bestimmte Ebene werden die Linien mit dem kleinsten Abstand zu den Ausgangspunkten zuerst betrachtet, um so möglichst auch die Verdrahtungslänge klein zu halten.
. .. . . . . . .
. .
B
.
.
. .
......
.
. . . . .
... .
.
.
.
.
. . .
. . .
. . A
. . .
. . .
(1)
- 21 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Eigenschaften (2)
Falls eine Lösung existiert, wird sie von diesem Algorithmus auch immer gefunden, sofern wirklich alle Versuchslinien gespeichert werden.
- 22 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Line search Verfahren von Hightower
Bei Liniensuch-Algorithmus von Hightower wird statt aller Senkrechten lediglich eine einzelne Linie gespeichert.
... . . . . . .
. .
.
.
. .
......
.
. . . . .
... .
.
.
.
.
. . .
. . .
. .
. . .
. . .
A
B
(0) (1) ... . . . . . .
. .
.
.
. .
......
.
. . . . .
... .
.
.
.
.
. . .
. . .
. .
. . .
. . .
A
B
Heuristische Wahl der Linie nach vielen Kriterien. Schneller als Soukup, wenn das Verfahren eine Lösung findet.
Heuristische Wahl der Linie nach vielen Kriterien. Schneller als Soukup, wenn das Verfahren eine Lösung findet.
- 23 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Linienerweiterungs-Algorithmus
Heynes, Beke (1980)
Errichte Senkrechte („Aktivlinien“) auf den Anschlüssen am Rand der Zellen. STOP falls Linienschnitt.
Errichte Senkrechte („Aktivlinien“) auf den Anschlüssen am Rand der Zellen. STOP falls Linienschnitt.
Aktivlinien
A
B
.
A
B
Expansions-fläche
Analyse, ob Expansion seitlich der Aktivlinien möglich. Flächen, die über Senkrechte auf Aktivlinien zu erreichen sind, heißen Expansions-flächen. Senkrechte, welche die Expansionsflächen begrenzen, sind die nächsten Aktivlinien. Falls sich diese schneiden STOP, sonst Wiederholung
Analyse, ob Expansion seitlich der Aktivlinien möglich. Flächen, die über Senkrechte auf Aktivlinien zu erreichen sind, heißen Expansions-flächen. Senkrechte, welche die Expansionsflächen begrenzen, sind die nächsten Aktivlinien. Falls sich diese schneiden STOP, sonst Wiederholung
- 24 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Linienerweiterungs-Algorithmus (2)
A
B
Aktivlinien
A
B
Schnitt der Expansionsflächen
Analyse, ob Expansion seitlich der Aktivlinien möglich. Flächen, die über Senkrechte auf Aktivlinien zu erreichen sind, heißen Expansions-flächen. Senkrechte, welche die Expansionsflächen begrenzen, sind die nächsten Aktivlinien. Falls sich diese schneiden STOP, sonst Wiederholung
Analyse, ob Expansion seitlich der Aktivlinien möglich. Flächen, die über Senkrechte auf Aktivlinien zu erreichen sind, heißen Expansions-flächen. Senkrechte, welche die Expansionsflächen begrenzen, sind die nächsten Aktivlinien. Falls sich diese schneiden STOP, sonst Wiederholung
- 25 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Moderne Mehrebenenverdrahtung
http://www.imec.be/mtc/mtcpdf/Tutorial-on-chip-interconnect.pdf
- 26 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Ungefüllte Löcher einer Mehrebenenverdrahtung
http
://w
ww
.imec
.be/
mtc
/mtc
pdf/
Tut
oria
l-on-
chip
-inte
rcon
nect
http
://w
ww
.imec
.be/
mtc
/mtc
pdf/
Tut
oria
l-on-
chip
-inte
rcon
nect
- 27 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Spezielle Probleme moderner Technologien (1)
1. LeitungslaufzeitenBestimmung der Laufzeiten bislang:1. Extraktion der Kapazitäten aus dem Layout2. Annotation der Netzlisten („back annotation“) Simulatoren können einwandfreie Funktion
bei einer bestimmten Taktfrequenz überprüfen.
Besonders problematische Netze werden als kritische Netze gekennzeichnet.
In einer Iteration werden diese bevorzugt berücksichtigt. Bei älteren Technologien einige wenige Male durchzuführen.
Bei neueren Technologien problematisch, Konvergenz („timing closure“) zu erreichen. S
ee
http
://w
ww
.tech
on
line.
com
/co
mm
unity
/ te
ch_t
op
ic/ti
min
g_cl
osu
re/1
401
6?cs
p_
id=
37
- 28 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Spezielle Probleme moderner Technologien (2)
2. SignalverflachungSpannungspegel können stark reduziert werden. Mögliche Probleme erkennen und korrigieren.
3. Betrachtung der electro migration:Bei hoher Stromdichte: Metallwanderung. stark verkürzte Lebensdauer der Schaltung. Problemfälle erkennen und beseitigen.
ww
w.n
d.e
du
/ ~
mic
ro/f
ig20
.htm
l
- 29 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Electro migration
.
kT
En
a
eAJMTTF
Empirisches Black’sches Gesetz
A: abhängig vom QuerschnittJ: Stromdichten ~ 2Ea: materialabhängigT: Temperatur
movie
http://www.dwpg.com/content.php?contid=2&artid=68
- 30 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Spezielle Probleme moderner Technologien (3)
4. power and ground routingMetallwanderung muss v.a. auch in Bezug auf die Spannungs-versorgung beachtet werden.Erwarteter und der zulässiger Spannungsabfall müssen miteinander in Beziehung gebracht werden.
- 31 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Spezielle Probleme moderner Technologien (4)
5. TaktverdrahtungDer zeitliche Unterschied des Eintreffens der Taktflanken an den verschiednen Teilen der Schaltung muss möglichst klein sein. Spezielle Taktverdrahtung, starke Leitungstreiber, gleich lange Leitungsführung (z.B. H-Baum).
6. ÜbersprechenMögliches Übersprechen muss erkannt und durch Änderung der Geometrie beseitigt werden.
http
://w
ww
.mag
ma-
da.c
om/c
/@
q7x5
pnxv
_yC
yo/
Pag
es/S
Iove
rvie
w.h
tml
ph
oto
nic
s.m
it.e
du
/re
sear
ch/
2003
/op
t_cl
ock
.htm
l
- 32 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Spezielle Probleme moderner Technologien (5)
5. Elektromagnetische VerträglichkeitMaßnahmen zur Vermeidung einer starken Empfindlichkeit gegenüber externer elektromagnetischer Strahlung.
6. Erwärmung der SchaltungenZu vermeiden, dass einzelne Teile einer Schaltung zu heiß werden.Temperaturverteilung muss vorhergesagt werden.
Spezielle Probleme werden in dem Buch von Sherwani angesprochen.
htt
p:/
/ww
w.m
icre
d.c
om
/eve
nts
/se
mith
erm
20
03
/elth
/ea
10
.htm
lw
ww
.em
v-t
ec
h.d
e/
Ma
gn
etf
eld
ab
sc
hir
mu
ng
.htm
- 33 -technische universitätdortmund
fakultät für informatik
p. marwedel, informatik 12, 2008
TU Dortmund
Zusammenfassung
Labyrinth-Verdrahtung
Lee-Algorithmus
Soukup‘s Algorithmus: Mischung von Raster- und Linien-basierten Verfahren
Mikami und Tabuchi: Linienbasiertes Verfahren
Hightower: Linienbasiertes Verfahren
Heynes, Beke: Linienerweiterungsalgorithmus
Probleme moderner Technologien
Das war‘s ()