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-Glaser Prof. Dr.-Ing. Jürgen Becker
37
Embed
Synthese, SoC-Integration und Programmierung der ... · Applications Cfg CApplication Cfg FApplication Cfg EApplication Cfg DApplication Cfg BApplication Cfg A SuperCfg Generator
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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:
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
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
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
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
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
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
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