Layout-Synthese - Labyrinth-Algorithmen - (engl. maze running algorithms )

Preview:

DESCRIPTION

Layout-Synthese - Labyrinth-Algorithmen - (engl. maze running algorithms ). Peter Marwedel Universität Dortmund, Informatik 12. 2008/07/12. Der Lee-Algorithmus. Lee, 1961: erster Algorithmus, der speziell zur Verdrahtung elektronischer Schaltungen entwickelt wurde. - PowerPoint PPT Presentation

Citation preview

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

.pdf

http

://w

ww

.imec

.be/

mtc

/mtc

pdf/

Tut

oria

l-on-

chip

-inte

rcon

nect

.pdf

- 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 ()

Recommended