Synthese, SoC-Integration und Programmierung der ... · Applications Cfg CApplication Cfg...
Transcript of Synthese, SoC-Integration und Programmierung der ... · Applications Cfg CApplication Cfg...
Synthese, SoC-Integration und Programmierung der multigranular-adaptiven Hardware-Architektur HoneyComb
Alexander Thomas, Michael Hübner, Jürgen Becker
Institut für Technik der Informationsverarbeitung (ITIV)Universität Karlsruhe (TH)Prof. Dr.-Ing. Klaus Müller-GlaserProf. Dr.-Ing. Jürgen Becker
Übersicht
HoneyComb-Architektur
Compiler/Mapping Tools
Super-Configuration-Generator
Systemintegration
Anwendungsbeispiele
Zusammenfassung und Ausblick
HoneyComb-Architektur - Übersicht
Arraybasierte rekonfigurierbare ArchitekturHexagonale ZellstrukturDrei verschiedene Zelltypen:
- Datapath-HoneyComb-Cell (DPHC)- Memory-HoneyComb-Cell (MEMHC)- Input/Output-HoneyComb-Cell (IOHC)
Multigranulare DatentypenMultikontext DatenpfadeProgrammierbares IO-Interfaces (IOHC)Hardwareunterstütztes Online-Routing
Vorteile:Adaptives Online-VerhaltenFehlertoleranz flexibel realisierbarKomplexe kontrollastige Anwendungen ausführbarConfiguration Sequencing
HoneyComb-Architektur
MEMHC MEMHC MEMHC MEMHC
IOHC IOHC IOHC
IOHC IOHC IOHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
HoneyComb-Architektur - Zellaufbau
HoneyComb-Architektur
Routing Unit
……
……
Functional Module
… … … …
Honeycomb cell structure
Input ports
Output ports
CG Cell Inputs
MG Cell Inputs
CG Cell Outputs
MG Cell OutputsMEMHC MEMHC MEMHC MEMHC
IOHC IOHC IOHC
IOHC IOHC IOHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
Routing Unit
Links zwischen den Zellen
Einheitliche Zellstrukturen in allen ZelltypenRouting Unit
- Bestandteil des Kommunikationsnetzes- Parametrisierbar bzgl. Anzahl Links, etc.
Funktionales Modul- Spezifiziert Zelltyp: DPHC, MEMHC, IOHC
HoneyComb-Architektur - Zellaufbau
Routing Unit
……
……
Functional Module
… … … …
Honeycomb cell structure
ZelltypenDatenpfad-Zellen (DPHC)
- Integriert ALUs, LUTs, Register- Multigranulare Datentypen- Multicontext-Fähigkeiten- FSMs progammierbar
Speicher-Zellen (MEMHC)- Offeriert FIFO, LIFO, RAM, CAM Funktionalität- Speichermenge in Module unterteilbar (RTL)- Speicherung von multigranularen Datentypen
Ein-/Ausgabe-Zellen- Programmierung des Array-Verhaltens- Realisierung des Configuration-Sequencing- Bedingte Steuerung des Arrays- Schnittstelle zum System
Input ports
Output ports
Datenpfad-ModulSpeicher-Modul
HoneyComb-Plattform – Übersicht
LaufzeitumgebungEntwurfsumgebung
Offline Mapper undConfiguraton-Template-
Generator (MCTG)
Assembler-Code Transforma-tionsregeln
Anwendungen /Algorithmen
HCL-Beschreibung
Super-Configuration-
Generator
Para
met
er
Assembler
Portierung
Dynamic Allocation andDistribution Manager
(dADM)
RTL
-Con
figur
atio
n
Mas
chin
en-C
ode
Con
figur
atio
n-Te
mpl
ate
HoneyComb-Architektur
Debugging and Simulation Environment
HCViewer
Simulationsdaten
Configuration Ctrl
HCSim
Umgesetzte PfadeOffene Pfade
Tools
Tools
Umgesetzte Module / ToolsOffene Implementierungen
HoneyComb-Language (HCL)
Definitionskriterien
Abstraktion streng struktureller ProgrammierungBeschreibung der Funktionalität auf Zellebene
- Partitionierung durch Programmierer- Einführung von Hochsprachenkonstrukten
Mechanismen zur Verwaltung von (Sub-)ConfigurationenAusnutzung der IOHC-Funktionalität
- I/O-Kontrolle- Configuration Sequencing
Codeportabilität zwischen Zellen unterschiedlicher RTL-Konfigurationen
- Wählbare MaschinennäheAusnutzung der gegebenen Parallelität
ErgebnisVHDL-ähnliche parallele BeschreibungsmethodikProzessbasiert – je Zelle ein Prozess
HoneyComb-Language (HCL) – Prozesstypen
Definition basierend auf vier Prozesstypen
Funktionale Prozesse- Bezug auf DPHCs- Datenmanipulation / Nutzung von High-Level-Konstrukten- Einführung von Variablen / Alias-Bezeichnern
Speicherprozesse- Bezug auf MEMHCs- Definition Speichergrößen, -Typen, -Anzahl
(Sub-) Konfigurationsdefinitionskonstrukte- Formale Beschreibung (Definition) von (Sub-)Konfigurationen- Spezifiziert I/O-Ports, Internes Interconnect, Positionen und den Namen der Konfiguration
Mainprozesse- Bezug auf IOHCs- Steuerung des externen Verhaltens (Configuration Sequencing)- Bedingter Ablauf
HoneyComb-Language (HCL) – Beispiel am Funktionalen Prozess
CELL CounterExampleIN Start#1, Stop#1, Range;OUT CounterOut, Finish#1;ALIAS S1 = 1#1, S2 = 0#1;VAR State#1, Counter;
INITSET State = S1;
BEGINState <= State; Finish = 0;IF (State = S1) THEN
IF (Start) THENState <= S2; Counter <= Range;
END IFELSE // State = S2
Counter <= Counter – 1; IF (Stop OR ALU(Counter).zf) THEN
State <= S1; Finish = 1;
END IF;END IF;CounterOut = Counter;
END CELL;
Definitionsbereich
Initialbereich
Funktionalbereich
HoneyComb-Language (HCL) – Beispiel am Funktionalen Prozess
CELL CounterExampleIN Start#1, Stop#1, Range;OUT CounterOut, Finish#1;ALIAS S1 = 1#1, S2 = 0#1;VAR State#1, Counter;
INITSET State = S1;
BEGINState <= State; Finish = 0;IF (State = S1) THEN
IF (Start) THENState <= S2; Counter <= Range;
END IFELSE // State = S2
Counter <= Counter – 1; IF (Stop OR ALU(Counter).zf) THEN
State <= S1; Finish = 1;
END IF;END IF;CounterOut = Counter;
END CELL;
Ein- / Ausgänge
Konstanten / Zustandsnamen
Variablen / Zustandsregister
Zustandsinitalisierung
Default - Zuweisungen
Zustandsmaschine
Ungepufferte Zuweisung
Gepufferte Zuweisung
HoneyComb-Language (HCL) – Beispiel am Funktionalen Prozess
CELL CounterExampleIN Start#1, Stop#1, Range;OUT CounterOut, Finish#1;ALIAS S1 = 1#1, S2 = 0#1;VAR State#1, Counter;
INITSET State = S1;
BEGINState <= State; Finish = 0;IF (State = S1) THEN
IF (Start) THENState <= S2; Counter <= Range;
END IFELSE // State = S2
Counter <= Counter – 1; IF (Stop OR ALU(Counter).zf) THEN
State <= S1; Finish = 1;
END IF;END IF;CounterOut = Counter;
END CELL;
S1
S2
StartCounter = Range
Finish = 0
ELSECounter = Counter – 1
Finish = 0
Stop V Counter = 0Finish = 1
ELSEFinish = 0
HoneyComb-Language (HCL) – Programmiermethodik
Anwendungen- Funktionen/Prozeduren- Eingabe/Ausgabe- DFG/CFG
Applikation
Funktion: Datei lesen
Prozedur: Daten aufbereiten
Funktion:Berechnungsschleife
Prozedur:Daten nachbereiten
Funktion: Ergebnis ausgeben
Start
Ende
Funktion:Berechnungsschleife
Funktion:Berechnungsschleife
proc3
proc6
Funktion:Berechnungsschleife
proc3
Funktion:Berechnungsschleife
proc3
proc6
Funktion:Berechnungsschleife
proc3
proc6
Manuelle Partitionierung- Zellen als kleinste Granularität- Planung der Kommunikation- Beschreibung in HCL-Proz.
Funktion:Berechnungsschleife
proc5
proc3
proc2
proc1
proc4proc6
Funktion: Dateilesen
Prozedur: Daten aufbereiten
Prozedur:Daten nachbereiten
Funktion: Ergebnis ausgeben
Subkonfiguration:Berechnungsschleife
Definition der Subkonfigurationen
- Instanziierung von Prozessen- Optionale Positionierung- Beschreibung der
Verbindungen- Reuse der Zellbeschreibung.
⇨ Bibliotheken denkbar
proc1
proc2
proc5
proc6
proc3
proc4
Analog übrige Subkonfigurationen …
Scheduling- Configuration Sequencing- Laden/Löschen von
Konfigurationen- Bedingte Ablaufsteuerung- Parallele/sequentielle
Abarbeitung von Subcfg.Ziel: Applikationskonfiguration
Sub
Cfg
1S
ubC
fg2
Sub
Cfg
3
Sub
Cfg
4S
ubC
fg5
tsequentiell
para
llel
t1 t2 t3
Offline Mapper und Configuration-Template-Generator
Basierend auf HCL-BeschreibungenGenerierung von binärem MaschinencodeZiel: Configuration-Templates
Abbildungsprozess realisiert durch einen ÜbersetzerErzeugt Assembler-Code für feste RTL-KonfigurationZukünftig: Einbeziehen unterschiedlicher RTL-Konfigurationen
- Kompatibilität zu vorhandenen HC-Versionen
Configuration-Template-Generierung …Derzeit noch in ArbeitGenerierung von Regeln für die Online-Transformationen der Configuration-PatternsConfiguration-Constraints: Takt, PerformanceConfiguration-Template:
- Container für Ausführbaren Code, Transformationsregeln, Runtime Constraints
HoneyComb-Language-Übersetzer – Blockdiagramm
Symbol-entschlüssler
LexikalischeAnalyse
ZerteilerSyntaxanalyseSemantische
Analyse
Symbol-folge
AbstrakterSyntax-baum
Honeycomb-Language-Programm
TransformationErzeugung der
Zwischen-darstellung
TransformationErzeugung der
Zwischen-darstellung
TransformationErzeugung der
Zwischen-darstellung
Frontend(Analysephase)
Operationsliste
Datenpfad-zellenabbildung
Speicher-zellenabbildung
LoweringRegister-allokator
Backend(Synthesephase)
Optimierung
Steuer-flussgraph
Operationsliste
Honeycomb-Assembler-Programm
Datenpfadzelle
Speicherzelle
Zwis
chen
-da
rste
llung
Codeerzeugung
Main-Prozess
HoneyComb-Assembler (HCA)
Native-AssemblerStrukturelle BeschreibungsspracheNaturgemäß sehr hardwarenahBeschreibungen sind RTL-abhängigSchlechte Lesbarkeit
- Für große Anwendungen ungeeignetDrei Klassen von Instruktionen
- Routinginstruktionen- Konfigurationsbefehle für Zellen- Befehlssatz des IOHC-µControllers
.DPHC
CGBIN 0 ALU0
CGBIN 1 ALU0
CGBIN 2 ALU0
CGBIN 3 ALU0
CGMOUT 0 REG0
CGMOUT 1 REG1
FGBREG 0 ALU0.0, LUT0
FGREG 0 LUT0.0
FGRINIT 0 0
CGBREG 0 OUT0
CGREG 0 ALU0
CGBREG 1 OUT1
CGREG 1 ALU0
ALULMUX 0 A0=REG0
ALULCFG 0 C0=[A=IN0, B=IN1,REG0]
ALULCFG 0 C1=[A=IN2, B=IN3,REG1]
ALUOP 0 ENABLE, ADD
LUTDMUX 0 A0=REG0
LUTDOUT 0 F0=REG0
LUTCFG 0 R0=["1"]
LUTCFG 0 R1=["0"]
LUTOP 0 ENABLE
HoneyComb-Architektur – RTL - Konfigurationsgenerierung
ProblemHochparametrisierbarer ArchitekturansatzGroße Zahl zu belegender Parameter (DPHC: ca. 60.000 Parameter)
- Zellen Ein- / Ausgabe-Links-Anzahl- Datenbreiten / Granularität- Anzahl ALUs, LUTs, etc- Speichermodulgrößen / -anzahl- Interconnect-Ausprägung- etc.
Gesucht: Methodik zur Beherrschung der ‚unüberschaubaren‘ Anzahl der Parameter
AnsatzParameter lassen sich einfach in Tabellen darstellen und verwalten: MS ExcelSkriptbasierte Konsistenzprüfung (Excel VBA)Weiterhin Erzeugung einer Vollständigen Array-ParametrisierungHoneyComb Native Assembler mitintegriert – Berücksichtigung der RTL Konfiguration
IO-Spezifikationder Zelle
Konsistenzprüfung
Zellinterne Parameter
Interconnect Statistik
Komplexität einer Zellenbeschreibung am Beispiel der Speicherzelle
VorgefertigteTemplate-Liste
Aktuell definiertesArraySteuerelemente
Super Configuration
HoneyComb Architektur – Design Flowzur Charakterisierung der RTL-Configuration
Excel Generator
MCTG
RTL TemplateReferenzapplikationen
Application Cfg FApplication Cfg EApplication Cfg DApplications Cfg CApplication Cfg BApplication Cfg A
SuperCfg Generator
Super RTL Configuration
TemplateLibrary
HoneyComb RTL Template-GenerierungNutzung vorbereiteter Templates
Ergebnis: Überladene RTL Konfiguration
Kompilierung ausgesuchter AnwendungenTemplate wird bestmöglichst ausgenutzt
Ergebnis: Satz an RTL Konfigurationen für bestmögliche Applikationsausführung
SuperCfg Generator erzeugt eine Obermenge der verfügbaren Konfigurationen
Ergebnis: RTL Konfiguration zur optimalen Ausführung der ApplikationenWeitere iterative Schritte optional möglich …
HCLApplication
F
HCLApplication
E
HCLApplication
D
HCLApplication
C
HCLApplication
B
HCLApplication
A
Referenzkonfigurationen
Extraktion der Superkonfiguration (1)
Vereinfachte DarstellungErstellen einer Zellvorlage zur Generierung der RTL-KonfigurationAnwendungsabhängige Untersuchung benötigter Operationen, Quellen, Ziele, etc. je KomponenteInkrementelles Hinzufügen weiterer OperationenAbbruch falls Ressourcenbedarf aller Applikationen gedeckt ist
a b
z
+
c b
y
•
Applikation A Applikation Bc
b
y
+,
ResultierendeRTL Konfiguration
a
z
•
Extraktion der Superkonfiguration – Homogenes Arrays
Abbildung aller Applikationszellen auf eine Zielzelle: Homogene Arraykonfiguration
Vorteile: Größte Flexibilität beim LaufzeitmappingEinfacher Applikationsentwurf
Nachteil: Randgebiete nutzen die Ressourcen schlechter aus
HoneyComb-ArchitekturIOHC IOHC IOHC
IOHC IOHC IOHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
Applikation A
Applikation BDPHC DPHC DPHC DPHC
Zellausprägung mit allen benötigten
Features
Abbildung der Applikationszellen positionsbedingt: Inhomogene Arraykonfiguration
Extraktion der Superkonfiguration – Inhomogene Arrays
HoneyComb-ArchitekturIOHC IOHC IOHC
IOHC IOHC IOHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
Applikation A
Applikation BDPHC DPHC DPHC DPHC
Anwendung der Applikation A
Abbildung der Applikationszellen positionsbedingt: Inhomogene Arraykonfiguration
Extraktion der Superkonfiguration – Inhomogene Arrays
HoneyComb-ArchitekturIOHC IOHC IOHC
IOHC IOHC IOHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
Applikation A
Applikation BDPHC DPHC DPHC DPHCAnwendung der
Applikation B
Extraktion der Superkonfiguration – Inhomogene Arrays
Abbildung der Applikationszellen positionsbedingt: Inhomogene Arraykonfiguration
Vorteile: Bestmögliche RessourcenausnutzungMinimaler Power und Flächenbedarf
Nachteil: Komplexe Applikationserstellung auf vorhandener Hardware
HoneyComb-ArchitekturIOHC IOHC IOHC
IOHC IOHC IOHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
Applikation A
Applikation BDPHC DPHC DPHC DPHC
Anwendung beider Applikationen
MEMHC MEMHC MEMHC MEMHC
IOHC IOHC IOHC
IOHC IOHC IOHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
RAM1SRAM/eDRAM
RAM2SRAM/eDRAM
RAM0SRAM/eDRAM
RAM4SRAM/eDRAM
RAM5SRAM/eDRAM
RAM3SRAM/eDRAM
AHB/AHBBridge
AHB/AHBBridge
CPU
RAMSRAM/eDRAM
System IO
AM
BA
AH
B
Multilayer AHB (Lanes 0,1,2)
Multilayer AHB (Lanes 3, 4, 5)
I-Cache D-Cache
3. Projektphase: Schwerpunkt Systemintegration
Ideale Systemkonfiguration – Multilayer / Multimemory Topologie
IOHC
IOHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
AH
B/A
HB
Inte
rcon
nect
System IO
LVDS –Signaling
3. Projektphase: Mögliche Konfiguration zum Prototyping
MEMCTRLB
PLL
MEMCTRLA
On-Die HoneyComb-PrototypFPGA
Gig
abit-
Anb
indu
ng
Flexible periphere AnbindungR
S232 SP
I
I²C
USB
2.0
Ethe
rnet
SATA
DDR SDRAM
PCB-Level Integration
Multi-Chip-Ansatz da Verwendung der0.25µm (oder 0.35µm) AMS Technologie
Entscheidung aus KostengründenRelativ grobe Strukturen0.5mm² in 90nm → ca. 32mm² in 0.25µmIntegration vereinfachter Zellen auf separatem DieI/O-Anbindung per LVDS-SignalingOptional: Memory-Ctrl auf dem ChipExakte Konfiguration wird evaluiert
Weitere PCB-Level-KomponentenFPGA zur Ankopplung an PeripherieOn-Board-Memory: DDR-SDRAM über FPGA-konfigurierten Controller ansteuernWeitere optionale Periphere Interfaces:
- RS232- I²C- USB 2.0- VGA- etc.
DDR SDRAMDDR SDRAM
VGA
Anwendungsbeispiel – IMDCT Filter
Rekursive Struktur (nach Nikolajevic, Fettweis)Eingang: Spektral Werte, z.B. 1024 Werte (Vorgabe OggVorbis Codec)Ausgang: Abtastwerte, z.B. 2048 SamplesBerechnung: je Sample á 1024 rekursive Zyklen (jeweils mit 4 Operationen)Bei 44.1 kHz und Windowing Verfahren sind 88.200 Samples / Sekunde erforderlich
=> 1.024 Zyklen/Sample * 88.200 Samples * 4 Operationen => 361.267.200 Operationen / Sek.
Allerdings: Anpassungen an die HoneyComb Architektur sind erforderlich !!!Anwendung: MP3/OggVorbis Decoder
-X(k) +
∗
- ∗ x(n)
cos2nθR1
R2Z-1
Z-1
Spectral Werte Samples
>>
>>
2cos nθ
Anwendungsbeispiel – IMDCT Filter
iθcos2
-X(k) +
∗
- ∗ x(n)
cos2nθR1
R2Z-1
Z-1
Spektralwerte Abtastwerte
>>
>>
-X(k) Z-1 + Z-1
∗
Z-1
Z-1
- ∗Z-1 Z-1 x(n)R11
R21
R23
R22 R32 R33
R13
>>
>>
Z-1
Z-1 R31
cos2nθ
iθcos2
Transformierte Struktur: Multikontext Version (ein Abtastwert pro Durchlauf)
Erster Berechnungsschritt
Dritter Berechnungsschritt
Zweiter Berechnungsschritt
Benötigte Ressourcen:- 5 CG Register (Counter, Kontexte)- 3 FG Register (Zustände)- 4 ALUs / 2 LUTsPerformance: - 3 Zyklen / Durchlauf (im Mittel)
IMDCT – Filter: Gesamtkonfiguration
HoneyComb-Architektur
MEMHC MEMHC MEMHC MEMHC
IOHC IOHC IOHC
IOHC IOHC IOHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHC
DPHCiMDCT Finger
Speicherelementfür Cosinus-Werte
Adressgeneratorund Scheduler
Gesamtrealisierung mit acht Fingern
Eingang: 1024 SpektralwerteAusgang: 2048 AbtastwerteOggVorbis Voraussetzungen (incl. Windowing):
- 43 Window Berechnungen / sekunde
Im Falle der festen Konfiguration:⇨ 1 Finger ausreichend (@ 100 MHz)⇨ 97656 Abtastwerte / sekunde⇨ 47,6 Window Berechungen / sekunde
Zellenbedarf: 4 (2 MEMHCs, 2 DPHCs)Im Falle der notwendigen Rekonfiguration:
- Erhöhung der parallelen Konfigurationen zur Performance-Steigerung
Weitere Applikationen …
Wavelet Transformation (JPEG2000)
Einfacher Raytracer-Demonstrator
Zusammenfassung – Software Environment
Software-Status:HoneyComb-Language (HCL)Offline Mapper und Configuration-Template-Generator (MCTG)
- Erste Version des Compilers verfügbar und in Evaluierung- Derzeit: Codegenerierung ohne Hardware-Constraints- Geplant: ILP-Mapping unter Berücksichtigung der Hardware
Debugging- und Simulationsumgebung (DSE)- HCViewer fertig implementiert- HCSim vorbereitet / derzeit Simulation über das VHDL-Modell
Super-Configuration-Generator- Verfügbar: Generierung homogener Arrays- Geplant: Effektivere inhomogene RTL-Generierung
3. Projektphase:Dynamic Allocation and Distribution Manager (dADM)
- Implementierung innerhalb der 3. Projektphase
Zusammenfassung und Ausblick
Die HoneyComb-Architektur Status:VHDL-Modell ist finalisiertDerzeit: Evaluierung des Software/Hardware-ZusammenspielsSynthese und Layouterstellung in Arbeit
Weitere AufgabenHierarchiegenerator – Auflösen des stark generischen Modells – In VollendungEntwicklung von Demonstrationsanwendungen in HCLAnhand der Ergebnisse Vergleiche mit existierenden Lösungen
Kooperationen
Universität Karlsruhe (TH)Institut für Technik der InformationsverarbeitungProf. Dr.-Ing. Klaus D. Müller-GlaserProjekt: Adaptives Laufzeitsystem mit intelligenter Allokation für
dynamisch rekonfigurierbare Funktionsmuster und optimierte Topologien (ALADYN)
Berührungspunkte: Ankopplung der HoneyComb als weitere Ressourcenkomponente
Universität TübingenLehrstuhl Technische InformatikProf. Dr. rer. nat. Wolfgang RosenstielProjekt: Bewertungs- und Entwurfverfahren für prozessartig
rekonfigurierbare ArchitekturenBerührungspunkte: Programmierung und Codegenerierung
Kooperationen
Technische Universität Darmstadt (TH)Fachgebiet Eingebettete Systeme und ihre AnwendungenProf. Dr.-Ing. Andreas KochProjekt: Software Defined Radio: How to implement an outer modemZiele: Programmierung und Applikationsentwicklung
TU BraunschweigFachgebiet Eingebettete Systeme und ihre AnwendungenProf. Dr Sándor Fekete / Jan C. van der VeenProjekt: ReCoNodesZiele: Zell-Abbildungen mittels ILP
Vielen Dank für Ihre Aufmerksamkeit …
Publikationen
[1] Thomas, A.; Becker, J.: Multi-grained Reconfigurable Hardware Architecture with Online-Adaptive Routing Techniques; IFIP International Conference on Very Large Scale Integration (IFIP VLSI-SOC 2005), Perth, Western Australia, October 17-19, 2005
[2] Thomas, A.; Becker, J.: Online-adaptive Reconfigurable Hardware Architecture and Runtime Environment; IEEE International SOC Conference (SOCC2005), Dulles Airport, Washington, September 25-28, 2005
[3] J. Becker, M. Hübner, K. Paulsson, A. Thomas: "Dynamic Reconfiguration On-Demand: Real-timeAdaptivity in Next Generation Microelectronics", ReCoSoc2005, Montpellier, France
[4] Thomas, A.; Becker, J.: Multi-Grained Reconfigurable Datapath Structures for Online-Adaptive Reconfigurable Hardware Architectures; IEEE Computer Society Annual Symposium on VLSI (ISVLSI 2005), Tampa, Florida, Mai 11-12, 2005
[5] Thomas, A.; Zander, T.; Becker, J.: Adaptive DMA-based I/O Interfaces for Data Stream Handling in Multi-grained Reconfigurable Hardware Architectures; Symposium on Integrated Circuits and Systems Design (SBCCI 2004), Porto de Galinhas, Pernambuco, Brazil, September 7-11, 2004
[6] Thomas, A.; Becker, J.: Dynamic Adaptive Routing Techniques in Multi-grained Dynamic Reconfigurable Hardware Architectures; Field-programmable Logic and its applications (FPL 2004), Antwerpen, August 2004
[7] Thomas, A.; Becker, J.: Aufbau- und Strukturkonzepte einer adaptiven multigranularen rekonfigurierbaren Hardwarearchitektur; Kongressbericht "17th International Conference on Architecture of Computing Systems (ARCS 2004)", Workshop "Dynamically Reconfigurable Systems", Augsburg, März 23-26, 2004