© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 1
Lars Braun, Philipp Graf, Michael Hübner, Tobias Schwalb, Jürgen Becker, Klaus D. Müller-Glaser
Institut für Technik der InformationsverarbeitungUniversität Karlsruhe (TH)
Prof. Dr.-Ing. Klaus D. Müller-GlaserProf. Dr.-Ing. Jürgen Becker
2-dimensional laufzeitrekonfigurierbares System ALadyn: Online Adaptivität und
modellbasierte Entwurfsunterstützung
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 2
Agenda
Motivation und Umfeld
Hardware-SystemOnline Routing von Funktionsblöcken
2D – Online Platzierung
2D Busmakros und Verdrahtung
High-Level Fehlerdiagnose des NoC
Modellbasierte EntwurfsunterstützungUML Gesamtmodell und Werkzeugkette
Co-Debugging Modelle
Modellbasiertes Testen für heterogene Modelle
Kooperationen
Veröffentlichungen
Zusammenfassung/Ausblick
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 3
Umfeld
BM BM
BM
BM
BM
LaufzeitsystemLaufzeitsystem
Funktions-Einheit
Funktions-Einheit
Funktions-Einheit
SB SB
SB
Funktions-Einheit
SB
Modell-getriebene
Entwicklung und
Werkzeug-kette
Debugging auf
Modellebene
Modell-basierter
Test
• Positionierung zur Laufzeit• Variable Bitbreite• Zusätzliche Steuersignale• Ressourcenbedarf so gering wie möglich• Änderung und Anpassung der Topologie
• Positionierung zur Laufzeit• Variable Bitbreite• Länge und Verlauf auf
Platzierung der FEs anpassbar
• Positionierung zur Laufzeit• Generierung zur Laufzeit• Anpassen der Bitbreite und der
Funktionalität während der Laufzeit
• Positionierung der FE• Positionierung der Switch Boxen• Routing der BusMakros• Generierung der Funktionseinheiten• Caching von vorgerouteten
Funktionseinheiten
• Umfassend modellbasierte Entwicklung• Modellierung Architektur• Modellierung Funktionalität / Verhalten• Modellierung Werkzeugkette• Automatisierte Systemerzeugung• Der Modellierungsnotation angepasste
Systemsichten zur Laufzeit• Rückabbildung Laufzeitdaten auf
Modellebene• Zielsysteme CPU/FPGA, Echtzeit• Frühe Modellierung von Tests für
funktionale und nicht-funktionale Eigenschaften
• Testdurchführung durch Instrumentierung des heterogenen Zielsystems (CPU/FPGA)
• Automatisierung und Auswertung Testergebnisse
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 4
Online Routing von Funktionsblöcken
BMBM
BMBM
Laufzeitsystem&
Bitstream-packer
Laufzeitsystem&
Bitstream-packer
+ -
x
/ + -
x
/
Innovation:• Höhere Flexibilität durch Anpassbarkeit an die physikalische Chipfläche
und Anforderung der funktionalen Blöcke zur Laufzeit• Zusätzlicher Freiheitsgrad bei der dynamischen Allokation durch eine
architekturunabhängig Beschreibung der Funktionsblöcke• Granularität der Makroblöcke veränderbar• Einfache Anpassung der Funktionalen Einheiten auf verändernde
Problemstellungen
Forschungsschwerpunkte:• Vorhalten von Pre-Routed Modulen (Bitstom Caching)• Strategien um einen Trade-off zu finden zwischen
Online Routed Pre-Routed Modulen• Methoden zur Integration in ein Laufzeitsystem• Erweiterung des Verteilungsmanagements um eine situationsgerechte
QoS-basierende Echtzeitfähigkeit zu gewährleisten• Netzlistenbasierende Beschreibungsform für Funktionen / Algorithmen
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 5
Physikalisch realisierte 2D – Online Platzierung
• Auslesenlesen der aktuellen Konfiguration
• Verändern der Dynamischen Bereiches
• Schreiben der aktuellen Konfiguration
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 6
2D Rekonfiguration auf Virtex4 FPGAs
Rekonfigurierbare Blöcke mit einer einheitlichen Höhe von 16 CLBsFramelänge immer GleichAnzahl der Frames variiert
Änderungen zu Virtex 2 Architektur
Innovation: Einführung der 2 dimensionalen On-Line Platzierung
• Bessere Ausnutzung der Rekonfigurationsfläche• Flächenbedarf und Platzierung direkt auf Funktionsgröße angepasst• Generischer Ansatz für eine Vielzahl von Anwendungen• Weiterer Freiheitsgrad zur Adaptivität im Vergleich zum 1-D
Systemansatz• Ausnutzung der Virtex 4 Struktur
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 7
Rekonfigurierbare Switchstruktur für Online Routebare NoC
MU
XM
UX
MU
XM
UX
GlueLogic
µC
XX
XX
ICAP
X
Rekonfigurierbarer Switch
Input[1]Input[0]
Input[2]Input[3]
ReconfigurableLUT
Output 0
LUT
Slice 0
Input[1]Input[0]
Input[2]Input[3]
Output 1
LUT Von / Zu
Funktionaler Einheit
Von / Zuoberen Nachbar
Von / Zurechten Nachbar
Von / Zulinkem Nachbar
Von / Zuunterem Nachbar
Beispiel für einen 8 Bit Switch:Pro LUT 1 Bit in 4 Richtungen routbarFür 8 Bit 8 LUTsPro Ausgang 8 LUTs / 1 CLBInsgesamt 5 Ausgänge
5 CLBs
Innovation: • Manipulation der LUT basierten Multiplexer direkt über Rekonfigurationsinterface
(ICAP)• Informationen der LUTs ist in 2 Frames gespeichert schnelle Umschaltzeiten• Keine direkten Verbinungen zwischen Kontroller und Switch nötig Geringerer
Leitungsoverhead auf der Chipfläche
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 8
2D Offline Busmakros
Notwendige Toolunterstützung für weitere Forschungstätigkeit im Bereich 2D Platzierung und Verdrahtung
Herausforderung:Bisher kein Toolsupport für 2-dimensionale Kommunikationsprimitive (Bus-Makro)
Ziel: (Semi-) Automatisierte Generierung von Verbindungsleitungen für 2D Module
• Einfache Erzeugung von zwei Dimensionalen Bus- Makros• Programm durch GUI oder durch Programmaufruf mit Parameterübergabe
ausführbar• Einbindung des Tools in andere Programme möglich• Einführung von gesperrten Gebieten (z.B. PowerPC)• Variable Bitbreite der Makros• Gute und schnelle Heuristik zur Wegfindung (A*)
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 9
Online 2D Verdrahtung des NoC
LaufzeitsystemLaufzeitsystem
Funktions-Einheit
SB
Innovation: Einführung der 2 dimensionalen On-Line Verdrahtung
• Bessere Ausnutzung der Rekonfigurationsfläche• Wegfindungsalgorithmus von Offline Busmakro Tool bekannt und erprobt • Integration des Network-on-Chip (NoC) Ansatzes um
Inter-Modulkommunikation zu ermöglichen• Generischer Ansatz für eine Vielzahl von Anwendungen• Verschiedene Topologien durch Switch-Ansatz realisierbar• Weiterer Freiheitsgrad zur Adaptivität im Vergleich zum 1-D
Systemansatz
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 10
• Implementierung eines Monitoring systems in jede Router Einheit
• Daten des Monitors über Readbackfunktionalität der ICAP
• Bestimmung des Datendurchsatzes
• Bestimmen von Bottlenecks• Dynamische Anpassung von
Routing-Ressourcenaufgrund erhöhten Datendurchsatzes
• Möglichkeit der Umstrukturierung des Netzwerkes bei Fehlerfall durch das Laufzeitsystem
• Weiterer Freiheitsgrad bei der lokalen und globalen Selbstheilung des Systems
High-Level Fehlerdiagnose des NoC
BM BM
BM
BM
BM
LaufzeitsystemLaufzeitsystem
Funktions-
Einheit
Funktions-
Einheit
Funktions-
Einheit
SB SB
SB
Funktions-
Einheit
SB
Von / ZuFunktionaler Einheit
Von / Zuoberen Nachbar
Von / Zurechten Nachbar
Von / Zulinkem Nachbar
Von / Zuunterem Nachbar
Monitor
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 11
Gesamtarchitektur und Werkzeugkette
BM BM
BM
BM
BM
LaufzeitsystemLaufzeitsystem
Funktions-Einheit
Funktions-Einheit
Funktions-Einheit
SB SB
SB
Funktions-Einheit
SB
Modell-getriebene
Entwicklung und
Werkzeug-kette
Debugging auf
Modellebene
Modell-basierter
Test
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 12
<<funcType>>Motorsteuerung
Specification Elements
Motorsteuerung
Realization Elements
Motorsteuerung_CPU
Specification ElementsRealization Elements
Motorsteuerung_FPGA
Specification ElementsRealization Elements
EinklemmschutzFensterheber
<<funcRequest>>{windowSpeed=2,speedSteps=15}
-fenster
<<funcRequest>>{movement=accelerated,windowSpeed=1}
-fenster
<<implAlternative>>{speedSteps=5,movement=constant,windowSpeed=3}
<<implAlternative>>{speedSteps=5,windowSpeed=10,movement=accelerated}
Phase 2: Architektur- und Funktionsmodellierung für Aladyn
Modellierung:Top-Level SW-Architektur (UML)Template für Verteilungsmanager(UML)Schnittstelle Funktionstypen(UML)EigenschaftenRealisierungsalternativen (UML)EigenschaftenFunktionsanforderungen (UML)Realisierungsalternativen fürTeilfunktionen(UML/Simulink/Stateflow)
Aus
Reset
Manuell_Hoch Manuell_Runter
Auto_Hoch Auto_Runter
Rücklauf
Taste_Hoch=0 ANDTaste_Runter=0
Taste_Hoch=1 AND Auto=1 ANDNormierung=Ein/ Motor_Hoch=Ein
Taste_Runter=1 AND Auto=1 ANDNormierung=Ein/ Motor_Runter=Ein
Taste_Hoch=1 AND(Auto=0 OR Normierung=Aus)/ Motor_Hoch=1
Taste_Runter=1 AND(Auto=0 OR Normierung=Aus)/ Motor_Runter=1
Taste_Hoch=1 ANDAuto=1 ANDNormierung=Ein
Taste_Runter=1 ANDAuto=1 ANDNormierung=Ein
Blockade=1 ANDPosition<maxRevCnt/ Motor_Hoch=0/ Motor_Runter=1
Tastendruck=1 ORPosition>maxCnt+5 OR(Blockade=1 AND Position>maxRevCnt)/ Motor_Hoch=Aus
Tastendruck=1 ORBlockade=1/ Motor_Runter=Aus
Blockade=1 ORRückfahrt=Fertig/ Motor_Runter=Aus
Taste_Runter=0 ORBlockade=1/ Motor_Runter=Aus
Taste_Hoch=0 ORBlockade=1/ Motor_Hoch=Aus
Ansatz:Weitgehend modellbasierte Entwicklung
Top-Level Modellierung auf Basis der Unified Modeling Language
Integration weiterer Notationen durch Modelltransformation in die UML
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 13
Integrierte Werkzeugkette (AP 5)
Ziel: Integriertes, stark gekoppeltes GesamtmodellProzessmodellierung
• Modellverarbeitung, Codeerzeugung, Compile, Synthese, Deployment, Debuggerkonfiguration
• Geeignete Syntax
• Ausführbarkeit des Modells
Plattformmodellierung• Evaluation Standards auf Anwendbarkeit (IP-XACT)
• Integration in UML Metamodell
Integration als Gesamtmodell
Funktions-modellierung
Prozess-modellierung
Plattform-modellierung
verarbeitet
konfiguriertnutztModell
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 14
Prozessmodellierung und GUI
<!--@param: inputFile : String@param: filter : String@out: model : MDFObject-->
<target name="LoadXMI"><taskdef name="loadxmi"
classname="com.itiv.modelbuild.task.LoadXMI"classpath="../com.itiv.modelbuildeclipse/bin"/>
<echo message="${user.dir}"/>
<loadxmi file="${inputFile}" filter="${filter}" model="model" />
</target>
LoadXMI
inputFile = “text.xmi“filter = “<<auto>>“
model
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 15
Werkzeugkette für Aladyn-Projekt
LoadXMI
LoadMDL
GenCpp
inputFile = “architecture.xmi“filter = “<<auto>>“
inputFile = “fensterheber.mdl“filter = “<<auto>>“
root = “/behavior/mdl“
MergeModels
CompileGCC
GenEmbeddedCoder
GenJVHDLGen
ExtractCompressSlots
MergeFS
Synthesize
DeploySW
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 16
Repräsentation Werkzeugkette in abstrakter Syntax der UML
Library
+LoadXMI() : MDFObject+MergModels( a : MDFObject, b : MDFObject ) : MDFObject+GenCpp( a : MDFObject ) : void
Toolchain : GroupAction
Toolchain : Procedure
call_LoadXMI : CallOperationAction
call_GenCpp : CallOperationAction
call_LoadXMI : CallOperationAction
call_AddNum : CallOperationAction
: DataFlow
: InputPin
: InputPin
LoadXMI : Operation
: DataFlow : InputPin : OutputPin
: OutputPin
LoadXMI : Operation
AddNum : Operation
: OutputPin
: DataFlow
GenCpp : Operation
Bibliothek
Werkzeugkette
Library
+LoadXMI() : MDFObject+MergModels( a : MDFObject, b : MDFObject ) : MDFObject+GenCpp( a : MDFObject ) : void
Toolchain : GroupAction
Toolchain : Procedure
call_LoadXMI : CallOperationAction
call_GenCpp : CallOperationAction
call_LoadXMI : CallOperationAction
call_AddNum : CallOperationAction
: DataFlow
: InputPin
: InputPin
LoadXMI : Operation
: DataFlow : InputPin : OutputPin
: OutputPin
LoadXMI : Operation
AddNum : Operation
: OutputPin
: DataFlow
GenCpp : Operation
Bibliothek
Werkzeugkette MergeModels
LoadXMI
LoadXMI
GenCpp
Operation, mögliche Parameter in SignaturAktionstyp
ClassBibliothek
LiteralValueAction an InputPinParameter
DataFlowVerknüpfung
OutputPinAusgang
InputPinEingang
CallOperationActionAktion
Procedure / GroupActionWerkzeugkette
Abbildung auf UML ActionsProzesselement
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 17
Modelldebugging auf FPGAs
ZielAuch bei modellgetriebener Entwicklung Darstellung und Manipulation des Systemzustands auf Basis der Entwurfsnotation
Derzeit Visualisierung des Modellzustands für Modelle
ausgeführt auf FPGA• Nicht-Echtzeit• Aus Modell generierbare Schnittstelle
ausgeführt auf CPU• Echtzeit/Nicht-Echtzeit
Nachverfolgung Migration zwischen Ausführungseinheiten (AP 6.1)
Verbleibende Ziele AntragsphaseGenerierbare Echtzeitschnittstelle für auf FPGA ausgeführte Modelle (AP 6.2)Kompatibilität Schnittstelle zu
• IP-XACT, Nexus 5001
Spezielle Visualisierung für die Konfiguration des Laufzeitsystems
CPU
Funktion Funktion
tck_
itd
i_i
tdo_
ors
t_i
dsel
_i
clk_
ext_
i
I/ODat
enw
erte
E/A
JTAG
Treiber FPGA
Ere
igni
sse
Treiber PPC
Mapper / Controller
Visualisierung
Entwicklungs-PC
FPGA
generiere VHDL generiere C/C++
(JTAG TAP)Debug Interface
Stat
es
clk_
mod
e_i
ClockGate
Parallelschnittstelle
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 18
Benutzeroberfläche von ModelScope
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 19
Modellbasiertes Testen
Automatisiertes TestenTestansätze zentral für Robustheit von Entwurfsprozessen
Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests
Testfall = Stimulation + erwartete Ergebnisse
Modellnahe Syntax von Testfällen ermöglicht gute Dokumentation
Ziel: Gemischte Tests aus Software- und Hardwarenachrichten
Generativer Ansatz
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 20
Modellbasiertes Testen
…strukturieren TestfälleJeder Anwendungsfall entspricht einem Testfall
…beschreiben Systemstimulation…beschreiben erwartete Systemantwort…besitzen reiche Syntax…können parametrisiert werden…können sich gegenseitig beinhalten
Use Case Diagramme
Sequenzdiagramme
User
steering
suspension
startup
«include»
«include»
:TMC«isys» :MIC :M1
:CAN«isys»
:MessageFilter«isys»
:MDL«isys»
:SPI«isys»
receive CAN message executeprocess CAN message canBuildMessagesend to message filter sendinvoke control taskmodeled in simulink execute
invoke motor controlexecute
initialize motor SPI bus spiInitChfor (int i=0; i<200; i++) {
control stepper send( "1984" )M1_MOVE( "1984" )
send( "30" )M1_MOVE( "30" )
send( "1920" )M1_MOVE( "1920" )
send( "31" )M1_MOVE( "31" )
control stepper send( "1984" )M1_MOVE( "1984" )
send( "30" )M1_MOVE( "30" )
send( "1920" )M1_MOVE( "1920" )
send( "31" )M1_MOVE( "31" )
}
:TMC«isys» :MIC :M1
:CAN«isys»
:MessageFilter«isys»
:MDL«isys»
:SPI«isys»
receive CAN message executeprocess CAN message canBuildMessagesend to message filter sendinvoke control taskmodeled in simulink execute
invoke motor controlexecute
initialize motor SPI bus spiInitChfor (int i=0; i<200; i++) {
control stepper send( "1984" )M1_MOVE( "1984" )
send( "30" )M1_MOVE( "30" )
send( "1920" )M1_MOVE( "1920" )
send( "31" )M1_MOVE( "31" )
control stepper send( "1984" )M1_MOVE( "1984" )
send( "30" )M1_MOVE( "30" )
send( "1920" )M1_MOVE( "1920" )
send( "31" )M1_MOVE( "31" )
}
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 21
Modellbasiertes Testen: Architektur und Arbeitspakete
HiL-SystemHW: CAN, I/O
HW Monitoring: Display, CAN, SPI, I2C, …
FPGATest-Treiber
ComClientSocket Message Adapter
System under Test
In-CircuitEmulator
SW Monitoring
Message toHiL
TesterGUI: Selection of test cases, startData- (Monitor-) conversionReport generation
Socket
ReportHTML, MS WordReport-
Generator
PCI PR-BoxRTAI, FPGA
ComClientSocket Message Adapter
Message fromHiL
Socket
Runcontrol
FPGA CPU
ComClientSocket Message Adapter
Socket
AP7.1AP7.2
Echtzeit Trace In-Circuit Emulator
MethodenaufrufeTrace-Protokoll ermöglicht Rekonstruktion der Aufrufstacks zu jedem Zeitpunkt
Sender und Empfänger von Nachrichten in Sequenzdiagrammen
ParameterMinimale Instrumentierung zur Laufzeit
Möglichkeit Parameter/Rückgabewerte zu rekonstruieren.
Damit testbar:Softwarerealisierung einzelner Funktionen
Funktionalität Verteilungsmanager
Mit Trace-Schnittstelle für FPGAs Übertragung der Konzepte auf hardwarerealisierte Funktionen
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 22
Testreports in XML/HTML
Testreportgenerierung nach XML
Weiterverarbeitung z.B. zu HTML mit XSLT
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 23
Kooperationen
Prof. Dr.-Ing. Renate Merker, TU DresdenEntwicklung von Partitionierungsstrategien im Bereich dynamisch rekonfigurierbarer SystemeAnknüpfungspunkt: Reduzierte Rekonfigurationskosten und Verlustleistung durch Map-WerkzeugProf. Dr. Sandor Fekete, Technische Universität Braunschweig,Prof. Dr.-Ing. Jürgen Teich, Universität Erlangen-NürnbergReCoNodes - Optimierungsmethodik zur Steuerung hardwarekonfigurierbarer KnotenAnknüpfungspunkt: ESM als IntegrationsplattformProf. Dr.-Ing. Andreas Herkersdorf und Dr.-Ing. Walter Stechele, Dipl.-Ing. Christopher Claus, TU MünchenReconfigurable Hardware Acceleration for Video-based Driver AssistanceAnknüpfungspunkt: On-Line Visualisierung der physikalischen Konfiguration für Debug Zwecke
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 24
Publikationen
Becker, J.; Hübner, M.; Hettich, G;Constapel, R.;Eisenmann, J.;Luka,J.:Dynamic and Partial FPGA ExploitationProceedings of the IEEE on Special Automotive Hardware, Spring 2007Braun, L.; Perschke, T.; Schatz, V.; Bach, S.; Hübner, M.;Becker, J.:Circuit Switched Run-Time Adaptive Network-on-Chip for Image Processing ApplicationsFPL 2007, Amsterdam, The NetherlandsBraun, L.; Sander, O.; Becker, J.:An Exploitation of Data Reallocation by Performing Internal FPGA Self-Reconfiguration MechanismsARC 2008, London, GBGraf, P.; Reichmann, C.; Müller-Glaser, K.D.:A Model-Based Design Approach for a Dynamically Configurable Hardware-/Software-Architecture“, 3rd Workshop on Object-oriented Modeling of Embedded Real-Time Systems (OMER 3), Paderborn, Oktober 2005Graf, P.; Müller-Glaser, K.D.: Eine Architektur für die modellbasierte Fehlersuche in der Software eingebetteter Systeme“, Modellierung 2006, Workshop: Modellbasierte Entwicklung von eingebetteten Fahrzeugfunktionen, Innsbruck, März 2006Graf, P.; Müller-Glaser, K.D.: Dynamic Mapping of Runtime Information Models for Debugging Embedded Software“, 17th IEEE International Workshop on Rapid System Prototyping, Chania, Juni 2006 Graf, P.; Müller-Glaser, K.D.:Gaining Insight into Executable Models during Runtime: Architecture and MappingsIEEE Distributed Systems Online, vol. 8, no. 3, 2007Graf, P.; Reichmann, C.; Müller-Glaser, K.D.:Nonintrusive Black- and White-Box Testing of Embedded Systems Software against UML Models18th IEEE International Workshop on Rapid System Prototyping, Porto Alegre, Mai 2007Graf, P.; Hübner, M.; Müller-Glaser, K.D., Becker, J:A Graphical Model-Level Debugger for Heterogenous Reconfigurable Architectures17th International Conference of Field Programmable Logic and Applications (FPL), Amsterdam, August 2007 Graf, P.; Müller-Glaser, K.D.:ModelScope: Inspecting Executable Models during Run-time30th international conference on Software engineering, Leipzig, Mai 2008
Hübner, M.; Schuck, C.; Becker, J.:Elementary Block Based 2-Dimensional Dynamic and Partial Reconfigurationfor Virtex-II FPGAsRAW2006, Rhodos, GreeceHübner, M.; Becker,J.:Dynamic and Partial Reconfigurable Hardwaresystemarchitecture with Real-Time On-Demand FunctionalityDesign and Test in Europe Conference, PhD Forum DATE 2007, Nice, France 2007Hübner M.; Braun, L.; Becker, J.; Claus, C.; Stechele, W.:On-Line Visualization of the Physical Configuration of a Xilinx Virtex-II FPGAISVLSI 2007, Porto Alegre, BrazilHübner, M.; Braun, L.; Göhringer, D.; Becker, J.:Run-time Reconfigurable Apaptive Multilayer Network-on-Chip for FPGA-based SystemsRAW 2008, Miami, Florida, USAHübner, M.; Ullmann, M.; Becker, J.:Real-time Configuration Code Decompression for Dynamic FPGA Self-Reconfiguration - extended version, International Journal on Embedded Systems (IJES), vol. 1, no. 3/4, 2006, pp. 263-273.Paulsson, K.; Hübner, M.; Becker, J.:Strategies to On- Line Failure Recovery in Self- Adaptive Systems based on Dynamic and Partial Reconfiguration, AHS2006, Istanbul, TurkeyPaulsson, K.; Hübner, M.; Becker, J.:On-Line Optimization of FPGA Power-Dissipation by Exploiting Run-time Adaption of Communication Primitives„ SBCCI 2006, BrazilPaulson, K., Auer, G.,Dreschmann, M., Chen, L.; Hübner, M.; Becker, J.:Implementation of a Virtual Internal Configuration Access Port (JCAP) for Enabling Partial Self- Reconfiguration on Xilinx Spartan III FPGAsFPL 2007, Amsterdam, The NetherlandsPiontek, T.; Albrecht, C.; Koch, R.; Maehle, E.; Hübner, M.; Becker, J.:Communication Architectures for Dynamically Reconfigurable FPGA DesignsRAW 2007, Long Beach, California USA
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 25
Zusammenfassung
2-dimensionales physikalisches Platzieren von Funktionsblöcken zur LaufzeitErhöhte Flexibilität und Architekturunabhängigkeit
Laufzeitadaptive NoC Architektur mit 2D On-Line RoutingAdaptives Network-on-Chip: „Configurable Topology-on-Chip “TaskgraphsynchronisierteOn-Demand TopologieErmöglicht funktionsangepasste Verdrahtung zur Laufzeit
High-Level Fehlerdiagnose / Monitoring und Debugging durch Auswertung der gewonnenen Informationen
Wiederherstellung der Hardwarefunktionalität unter Ausnutzung der neuen Freiheitsgrade On-Line Platzierung und Verdrahtung (2 dimensional)Schnittstelle zu High-Level Tools für Debugging
Durchgehende ModellierungErweiterung und Integration Modellierung: Plattform, Funktion, ProzesseModellierung und Ausführbarkeit Werkzeugketten
Debugging auf ModellebeneIntegration konfigurierbarer Hardware in DebuggerErweiterung auf dynamisch rekonfigurierendes System und Echtzeitfähigkeit
TestmethodikSyntaktisch mächtige Definition von Tests durch UML SequenzdiagrammeProzessorartige und rekonfigurierbare Ausführungseinheiten als Datenquellen
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 26
Ausblick
Laufzeitadaptives, hardwarerekonfigurierbares System ALadyn: Weiterführung des Ansatzes
Anwendung mit weiteren Applikationsbeispielen: Videodatenverarbeitung, Automotive Applikationen, Fehlerredundante Systeme mit Fault Recovery Mechanismen
Erweiterung des Systemansatzes zur Anwendung mit neuen FPGA ArchitekturenAusnutzung der (eingeschränkten) 2 dimensionalen dynamischen und partiellen Rekonfiguration von Virtex-4 / Virtex-5 FPGAsErster Schritt: JCAP (Spartan-III) (FPL 2007, Amsterdam)
Durchgängige Standardisierung der API von der Modellierungs- bis zur HardwareebeneUntersuchung der Nutzbarkeit von UML Action Semantics zur Verhaltensbeschreibung von Hard- und SoftwareWeitere Sichten des Debuggers
Implizite ZustandsautomatenZustand Verteilungsmanager
Weiterführung und Erweiterung der im SPP 1148 entstandenen Kooperationen
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 27
Fragen und Diskussion
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 28
High-Level Fehlerdiagnose des NoC
Router Netzwerk Verbindungsmakros
Router Connect Modul
PPC System
Router Einheit
• Implementierung eines Monitoring systems in jede Router Einheit
• Daten des Monitors über Readbackfunktionalität der ICAP
• Bestimmung des Datendurchsatzes
• Bestimmen von Bottlenecks• Dynamische Anpassung von
Routing-Ressourcenaufgrund erhöhten Datendurchsatzes
• Möglichkeit der Umstrukturierung des Netzwerkes bei Fehlerfall durch das Laufzeitsystem
• Weiterer Freiheitsgrad bei der lokalen und globalen Selbstheilung des Systems
Von / ZuFunktionaler Einheit
Von / Zuoberen Nachbar
Von / Zurechten Nachbar
Von / Zulinkem Nachbar
Von / Zuunterem Nachbar
Monitor
© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 29
Datenakquise (Methoden/Parameter)
Wie werden Laufzeitdaten zum white-box Vergleich mit der Testspezifikation gewonnen?
Gesammelte Daten In-Circuit EmulatorMethodenaufrufe
• Trace-Protokoll ermöglicht Aufzeichnen Ereignisse für Operationsaufruf und -verlassen
• Ermöglicht Rekonstruktion der Aufrufstacks zu jedem Zeitpunkt
• Sender und Empfänger von Nachrichten in Sequenzdiagrammen
Parameter• Minimale Instrumentierung zur Laufzeit: Jeder Parameter wird in die selbe
beobachtete Speicherstelle geschrieben
• Möglichkeit Parameter/Rückgabewerte zu rekonstruieren.
Damit testbar:Softwarerealisierung einzelner Funktionen
Funktionalität Verteilungsmanager
Mit Trace-Schnittstelle für FPGAs Übertragung der Konzepte auf hardwarerealisierte Funktionen.