gliederung kapitel 3 – · pdf filelayoutsynthese elektronischer schaltungen –...

93
Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 1 Gliederung Kapitel 3 – Floorplanning 3.1 Einführung 3.2 Optimierungsziele 3.3 Begriffe und Datenstrukturen 3.4 Algorithmen für das Floorplanning 3.4.1 Floorplan-Sizing-Algorithmus 3.4.2 Cluster-Wachstums-Algorithmus (Cluster Growth) 3.4.3 Weitere Algorithmen für das Floorplanning 3.5 Pinzuordnung (Pin Assignment) 3.5.1 Problembeschreibung 3.5.2 Pinzuordnung mittels konzentrischer Kreise 3.5.3 Topologische Pinzuordnung

Upload: lyliem

Post on 06-Feb-2018

225 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 1

Gliederung Kapitel 3 – Floorplanning

3.1 Einführung

3.2 Optimierungsziele

3.3 Begriffe und Datenstrukturen

3.4 Algorithmen für das Floorplanning3.4.1 Floorplan-Sizing-Algorithmus3.4.2 Cluster-Wachstums-Algorithmus (Cluster Growth)3.4.3 Weitere Algorithmen für das Floorplanning

3.5 Pinzuordnung (Pin Assignment)3.5.1 Problembeschreibung3.5.2 Pinzuordnung mittels konzentrischer Kreise3.5.3 Topologische Pinzuordnung

Page 2: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2

3.1 Einführung

VerhaltensentwurfLogischer Entwurf

Layoutsynthese

Layoutverifikation

Chip

Floorplanning

Platzierung

Verdrahtung

Kompaktierung

ENTITY test isport a: in bit;

end ENTITY test;Partitionierung

Herstellung

Systemspezifikation

Architekturentwurf

Schaltungsentwurf

Verpackung/Test

Page 3: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 3

3.1 Einführung

Die Aufgabe des Floorplanning besteht darin, das Ergebnis der Schaltungspartitionierung so aufzubreiten, dass jeder dabei erstellte Block intern platziert und verdrahtet werden kann. Dazu sind i.Allg.

die Abmessungen bzw. Seitenverhältnisse der einzelnen Blöcke, und evtl. auch der Topzelle, festzulegen,

die Positionen der Außenanschlüsse in den einzelnen Blöcken zu bestimmen (Pinzuordnung) und

die Positionen dieser Blöcke innerhalb der Topzelle zu definieren.

Page 4: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 4

3.1 Einführung

Gegeben: Drei Blöcke mit folgenden Seitenverhältnissen (Breite w, Höhe h) Block A: w = 1, h = 4 oder w = 4, h = 1 oder w = 2, h = 2 Block B: w = 1, h = 2 oder w = 2, h = 1 Block C: w = 1, h = 3 oder w = 2, h = 2 oder w = 4, h = 1 Gesucht: Floorplan mit minimaler Gesamtfläche der Topzelle

Page 5: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 5

3.1 Einführung

Gegeben: Drei Blöcke mit folgenden Seitenverhältnissen (Breite w, Höhe h) Block A: w = 1, h = 4 oder w = 4, h = 1 oder w = 2, h = 2 Block B: w = 1, h = 2 oder w = 2, h = 1 Block C: w = 1, h = 3 oder w = 2, h = 2 oder w = 4, h = 1 Gesucht: Floorplan mit minimaler Gesamtfläche der Topzelle Lösung: Seitenverhältnisse Block A mit w = 2, h = 2; Block B mit w = 2, h = 1; Block C mit w = 1, h = 3 Mögliche Anordnung der Blöcke: Damit entspricht diese Lösung dem theoretischen Optimum (neun Flächeneinheiten).

A

B

C

Page 6: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 6

3.2 Optimierungsziele

Fläche und Form des umschließenden Rechtecks

Gesamtverbindungslänge

Fläche und Gesamtverbindungslänge

Signalverzögerungen (Performance-driven, Timing-driven)

Page 7: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 7

3.2 Optimierungsziel: Fläche und Form des umschließenden Rechtecks

Flächenminimale Topzelle angestrebt

Soft Blocks: Flächenminimierung der Topzelle erfolgt unter Ausnutzung der Flexibilität in den Formen der einzelnen Blöcke, denn diese lassen sich dann flächenminimal anordnen, wenn man ihre Formen zueinander passend gestaltet

Hard Blocks: Keine Flexibilität der Blockformen („Bin Packing Problem“)

Evtl. Einhalten von Formvorgaben an Topzelle

Page 8: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 8

P1

P2

3.2 Optimierungsziel: Gesamtverbindungslänge

Minimierung der Toplevel-Verdrahtung angestrebt

Längenbestimmung über Manhattan-Entfernung (Manhattan-Metrik)

Längenbestimmung über minimalen Spannbaum (euklidische Metrik)

n nn yyxxPP 121221 ),(Abstand

Euklidische Metrik Manhattan-Metrik

n=1 für Manhattan-Metrikn=2 für euklidische Metrik

Page 9: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 9

Kapitel 3 – Floorplanning

3.1 Einführung

3.2 Optimierungsziele

3.3 Begriffe und Datenstrukturen

3.4 Algorithmen für das Floorplanning3.4.1 Floorplan-Sizing-Algorithmus3.4.2 Cluster-Wachstums-Algorithmus (Cluster Growth)3.4.3 Weitere Algorithmen für das Floorplanning

3.5 Pinzuordnung (Pin Assignment)3.5.1 Problembeschreibung3.5.2 Pinzuordnung mittels konzentrischer Kreise3.5.3 Topologische Pinzuordnung

Page 10: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 10

Flexible Blöcke (Soft blocks) , feste Blöcke (Hard blocks)

3.3 Begriffe und Datenstrukturen

Blöcke mit variablen Formen, bei denen nur die Flächen vorgegeben sind, werden als flexible Blöcke bezeichnet

Bei festen Blöcken ist die äußere Form festgelegt

Page 11: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 11

B

D

AE

CA

BC

D

E

Basiszellen sind nichtausschließlich durch vertikale oder horizontale Zweiteilung entstanden

Mindestens fünf Basiszellen, sog. Rad (Wheel)

Geschnittener Floorplan(Slicing floorplan)

Ungeschnittener Floorplan(Non-slicing floorplan)

Basiszellen sind durch (wiederholte) vertikale oder horizontale Zweiteilung entstanden

B

DA

E

C

F

3.3 Begriffe und Datenstrukturen

Page 12: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 12

Floorplan l-ter Ordnung

Ein Floorplan besitzt die Ordnung l, wenn er durch Teilung eines Rechtecks in maximal l Teile entstanden ist.

3.3 Begriffe und Datenstrukturen

Page 13: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 13

A

B

C

D

E

F

G

Floorplan l-ter Ordnung

Ordnung 5

Geschnittener (Slicing) Floorplan: Ordnung 2

Ungeschnittener (Non-slicing) Floorplan: mindestens Ordnung 5

3.3 Begriffe und Datenstrukturen

Page 14: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 14

Schnittbaum (Slicing tree)

Ein Schnittbaum ist die Modellierung eines geschnittenen Floorplans durch einen Binärbaum mit k Blättern und k-1 Knoten

Jeder Knoten repräsentiert dabei eine Schnittlinie und jedes Blatt einen Block

Wesentliches Merkmal eines Schnittbaums ist seine Binärstruktur, d.h. jeder Knoten hat genau zwei Kinder

A

B C

H

A V

B C

3.3 Begriffe und Datenstrukturen

Page 15: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 15

H

V

A

B

C H

D VD

E F

H

B

A

E

C

F

Schnittbaum (Slicing tree)

3.3 Begriffe und Datenstrukturen

Page 16: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 16

H

V

A

B

C H

D VD

E F

H H

V

A B D H

C V

E F

H

B

A

E

C

F

Schnittbaum (Slicing tree)

3.3 Begriffe und Datenstrukturen

Page 17: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 17

Umgekehrte polnische Notation (Polish expression)

Operatoren V und H +

Durchlaufen des Schnittbaumes in „umgekehrter Richtung“ („Bottom-up-Bauplan“)

Länge 2n-1 (n = Anzahl der Blätter im Schnittbaum)

AB+CDEF++

H

V

A C H

D V

E F

H

B

F

+

A C +

D

E

+

B

3.3 Begriffe und Datenstrukturen

Page 18: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 18

Normalized Polish Expression (NPE)

Vermeidung von Redundanzen bei Floorplan-Abbildung

NPE: Keine zwei aufeinander folgende Operatoren sind identisch

Verdrehter Schnittbaum (Skewed slicing tree): Schnittrichtung des rechten Teilbaums immer verschieden von Vorgängerknoten

AB+DEF+C+

B

DA

E

C

F +

A C+

D

E F

+

B+

A C +

D

E

+

B

F

3.3 Begriffe und Datenstrukturen

Page 19: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 19

Floorplanbaum (Floorplan tree)

Jeder hierarchische Floorplan (geschnitten und ungeschnitten) kann durch einen Floorplanbaum repräsentiert werden

Jedes Blatt verkörpert dabei einen Block, jeder Knoten entweder einen vertikalen bzw. horizontalen Schnittoperator oder ein Rad

Binäre Schnittbäume (Slicing trees) sind damit Untermengen der Floorplanbäume

3.3 Begriffe und Datenstrukturen

Page 20: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 20

Floorplanbaum (Floorplan tree)

3.3 Begriffe und Datenstrukturen

H

H

H W H I

A B C D E F G

A

B

C

D

E

F

G

H

I

V

Page 21: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 21

Polargraph (Polar graph)

Blöcke als Kanten abgebildet, Schnittkanten als Knoten

Besteht aus zwei direkten Graphen

– Vertikaler Polargraph:Knoten sind horizontale Schnittkanten, Kanten dazwischen liegende Blöcke

– Horizontaler Polargraph:Knoten sind vertikale Schnittkanten, Kanten dazwischen liegende Blöcke

3.3 Begriffe und Datenstrukturen

Page 22: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 22

3.3 Begriffsbestimmungen

A

B

C

D

E

F

G

H

I

Page 23: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 23

3.3 Begriffsbestimmungen

DB

G

E

I

H

AC

F

Vertikaler Polargraph

A

B

C

D

E

F

G

H

I

Page 24: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 24

3.3 Begriffsbestimmungen

A,B C G E

D F

H,I

DB

G

E

I

H

AC

F

Horizontaler Polargraph

Vertikaler Polargraph

A

B

C

D

E

F

G

H

I

Page 25: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 25

Sequence Pair

Zwei Folgen von Blocknamen, aus denen sich Blockanordnung eindeutig ableiten lässt

Beispiel: (ABDCE, CBAED)

Angabe der horizontalen bzw. vertikalen Lagebeziehung:

(… X … Y … , … X … Y …) → X ist links von Y platziert(… X … Y … , … Y … X …) → X ist oberhalb von Y platziert(… Y … X … , … X … Y …) → X ist unterhalb von Y platziert(… Y … X … , … Y … X …) → X ist rechts von Y platziert

C

A

B

D

E

3.3 Begriffe und Datenstrukturen

Page 26: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 26

Kapitel 3 – Floorplanning

3.1 Einführung

3.2 Optimierungsziele

3.3 Begriffe und Datenstrukturen

3.4 Algorithmen für das Floorplanning3.4.1 Floorplan-Sizing-Algorithmus3.4.2 Cluster-Wachstums-Algorithmus (Cluster Growth)3.4.3 Weitere Algorithmen für das Floorplanning

3.5 Pinzuordnung (Pin Assignment)3.5.1 Problembeschreibung3.5.2 Pinzuordnung mittels konzentrischer Kreise3.5.3 Topologische Pinzuordnung

Page 27: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 27

3.4 Algorithmen für das Floorplanning

Floorplan-Sizing-Algorithmus (flexible Blöcke, soft blocks)

Cluster-Wachstums-Algorithmus (feste Blöcke, hard blocks)

Page 28: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 28

3.4.1 Floorplan-Sizing-Algorithmus: Begriffe

Formfunktionen

Blöcke mit flexiblen Abmessungen sind durch Flächenvorgabe A bestimmt

Damit haben, unabhängig von der Form des Blocks, die Höhe h und die Breite w der Randbedingung ha*aw A zu genügen

Abhängigkeit zwischen Höhe und Breite eines Blocks (z.B. Höhe als Funktion der Breite) wird als Formfunktion (Shape function) des Blocks bezeichnet

Page 29: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 29

3.4.1 Floorplan-Sizing-Algorithmus: Begriffe

ErlaubteBlockformen

ErlaubteBlockformen

w

h

w

h

Nac

h G

erez

, S. H

.: A

lgor

ithm

s fo

r VLS

I Des

ign

‚Aut

omat

ion,

Wile

y, 2

000

Formfunktionen

Mit minimalen Höhen- undBreitenbeschränkungen

ha*aw A

Page 30: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 30

3.4.1 Floorplan-Sizing-Algorithmus: Begriffe

w

h

Bibliotheksblock mit zwei Anordnungsmöglichkeiten

Formfunktionen

Nac

h G

erez

, S. H

.: A

lgor

ithm

s fo

r VLS

I Des

ign

‚Aut

omat

ion,

Wile

y, 2

000

w

h

Mit diskreten Höhen- und Breitenwerten

Page 31: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 31

3.4.1 Floorplan-Sizing-Algorithmus: Begriffe

Eckwerte

Die einzelnen diskreten Form-Möglichkeiten eines Blocks, die sich als „äußere“ Eckpunkte in der Formfunktion widerspiegeln, werden als Eckwerte (Break points) der Formfunktion bezeichnet

w

h

Page 32: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 32

3.4.1 Floorplan-Sizing-Algorithmus: Begriffe

5

2

2

5

2 5

2

5

Eckwerte

w

h

Page 33: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 33

3.4.1 Floorplan-Sizing-Algorithmus

Algorithmus

1. Ermittlung der Formfunktionen aller in der Topzelle anzuordnenden Blöcke.

2. Ermittlung der Formfunktion der Topzelle mit einer Bottom-up-Strategie, bei der vom niedrigsten Blockniveau ausgehend, die Formfunktionen der Blöcke kombiniert werden; Ermittlung der optimalen Größe bzw. Form der Topzelle.

3. Von der Formfestlegung der Topzelle ausgehend, wird der Schnittbaum nach „unten“ (Top down) abgearbeitet und dabei die jeweilige zusammengesetzte Blockform ermittelt, bis sämtliche (Basis-) Blöcke erreicht sind.

Page 34: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 34

3.4.1 Floorplan-Sizing-Algorithmus: Beispiel

4

2

2

4

Block B:

Block A:

55

3

3

1. Ermitteln der Formfunktionen der Blöcke

Page 35: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 35

3.4.1 Floorplan-Sizing-Algorithmus: Beispiel

4

2

2

4

Block B:

Block A:

55

3

3

w2 6

2

4

h

4

6

1. Ermitteln der Formfunktionen der Blöcke

5

3

Page 36: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 36

3.4.1 Floorplan-Sizing-Algorithmus: Beispiel

4

2

2

4

Block B:

Block A:

55

3

3

w2 6

2

4

h

4

6

hA(w)

1. Ermitteln der Formfunktionen der Blöcke

Page 37: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 37

3.4.1 Floorplan-Sizing-Algorithmus: Beispiel

4

2

2

4

Block B:

Block A:

55

3

3

hB(w)

w2 6

2

4

h

4

6

hA(w)

1. Ermitteln der Formfunktionen der Blöcke

Page 38: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 38

3.4.1 Floorplan-Sizing-Algorithmus: Beispiel

w2 6

2

4

h

4

6

hB(w)hA(w)

8

2. Ermitteln der Formfunktion der Topzelle (vertikale Zusammensetzung)

Page 39: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 39

3.4.1 Floorplan-Sizing-Algorithmus: Beispiel

w2 6

2

4

h

4

6

hB(w)hA(w)

8

2. Ermitteln der Formfunktion der Topzelle (vertikale Zusammensetzung)

Page 40: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 40

3.4.1 Floorplan-Sizing-Algorithmus: Beispiel

w2 6

2

4

h

4

6

w2 6

2

4

h

4

6

hB(w)hA(w)

hB(w)hA(w)

hC(w)

88

2. Ermitteln der Formfunktion der Topzelle (vertikale Zusammensetzung)

Page 41: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 41

3.4.1 Floorplan-Sizing-Algorithmus: Beispiel

w2 6

2

4

h

4

6

w2 6

2

4

h

4

6

hB(w)hA(w)

hB(w)hA(w)

hC(w)

5 x 5

88

2. Ermitteln der Formfunktion der Topzelle (vertikale Zusammensetzung)

Page 42: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 42

3.4.1 Floorplan-Sizing-Algorithmus: Beispiel

w2 6

2

4

h

4

6

w2 6

2

4

h

4

6

hB(w)hA(w)

hB(w)hA(w)

hC(w)

3 x 9

4 x 7

5 x 5

88

2. Ermitteln der Formfunktion der Topzelle (vertikale Zusammensetzung)

Page 43: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 43

3.4.1 Floorplan-Sizing-Algorithmus: Beispiel

w2 6

2

4

h

4

6

w2 6

2

4

h

4

6

hB(w)hA(w)

hB(w)hA(w)

hC(w)

3 x 9

4 x 7

5 x 5

88

2. Ermitteln der Formfunktion der Topzelle (vertikale Zusammensetzung)

Minimale Topzellen-Flächebei vertikaler Zusammensetzung

Page 44: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 44

3.4.1 Floorplan-Sizing-Algorithmus: Beispiel

w2 6

2

4

h

4

6

hA(w)hB(w)

8

2. Ermitteln der Formfunktion der Topzelle (horizontale Zusammensetzung)

Page 45: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 45

3.4.1 Floorplan-Sizing-Algorithmus: Beispiel

w2 6

2

4

h

4

6

hA(w)hB(w)

8

2. Ermitteln der Formfunktion der Topzelle (horizontale Zusammensetzung)

Page 46: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 46

3.4.1 Floorplan-Sizing-Algorithmus: Beispiel

w2 6

2

4

h

4

6

w2 6

2

4

h

4

6

hA(w)hB(w) hC(w)hA(w)hB(w)

88

2. Ermitteln der Formfunktion der Topzelle (horizontale Zusammensetzung)

Page 47: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 47

3.4.1 Floorplan-Sizing-Algorithmus: Beispiel

w2 6

2

4

h

4

6

w2 6

2

4

h

4

6

hA(w)hB(w) hC(w)hA(w)hB(w)

9 x 3

88

2. Ermitteln der Formfunktion der Topzelle (horizontale Zusammensetzung)

Page 48: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 48

3.4.1 Floorplan-Sizing-Algorithmus: Beispiel

w2 6

2

4

h

4

6

w2 6

2

4

h

4

6

hA(w)hB(w) hC(w)hA(w)hB(w)

9 x 3

7 x 4

5 x 5

88

2. Ermitteln der Formfunktion der Topzelle (horizontale Zusammensetzung)

Page 49: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 49

3.4.1 Floorplan-Sizing-Algorithmus: Beispiel

w2 6

2

4

h

4

6

w2 6

2

4

h

4

6

hA(w)hB(w) hC(w)hA(w)hB(w)

9 x 3

7 x 4

5 x 5

88

2. Ermitteln der Formfunktion der Topzelle (horizontale Zusammensetzung)

Minimale Topzellen-Flächebei horizontaler Zusammensetzung

Page 50: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 50

3.4.1 Floorplan-Sizing-Algorithmus: Beispiel

w2 6

2

4

h

4

6

8

3. Formfestlegung von Topzelle und Blöcken(horizontale Zusammensetzung)

Page 51: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 51

3.4.1 Floorplan-Sizing-Algorithmus: Beispiel

w2 6

2

4

h

4

6

1. Minimale Fläche der Topzelle: 5 x 5

8

3. Formfestlegung von Topzelle und Blöcken(horizontale Zusammensetzung)

Page 52: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 52

3.4.1 Floorplan-Sizing-Algorithmus: Beispiel

w2 6

2

4

h

4

6

1. Minimale Fläche der Topzelle: 5 x 5

2. Abgeleitete Blockformen: 2 x 4 und 3 x 5

8

3. Formfestlegung von Topzelle und Blöcken(horizontale Zusammensetzung)

Page 53: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 53

3.4.1 Floorplan-Sizing-Algorithmus: Beispiel

w2 6

2

4

h

4

6

1. Minimale Fläche der Topzelle: 5 x 5

2. Abgeleitete Blockformen: 2 x 4 und 3 x 5

2 x 4 3 x 5

5 x 5

8

3. Formfestlegung von Topzelle und Blöcken(horizontale Zusammensetzung)

Page 54: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 54

3.4.1 Floorplan-Sizing-Algorithmus: Beispiel

Resultierender Schnittbaum

2 x 4 3 x 5

5 x 5

B

V

AB A

Page 55: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 55

3.4.2 Cluster-Wachstum (Cluster Growth)

w

h

Topzelle w x h

Page 56: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 56

3.4.2 Cluster-Wachstum: Lineare Anordnung

Endende Netze Neue Netze

Weitergeführte Netze

Lineare Blockanordnung mit dem Ziel der Minimierung der Netze, die bei einem beliebigen Schnitt durch diese Blockfolge aufzutrennen sind

Drei Netzklassen für jeden Block:

Page 57: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 57

3.4.2 Cluster-Wachstum: Lineare Anordnung

Reihenfolge der Blockanordnung ergibt sich aus der jeweiligen Anzahl der Netze innerhalb der mit einem Block verbundenen Netzklassen

Gewinn (Gain) eines Blockes m:Gainm = (Anzahl der in m endenden Netze) – (von m ausgehende neue Netze)

Es wird immer der Block mit höchstem Gain, der also mehr Netze abschließt als jeder andere Block, als nächster platziert

A B

N1

N4

GainB = 1 (N1) – 1 (N4) = 0

Page 58: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 58

3.4.2 Cluster-Wachstum: Lineare Anordnung

Algorithmus zur linearen Anordnung S : Menge aller Blöcke Order: Reihenfolge der Blöcke /* anfangs leer */ Begin

Seed = Auswahl eines Anfangsblocks Order = [Seed] S = S – { Seed } Repeat

ForEach Block m S Do Ermitteln des Gewinns (Gain) des aktuellen Blocks m Gainm =(Anzahl der in m endenden Netze)–(von m ausgehende neue Netze)

End ForEach Auswahl des Blocks m* mit maximalem Gewinn Gainm If Gleichheit Then

Auswahl des Blocks, der die meisten Netze beendet ElseIf Gleichheit Then

Auswahl des Blocks mit der größten Anzahl ausgehender Netze ElseIf Gleicheit Then

Auswahl des Blocks mit der geringsten Anzahl von Verbindungen Else

Willkürliche Auswahl eines Blocks Order = [!Order, m* ] /* Hinzufügen von m* zur existierenden Folge */ S = S – { m* }

Until S = End.

Nac

h S

ait,

S. M

., Yo

usse

f, H

.: V

LSI P

hysi

cal D

esig

n A

utom

atio

n

Page 59: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 59

3.4.2 Cluster-Wachstum: Lineare Anordnung – Beispiel

Page 60: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 60

3.4.2 Cluster-Wachstum: Lineare Anordnung – Beispiel

Gegeben: – Netzliste mit fünf Blöcken A, B, C, D, E und sechs Netzen

N1 = {A, B} N2 = {A, D} N3 = {A, C, E} N4 = {B, D} N5 = {C, D, E} N6 = {D, E}

– Anfangsblock: A

Gesucht: Lineare Anordnung mit minimalen Netzkosten

A B C D E

N1

N2

N3

N4

N5

N6

Page 61: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 61

Schritt #

Blöcke Neue Netze Endende Netze

Gewinn (Gain)

Weitergeführte Netze

A B C D E

N1

N2

N3

N4

N5

N6

Page 62: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 62

Schritt #

Blöcke Neue Netze Endende Netze

Gewinn (Gain)

Weitergeführte Netze

0 A N1, N2, N3 - -3 -

A B C D E

N1

N2

N3

N4

N5

N6

Geg.: Anfangsblock A

GainA = (Anzahl der in A endenden Netze) – (von A ausgehende neue Netze)

A B D E C

N1

N2

N3N4 N5

N6

Page 63: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 63

Schritt #

Blöcke Neue Netze Endende Netze

Gewinn (Gain)

Weitergeführte Netze

0 A N1, N2, N3 - -3 - 1 B

C D E

N4 N5 N4, N5, N6 N5, N6

N1 - N2 -

0 -1 -2 -2

- N3 - N3

C

A B C D E

N1

N2

N3

N4

N5

N6

A B D E C

N1

N2

N3N4 N5

N6

Page 64: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 64

Schritt #

Blöcke Neue Netze Endende Netze

Gewinn (Gain)

Weitergeführte Netze

0 A N1, N2, N3 - -3 - 1 B

C D E

N4 N5 N4, N5, N6 N5, N6

N1 - N2 -

0 -1 -2 -2

- N3 - N3

A B C D E

N1

N2

N3

N4

N5

N6

A B D E C

N1

N2

N3N4 N5

N6

Page 65: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 65

Schritt #

Blöcke Neue Netze Endende Netze

Gewinn (Gain)

Weitergeführte Netze

0 A N1, N2, N3 - -3 - 1 B

C D E

N4 N5 N4, N5, N6 N5, N6

N1 - N2 -

0 -1 -2 -2

- N3 - N3

2 C D E

N5 N5, N6 N5, N6

- N2, N4 -

-1 0 -2

N3 - N3

A B C D E

N1

N2

N3

N4

N5

N6

A B D E C

N1

N2

N3N4 N5

N6

Page 66: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 66

Schritt #

Blöcke Neue Netze Endende Netze

Gewinn (Gain)

Weitergeführte Netze

0 A N1, N2, N3 - -3 - 1 B

C D E

N4 N5 N4, N5, N6 N5, N6

N1 - N2 -

0 -1 -2 -2

- N3 - N3

2 C D E

N5 N5, N6 N5, N6

- N2, N4 -

-1 0 -2

N3 - N3

A B C D E

N1

N2

N3

N4

N5

N6

A B D E C

N1

N2

N3N4 N5

N6

N5

Page 67: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 67

Schritt #

Blöcke Neue Netze Endende Netze

Gewinn (Gain)

Weitergeführte Netze

0 A N1, N2, N3 - -3 - 1 B

C D E

N4 N5 N4, N5, N6 N5, N6

N1 - N2 -

0 -1 -2 -2

- N3 - N3

2 C D E

N5 N5, N6 N5, N6

- N2, N4 -

-1 0 -2

N3 - N3

3 C E

- -

- N6

0 +1

N3, N5 N3, N5

A B C D E

N1

N2

N3

N4

N5

N6

A B D E C

N1

N2

N3N4 N5

N6

N5

Page 68: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 68

Schritt #

Blöcke Neue Netze Endende Netze

Gewinn (Gain)

Weitergeführte Netze

0 A N1, N2, N3 - -3 - 1 B

C D E

N4 N5 N4, N5, N6 N5, N6

N1 - N2 -

0 -1 -2 -2

- N3 - N3

2 C D E

N5 N5, N6 N5, N6

- N2, N4 -

-1 0 -2

N3 - N3

3 C E

- -

- N6

0 +1

N3, N5 N3, N5

4 C - N3, N5, +2 -

A B C D E

N1

N2

N3

N4

N5

N6

A B D E C

N1

N2

N3N4 N5

N6

Page 69: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 69

3.4.2 Cluster-Wachstum: Lineare Anordnung – Beispiel

A B D E C

N1

N2

N3N4 N5

N6

A B C D E

N1

N2

N3

N4

N5

N6

Page 70: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 70

3.4.2 Cluster-Wachstum

Cluster-Wachstums-Algorithmus S : Menge aller Blöcke Rest: Menge aller noch nicht platzierten Blöcke Begin

Order = Algorithmus zur linearen Anordnung (S) Repeat

nextBlock = b aus Order = [b, !Rest] Order = Rest Platzierung und Orientierung von b mit minimaler Erhöhung der Kosten /* Kosten ergeben sich aus Größe bzw. Form der Topzelle, Verbindungslänge usw. */

Until Order = End.

Nac

h S

ait,

S. M

., Yo

usse

f, H

.: V

LSI P

hysi

cal D

esig

n A

utom

atio

n

Page 71: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 71

3.4.2 Cluster-Wachstum: Beispiel

Page 72: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 72

3.4.2 Cluster-Wachstum: Beispiel

Gegeben: Blöcke A, B, C, D, E mit freier Orientierung und der linearen Anordnung [A, B, D, E, C] sowie festen Abmessungen.

Gesucht: Topzelle mit minimaler Fläche

Block Breite w Höhe h A 2 3 B 2 1 C 2 4 D 3 3 E 6 1

Page 73: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 73

3.4.2 Cluster-Wachstum: Beispiel

Gegeben: Blöcke A, B, C, D, E mit freier Orientierung und der linearen Anordnung [A, B, D, E, C] sowie festen Abmessungen.

Gesucht: Topzelle mit minimaler Fläche

Lösung:

Block Breite w Höhe h A 2 3 B 2 1 C 2 4 D 3 3 E 6 1

A

B

DC

E

Page 74: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 74

3.1 Einführung

3.2 Optimierungsziele

3.3 Begriffe und Datenstrukturen

3.4 Algorithmen für das Floorplanning3.4.1 Floorplan-Sizing-Algorithmus3.4.2 Cluster-Wachstums-Algorithmus (Cluster Growth)3.4.3 Weitere Algorithmen für das Floorplanning

3.5 Pinzuordnung (Pin Assignment)3.5.1 Problembeschreibung3.5.2 Pinzuordnung mittels konzentrischer Kreise3.5.3 Topologische Pinzuordnung

Kapitel 3 – Floorplanning

Page 75: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 75

3.5 Pinzuordnung

Die bei der Partitionierung anfallenden Teilschaltungen (Blöcke) sind durch eine Menge von externen Netzen charakterisiert, mit denen sie untereinander in Verbindung stehen

Außenanschlüsse: Pinanschlüsse am Rand der Teilschaltungen, zwischen denen die externe Verdrahtung zu realisieren ist

Die Lage der Außenanschlüsse ist in den meisten Fällen vorgegeben, jedoch nicht ihre Zuordnung zu den einzelnen Netzen

Aufgabe der Pinzuordnung bei Blöcken ist es, jedem Außenanschluss eines Blocks ein Netz so zuzuordnen, dass die anschließende Verdrahtung sowohl innerhalb des Blocks als auch zwischen den Blöcken vereinfacht wird.

Page 76: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 76

3.5 Pinzuordnung

Page 77: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 77

3.5 Pinzuordnung

Zuordnungsaufgabe (Nacktchipauf MCM)

Optimierte Pinzuordnung

Flylines bei optimierter Zuordnung(kreuzungsfrei)

Flylines bei willkürlicher Zuordnung

Page 78: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 78

3.5 Pinzuordnung (Zellebene)

Kontakt (contact cut)

Metal1 (metal1)Polyebene (polysilicon)Diffusionsschicht (p/n diffusion)

Via (via)

Metal2 (metal2)

Funktional äquivalente Pins:Austausch beeinflusst nicht die Schaltung (z.B. die beiden Eingangspins eines NAND-Gattters können i.d.R. ausgetauscht werden)

Äquipotentiale Pins: sind zellintern miteinander verbunden und repräsentieren damit das gleiche Netz

Aufgabe der Pinzuordnung bei Zellen ist die Optimierung der Netzzuordnung innerhalb funktional äquivalenter bzw. äquipotentialer Pingruppen.

Page 79: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 79

3.5 Pinzuordnung (Zellebene)

Page 80: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 80

3.5.2 Pinzuordnung mittels konzentrischer Kreise: Beispiel

Nac

h K

oren

, N. L

.: P

in A

ssig

nmen

t in

Aut

omat

ed P

rinte

d C

ircui

t Boa

rds

Zuordnungsproblem

Page 81: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 81

3.5.2 Pinzuordnung mittels konzentrischer Kreise: Beispiel

Nac

h K

oren

, N. L

.: P

in A

ssig

nmen

t in

Aut

omat

ed P

rinte

d C

ircui

t Boa

rds

Zuordnungsproblem 1. Kreisbestimmung

Page 82: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 82

3.5.2 Pinzuordnung mittels konzentrischer Kreise: Beispiel

Nac

h K

oren

, N. L

.: P

in A

ssig

nmen

t in

Aut

omat

ed P

rinte

d C

ircui

t Boa

rds

2. Punktbestimmung

Page 83: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 83

3.5.2 Pinzuordnung mittels konzentrischer Kreise: Beispiel

Nac

h K

oren

, N. L

.: P

in A

ssig

nmen

t in

Aut

omat

ed P

rinte

d C

ircui

t Boa

rds

2. Punktbestimmung

Page 84: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 84

3.5.2 Pinzuordnung mittels konzentrischer Kreise: Beispiel

Nac

h K

oren

, N. L

.: P

in A

ssig

nmen

t in

Aut

omat

ed P

rinte

d C

ircui

t Boa

rds

3. Anfangszuordnung

Page 85: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 85

3.5.2 Pinzuordnung mittels konzentrischer Kreise: Beispiel

Nac

h K

oren

, N. L

.: P

in A

ssig

nmen

t in

Aut

omat

ed P

rinte

d C

ircui

t Boa

rds

3. Anfangszuordnung und 4. Zuordnungsoptimierung (komplette Rotation)

Page 86: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 86

3.5.2 Pinzuordnung mittels konzentrischer Kreise: Beispiel

Nac

h K

oren

, N. L

.: P

in A

ssig

nmen

t in

Aut

omat

ed P

rinte

d C

ircui

t Boa

rds

3. Anfangszuordnung und 4. Zuordnungsoptimierung (komplette Rotation)

Page 87: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 87

3.5.2 Pinzuordnung mittels konzentrischer Kreise: Beispiel

Nac

h K

oren

, N. L

.: P

in A

ssig

nmen

t in

Aut

omat

ed P

rinte

d C

ircui

t Boa

rds

4. Ergebnis der Zuordnungsoptimierung

Page 88: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 88

3.5.2 Pinzuordnung mittels konzentrischer Kreise: Beispiel

Nac

h K

oren

, N. L

.: P

in A

ssig

nmen

t in

Aut

omat

ed P

rinte

d C

ircui

t Boa

rds

Resultierende Pinzuordnung4. Ergebnis der Zuordnungsoptimierung

Page 89: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 89

3.5.3 Topologische Pinzuordnung

12

1110

9

87

65

4

32

1

(1) Auftrenn-punkt

Nac

h B

rady

, H. N

.: A

n A

ppro

ach

to T

opol

ogic

al P

in A

ssig

nmen

t

(2) Auffächerung

(3) Abbildung aufkonzentrischem Kreis

Page 90: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 90

3.5.3 Topologische Pinzuordnung

7 6

8

1

2 3

5

4

X

Y

9

16

15 14

13

12

1110

Nac

h B

rady

, H. N

.: A

n A

ppro

ach

to T

opol

ogic

al P

in A

ssig

nmen

t

Jeweilige Mittelpunktlinien

Block X „hinter“ Block Y

Page 91: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 91

3.5.3 Topologische Pinzuordnung

7 6

8

1

2 3

5

4

AX

Y

C9

16

15 14

13

12

1110

B

Nac

h B

rady

, H. N

.: A

n A

ppro

ach

to T

opol

ogic

al P

in A

ssig

nmen

t

Jeweilige MittelpunktlinienAuftrennpunkte

Page 92: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 92

3.5.3 Topologische Pinzuordnung

416

1514

1312

1110

93

21

7 6

8

1

2 3

5

4

AX

Y

C9

16

15 14

13

12

1110

56

78

B

A

A

B

B

C

C

Nac

h B

rady

, H. N

.: A

n A

ppro

ach

to T

opol

ogic

al P

in A

ssig

nmen

t

Page 93: Gliederung Kapitel 3 – · PDF fileLayoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 2 3.1 Einführung

Layoutsynthese elektronischer Schaltungen – Grundlegende Algorithmen für die Entwurfsautomatisierung Kapitel 3: Floorplanning 93

3.1 Einführung

3.2 Optimierungsziele

3.3 Begriffe und Datenstrukturen

3.4 Algorithmen für das Floorplanning3.4.1 Floorplan-Sizing-Algorithmus3.4.2 Cluster-Wachstums-Algorithmus (Cluster Growth)3.4.3 Weitere Algorithmen für das Floorplanning

3.5 Pinzuordnung (Pin Assignment)3.5.1 Problembeschreibung3.5.2 Pinzuordnung mittels konzentrischer Kreise3.5.3 Topologische Pinzuordnung

Zusammenfassung Kapitel 3 – Floorplanning