Synthese und Implementierung von Tasks mit minimalem ... · X B DI G B Y ALTDIG SHIFTIN SHIFTIN G1...

34
Fakultät Elektrotechnik und Informationstechnik, Institut für Grundlagen der Elektrotechnik und Elektronik Stiftungslehrstuhl Hochparallele VLSI-Systeme und Neuromikroelektronik Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Lübeck, 24./25. Mai 2007 Markus Rullmann, Renate Merker TU Dresden

Transcript of Synthese und Implementierung von Tasks mit minimalem ... · X B DI G B Y ALTDIG SHIFTIN SHIFTIN G1...

Fakultät Elektrotechnik und Informationstechnik, Institut für Grundlagen der Elektrotechnik und ElektronikStiftungslehrstuhl Hochparallele VLSI-Systeme und Neuromikroelektronik

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead

Lübeck, 24./25. Mai 2007

Markus Rullmann, Renate MerkerTU Dresden

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 225. Mai 2007

Überblick

• Rekonfigurationskosten• Entwurfsfluss ReMin• Implementierung mit geringen Rekonfigurationskosten

– Analyse struktureller Ähnlichkeit

– Mapping auf die Zielarchitektur

– Place and Route Tools

• Rekonfigurationsbewusste High Level Synthese– Zielstellungen

– Beispiel

• Zusammenfassung

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 325. Mai 2007

Rekonfigurationskosten

Kosten durch Möglichkeit und Nutzung dynamischer Rekonfiguration:• Zur Laufzeit:

– Rekonfigurationszeit– Speicher für Rekonfigurationsdaten– Verlustleistung

• Architekturmerkmale – Fläche– Verlustleistung

• Entwurf– Aufwand

Optimierungsmöglichkeiten ergeben sich auf verschiedenen Ebenen des Entwurfsflusses

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 425. Mai 2007

Implementierung

Entwurfs-Partitionierung

Task (Spezifikation)

ProzessorfeldSpeicher

Kontroller Kommunikation Prozessor-elemente

Datenpfad Kontroller

Task (Konfiguration)

spezifisch fürRechenfelder

allg. digitaleSchaltung

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 525. Mai 2007

Entwurfsfluss ReMin

Task 1

High-Level-Synthese

CDFG Darstellung

Datenpfade

Ähnlichkeitsanalyse

Implementierung

Analyse der Rekonfigurationskosten

Konfig. 1

Task 2

Konfig. 2

Task N

Konfig. M

BeschränkungenR

EM

IN

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 625. Mai 2007

Entwurfsfluss ReMin

Task 1

High-Level-Synthese

CDFG Darstellung

Datenpfade

Ähnlichkeitsanalyse

Implementierung

Analyse der Rekonfigurationskosten

Konfig. 1

RE

MIN

Task 2

Konfig. 2

Task N

Konfig. M

Beschränkungen

2. Projektphase

2.+3. Projektphase

3. Projektphase

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 725. Mai 2007

Einfluss der Implementierungswerkzeuge

Synthese Map

Placement

Routing

Bitstream

● Unterschiede nicht direkt analysierbar

● erzeugen gleicherLB und Verbind.

● direkte Unter-schiede in Verb.

● Mehrzahl der Konf.-Daten

● direkte Unter-schiede in LB Konfiguration

MinimaleUnterschiede

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 825. Mai 2007

Strukturelle Ähnlichkeit

1. Tool ermittelt strukturelle Ähnlichkeit (gleiche Verbindungen)2. Statische Implementierung ähnlicher Strukturen

• Berücksichtigung in Mapping, Place und Route Tools

A

B C

A

B C

A

B

Beschreibung durch Matching Kanten und Zellen

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 925. Mai 2007

Ermittlung struktureller ÄhnlichkeitMatching von Kanten

A

B

C

A'

B'

C'

Kante aus Netzlisten-Graph Kante aus Match-Graph

Matching Kanten

Task 1 Task 2

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 1025. Mai 2007

Ermittlung struktureller ÄhnlichkeitMatching Information – Nutzung in Place und Route Tools

A B

C

A' B'

C'

Konfiguration 1 Konfiguration 2

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 1125. Mai 2007

Map Tool

Rekonfigurationsbewusstes Mapping Tool

Erzeugen von Logic Block Konfigurations-Varianten

Auswahl vonLogic Blocks

Task 1 (.edf)Matching

InformationTask N (.edf)Synthese Netzliste

Map Netzliste

Task 1 (.xdl)Matching

InformationTask N (.xdl)…

LBs LBs

Optimierung

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 1225. Mai 2007

Logic Block Konfigurations-Varianten

• Alternative Varianten für die Platzierung von Zellen

• Gültiges Routing innerhalb des LB• Kombination von lokal

verbundenen Zellen in ein LB• Macros: Addierer- und Multiplexer-

Strukturen

Si t e SLI CE_X20Y16 wi t h Comp $COMP_0 - xy. ncd

B X

ALT DI F

SHI F TI N

S HI F T_ REG

DUAL_ P ORT

0

1

0

1

DUAL_ P ORT

S HI F T_ REG

0

1

0

1

S OP OUT

BYI NVOUT

0

1

G 1

P R O D

G 2

B Y

S LI CEWE1

S R_ B

S R

S LI CEWE0

S LI CEWE2

CL K_ B

C L K

CE _ B

C E

B X_ B

B X

B Y_ B

B Y

F 2

S R

F 3

C E

C L K

WF 3

WF 1

WF 2

WF 4

B X

F 1

F 4

B Y

S HI F TOUT

C I NB X

C I N

G

F

10

S 0

0

D IW S

A 1

A 2

A 3

A 4

R A M

R O M

L U TD

WF 4

WF 3

WF 2

WF 1

MC 1 5

W S F

WE 2

WE 1

WE 0

C K

W E

W S G

0

1

F 1

P R O D

F 2

B X

F

1

0

1

1

0

1

F X O R

F

F 5

S RHI GH

S R L O W

I NI T1

I NI T0

S Y N C

AS YNC

RES ET TYP E

R E VS R

QF F

D

C KL A T C H

C E

B X OUT

X Q

D X

X

F 5

X B

D I G

B Y

AL T DI G

S HI FTI N

S HI F TI N

G 1

F XI NB

AL TDI G

W G 1

W G 2

W G 3

W G 4

G 2

G 3

F XI NA

G 4

S OP I NS OP I N

0

0

1

G

G X O R

F X

S OP E XT

10

S 0

C O U T

W G 4

W G 3

W G 2

W G 1

DA 3

A 4

A 1

A 2R O M

R A M

L U T

W S D I

MC 1 5

0

1

G

1

I NI T1

I NI T0

S R L O W

S RHI GH

R E VS R

QF F

D

C KL A T C H

C E

0

0

D Y

Y

Y Q

B Y OUT

F X

Y B

Beispiel: VirtexII Slice

LUT

FF

Routing

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 1325. Mai 2007

Erzeugen von Logic Block Konfigurations-Varianten

für alle Zellen

Füge verbundene Zellen zur Queue

Mappe Zellen aus Queue auf LB

Initialisiere Logic Block

Logic Block Konfigurations-Varianten

für alle Mapping Varianten

Synthese Netzliste

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 1425. Mai 2007

Änderung struktureller Ähnlichkeit durch Mapping

LB-LokaleVerbindungen

Zusammenfassenvon Pins

Matching LB undVerbindungen

A C

B

A C

B

AC

BTask 1

Task 2

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 1525. Mai 2007

Match Graph ModellMatching in der Synthese Netzliste Logic Block Auswahl und Matching

Abb. nach LBAbb. nach LB

Task 1 Task 2

Tas

k 1

Tas

k 2

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 1625. Mai 2007

Match Graph ModellMatching in der Synthese Netzliste Logic Block Auswahl und Matching

Matching der ZellenAbb. nach LB

Abb. nach LBMatching LB

Task 1 Task 2

Tas

k 1

Tas

k 2

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 1725. Mai 2007

Match Graph ModellMatching in der Synthese Netzliste Logic Block Auswahl und Matching

Matching der ZellenAbb. nach LB

Abb. nach LB

• Auswahl der LB legt lokale Verb./Zusammenfassung von Verb. fest

Ausgewählte LB

Matching LB

Task 1 Task 2

Tas

k 1

Tas

k 2

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 1825. Mai 2007

Match Graph ModellMatching in der Synthese Netzliste Logic Block Auswahl und Matching

Matching der ZellenAbb. nach LB

Abb. nach LB

• Auswahl der LB legt lokale Verb./Zusammenfassung von Verb. fest

• Matching LB legen Matching/Non-Matching Verbindungen fest

Ausgewählte LB

Matching LB

Task 1 Task 2

Tas

k 1

Tas

k 2

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 1925. Mai 2007

Integration in ein Mapping Tool für FPGA

• Task Eingabe: .edf Netzlisten• Matching Information über Zellen und Verbindungen• Architektur-Information: Hierarchische Architektur (Tile->Slice->LUT) mit Routing-

Information und Konfigurations-Varianten• Map Regeln: Mapping Varianten für alle Zellen zu Elementen der LB

• Vorverarbeitung: Einfügen von Beschränkungen für das Mapping von Makros• LB Erzeugung: edif Zelle + Mapping Regel → .xdl Instanz

LB interner Router• LB Auswahl: Erzeugt ILP für Match Graph Model für optimale LB Auswahl

• Task Output: .xdl Netzlisten und Constraints (.ucf) für Xilinx ISEIntegration in Xilinx ISE Tools möglich

• Matching Information über Elemente und Verbindungen für .xdl Netzliste

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 2025. Mai 2007

Mapping Rekonfigurierbarer Tasks

add8, sub8

opb_add, opb_sub

int, mo-tion

b01, b02, b06

b03, b08, b10

0

10

20

30

40

50

60

70

80

90

Unterschiede in der Verbindungsstruktur

Synthese

Mapping

Task Set

An

zah

l ve

rsch

. V

erb

ind

un

ge

n in

%

Ergebnisse:

● Mapping erhält strukturelle Ähnlichkeit aus Matching

● Optimierung kann Ähnlichkeit verbessern

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 2125. Mai 2007

Implementierung (3. Projektphase)

Placement:● Gleiche Platzierung von Elementen aus versch. Tasks, so dass gleiches

Routing der Verbindungen möglich ist● Platzierung unter Berücksichtigung der Konfigurations-Architektur

Routing:● Gleiches Routing für gleiche Verbindungen in den Tasks● Routing unter Berücksichtigung der Konfigurations-Architektur

✔ Minimale Modifikation von Configuration Frames✔ Partitionierung in statische/dynamische Teile innerhalb der Tasks

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 2225. Mai 2007

Entwurfsfluss ReMin

Task 1

High-Level-Synthese

CDFG Darstellung

Datenpfade

Ähnlichkeitsanalyse

Implementierung

Analyse der Rekonfigurationskosten

Konfig. 1

RE

MIN

Task 2

Konfig. 2

Task N

Konfig. M

Beschränkungen

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 2325. Mai 2007

High Level Synthese

Optimierung des Synthese-Ergebnisses hinsichtlich der strukturellen Ähnlichkeit

– Flexibilität bei Bindung/Scheduling/Allokation– Gleichzeitige Verarbeitung mehrere Tasks

Höheres Abstraktionsniveau– vereinfachte Ähnlichkeitsanalyse auf höherer Ebene

– Trennung in Controller und Datenpfad

Flexible Zuordnung zwischen Tasks und Konfigurationen

Motivation

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 2425. Mai 2007

Zulässige Lösungen

High Level SyntheseEntwurfsraum

Rekonfigurationskosten

Imp

lem

enti

eru

ng

sko

sten

Ressourcen-optimale Implementierungder Tasks

statischeImplementierungder Tasks

Implementierungenbei gleichzeitigerBetrachtung aller Tasks

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 2525. Mai 2007

Rekonfiguration auf zwei Ebenen

1. Ebene (RC1) Konfiguration für die Architektur– Laden über Konfigurationsschnittstelle

– Rekonfiguration in 10-100-... Taktzyklen

2. Ebene (RC2) Steuerung der Verarbeitung– Steuern von Verbindungen zwischen Funktionseinheiten

– Rekonfiguration in ~1 Takt

Für FPGA:• Mehr Flexibilität im Datenpfad -> Höherer Ressourcenbedarf für RC2 Strg.• Zugeschnittener Datenpfad -> Häufige Rekonfiguration in RC1

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 2625. Mai 2007

High Level SyntheseTasks und Konfigurationen

Task 1

Task 3

Task 2

Architektur 1

Architektur 2

Konfiguration 1

Konfiguration 2

Task-Wechsel Rekonfiguration RC1

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 2725. Mai 2007

High Level SyntheseBeispiel

Mult_18x8

Carry8xLut3_1

Carry8xLut3_2

A B

C

D

–×

A B

C

D

ArchitekturTasks

Funktionseinheit Res.- Bits/ Kontexte Bits/ anzahl Ktxt./FU ChipMux, 6 Eingänge 6 3 2 36Mux, 3 Eingänge 3 2 2 12Steuerung, LUT Bit 3 2 1 2 4Carry-Aktiv 2 1 1 2Block á 8xLUT3 2 64 1 128

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 2825. Mai 2007

High Level SyntheseBeispiel – Variante 1 – Unabhängige Implementierung

Konfiguration 1 Konfiguration 2

A B

D

C

Mult_18x8

CarryADD

Carry8xLut3_2

A B

D

C

Mult_18x8

CarrySUB

Carry8xLut3_2

Rekonfiguration auf RC1 von 64 Bit, 2 aktive Operatoren

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 2925. Mai 2007

High Level SyntheseBeispiel – Variante 2 – Rekonfigurationsbewusste Impl.

Konfiguration 1 Konfiguration 2

A B

D

C

Mult_18x8

CarryADD

CarrySUB

A B

D

C

Mult_18x8

CarryADD

CarrySUB

Rekonfiguration auf RC2 von 2 Bit, 3 aktive Operatoren

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 3025. Mai 2007

High Level SyntheseBeispiel – Variante 3 – Gemeinsame Implementierung

Konfiguration 1 Konfiguration 2

A B

D

C

Mult_18x8

CarryADD/SUB

Carry8xLut3_2

A B

D

C

Mult_18x8

CarryADD/SUB

Carry8xLut3_2

Rekonfiguration auf RC2 von 1 Bit, 2 aktive Operatoren

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 3125. Mai 2007

High Level SyntheseBeispiel – Auswertung

Differenz RC1 Differenz RC2 aktive Operatoren

Variante 1 64 Bit - 2Variante 2 - 2 Bit 3Variante 3 - 1 Bit 2

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 3225. Mai 2007

High Level Synthese

• Freiheitsgrade bieten erhebliches Potential zur Reduktion von Rekonfigurationskosten

• Schwerpunkt ist die integrale Betrachtung aller Tasks bei:– Modulauswahl

– Scheduling

– Bindung

– Partitionierung in Konfigurationen

• Ziele:– Max. Ähnlichkeit der einzelnen Konfigurationen

– Geringe Rekonfigurationskosten der Gesamtlösung

Schlussfolgerungen

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 3325. Mai 2007

Kooperationen

• Universität Tübingen, Prof. Dr. Wolfgang Rosenstiel– Verwendung der CRC-Architektur als Modell eines Prozessor-Arrays

• TU München, PD Dr. Walter Stechele– Kombination von Combitgen und ReMin

– Engines als Beispiele für die High-Level-Synthese

• Universität Karlsruhe, Prof. Dr. Jürgen Becker, Prof. Dr. Klaus D. Müller-Glaser– Wissenstransfer für Implementierungswerkzeuge (Routing)

• Universität Erlangen-Nürnberg, Prof. Dr. Jürgen Teich– Erlangen Slot Machine als Experimentierplattform

Synthese und Implementierung von Tasks mit minimalem Rekonfigurationsoverhead Folie 3425. Mai 2007

Zusammenfassung

Task 1

High-Level-Synthese

CDFG Darstellung

Datenpfade

Ähnlichkeitsanalyse

Implementierung

Analyse der Rekonfigurationskosten

Konfig. 1

RE

MIN

Task 2

Konfig. 2

Task N

Konfig. M

Beschränkungen