synthese und implementierung von tasks mit minimalem ... · x b di g b y altdig shiftin shiftin g1...
Post on 18-Sep-2019
2 Views
Preview:
TRANSCRIPT
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
top related