29
fakultät für informatik informatik 12 technische universität dortmund Universität Dortmund Universität Dortmund Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung - Peter Marwedel Universität Dortmund 2008/07/09

Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

Embed Size (px)

DESCRIPTION

Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -. Peter Marwedel Universität Dortmund. 2008/07/09. Sortierung der Verdrahtungsregionen. Konsequenz. Verdrahtung bei einer Verdrahtungsebene. dann. Kanalverdrahtung in zwei Ebenen. sein. Kodierung des Kanalverdrahtungsproblems. - PowerPoint PPT Presentation

Citation preview

Page 1: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

fakultät für informatikinformatik 12

technische universität dortmund

Universität DortmundUniversität Dortmund

Layout-Synthese- Detaillierte Verdrahtung: Kanalverdrahtung -

Peter MarwedelUniversität Dortmund

2008/07/09

Page 2: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 2 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Sortierung der Verdrahtungsregionen

Page 3: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 3 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Konsequenz

Page 4: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 4 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Verdrahtung bei einer Verdrahtungsebene

dann

Page 5: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 5 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Kanalverdrahtung in zwei Ebenen

sein.

Page 6: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 6 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Kodierung des Kanalverdrahtungsproblems

Page 7: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 7 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Kanalverdrahtung

Page 8: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 8 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Horizontal constraints graph

Page 9: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 9 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Intervallgraphen

Der HCG ist per Konstruktion ein Intervallgraph

Page 10: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 10 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Restrictive routing

Page 11: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 11 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Zusammenhang mit dem Färbungsproblem

Page 12: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 12 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Der left-edge Algorithmus

Page 13: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 13 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Der left-edge Algorithmus (2)

Page 14: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 14 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Beispiel

Page 15: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 15 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Berücksichtigung der vertikalen Segmente

(je Ebene eine Farbe)

Page 16: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 16 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Vertical constraints graph

Page 17: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 17 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

VCG

topologisches Sortieren.

Page 18: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 18 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Left edge Algorithmus mit Berücksichtigung des VCG

Ohne Netz 3 ok; Mit Netz 3 Verdrahtung mittels left edge-Algorithmus nicht möglich. 2. horizont. Segment erforderlich.

Jeweils Start einer neuen Spur, wenn dies wegen des VCGs erforderlich ist.

http://foghorn.cadlab.lafayette.edu/cadapplets/ChannelRouter.html

Page 19: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 19 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Dogleg-Kanalverdrahtung nach Deutsch

dogleg

Page 20: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 20 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Aufbrechen aller Zyklen?

Page 21: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 21 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

„Greedy channel router“ von Rivest und Fiduccia

Beliebige Zahl horizontaler Segmente pro Spalte und Netz.Durchlauf durch Kanal von links nach rechts

5

5

5

5

1

2

3

4

1

2

3

4

2

3

2

3

3

2

1

4

3

2

1

4

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

Page 22: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 22 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

„Greedy channel router“ von Rivest und Fiduccia (2)

1

0

1

0

2

3

1

2

3

1

0

0

0

0

1

2

1

3

2

4

3

1

2

1

3

2

4

3

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

0

0

0

1

2

1

2

1

2

1

2

Page 23: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 23 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

„Greedy channel router“ von Rivest und Fiduccia (3)

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.

Erzeuge horizontale Segmente für den Übergang zur nächsten Spalte; i:=i+1;until (i>rechter Kanalrand) und es existieren keine geteilten Netze

1

2

1

2

2

0

1

0

2

0

1

0

0

3

0

3

1

21

1

21

2

1 0

2

1 0

Page 24: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 24 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Anwendungs-Beispiel:das schwierige Beispiel von Deutsch

Page 25: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 25 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Anwendungs-Beispiel:das schwierige Beispiel von Deutsch (2)

Page 26: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 26 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Switchbox-Routing

An allen 4 Seiten Anschlüsse. Eine Kanalverbreiterung ist dann nicht mehr möglich.Beispiele:

Page 27: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 27 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

3-Lagen-Verdrahtung

1. Nicht reservierte Ebenen

b) VHV: kein Problem mit vertikalen Segmenten

b) VHV: kein Problem mit vertikalen Segmenten

2. reservierte Ebenena) HVH: geringe Kanalbreite

2. reservierte Ebenena) HVH: geringe Kanalbreite

3 Spuren

2 Spuren

1 Spur

Beispiel

Page 28: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 28 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

Neuere Router

YACR2:yet another channel router, Berkeley Hierarchical channel router

Page 29: Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung -

- 29 -technische universitätdortmund

fakultät für informatik

p. marwedel, informatik 12, 2008

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