Institut für Technik der Informationsverarbeitung Lars Braun, Philipp Graf, Michael Hübner, Tobias Schwalb, Jürgen Becker, Klaus D. Müller-Glaser Institut für Technik der Informationsverarbeitung Universität Karlsruhe (TH) Prof. Dr.-Ing. Klaus D. Müller-Glaser Prof. Dr.-Ing. Jürgen Becker 2-dimensional laufzeitrekonfigurierbares System ALadyn: Online Adaptivität und modellbasierte Entwurfsunterstützung
Institut für Technik der Informationsverarbeitung Agenda Motivation und Umfeld Hardware-System Online Routing von Funktionsblöcken 2D – Online Platzierung 2D Busmakros und Verdrahtung High-Level Fehlerdiagnose des NoC Modellbasierte Entwurfsunterstützung UML Gesamtmodell und Werkzeugkette Co-Debugging Modelle Modellbasiertes Testen für heterogene Modelle Kooperationen Veröffentlichungen Zusammenfassung/Ausblick
Institut für Technik der Informationsverarbeitung Umfeld BM Laufzeitsystem Funktions- Einheit Funktions- Einheit Funktions- Einheit 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 Online Routing von Funktionsblöcken BM 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 Physikalisch realisierte 2D – Online Platzierung Auslesenlesen der aktuellen Konfiguration Verändern der Dynamischen Bereiches Schreiben der aktuellen Konfiguration
Institut für Technik der Informationsverarbeitung D Rekonfiguration auf Virtex4 FPGAs Rekonfigurierbare Blöcke mit einer einheitlichen Höhe von 16 CLBs Framelänge immer Gleich Anzahl 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 Rekonfigurierbare Switchstruktur für Online Routebare NoC MUX Glue Logic µC X X X X ICAP X Rekonfigurierbarer Switch Input[1] Input[0] Input[2] Input[3] Reconfigurable LUT Output 0 LUT Slice 0 Input[1] Input[0] Input[2] Input[3] Output 1 LUT Von / Zu Funktionaler Einheit Von / Zu oberen Nachbar Von / Zu rechten Nachbar Von / Zu linkem Nachbar Von / Zu unterem Nachbar Beispiel für einen 8 Bit Switch: Pro LUT 1 Bit in 4 Richtungen routbar Für 8 Bit 8 LUTs Pro Ausgang 8 LUTs / 1 CLB Insgesamt 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 D 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 Online 2D Verdrahtung des NoC Laufzeitsystem 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 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-Ressourcen aufgrund 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 Laufzeitsystem Funktions- Einheit Funktions- Einheit Funktions- Einheit SB Funktions- Einheit SB Von / Zu Funktionaler Einheit Von / Zu oberen Nachbar Von / Zu rechten Nachbar Von / Zu linkem Nachbar Von / Zu unterem Nachbar Monitor
Institut für Technik der Informationsverarbeitung Gesamtarchitektur und Werkzeugkette BM Laufzeitsystem Funktions- Einheit Funktions- Einheit Funktions- Einheit SB Funktions- Einheit SB Modell- getriebene Entwicklung und Werkzeug- kette Debugging auf Modellebene Modell- basierter Test
Institut für Technik der Informationsverarbeitung Phase 2: Architektur- und Funktionsmodellierung für Aladyn Modellierung: Top-Level SW-Architektur (UML) Template für Verteilungsmanager (UML) Schnittstelle Funktionstypen (UML) Eigenschaften Realisierungsalternativen (UML) Eigenschaften Funktionsanforderungen (UML) Realisierungsalternativen für Teilfunktionen (UML/Simulink/Stateflow) 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 Integrierte Werkzeugkette (AP 5) Ziel: Integriertes, stark gekoppeltes Gesamtmodell Prozessmodellierung 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
Institut für Technik der Informationsverarbeitung Prozessmodellierung und GUI
Institut für Technik der Informationsverarbeitung Werkzeugkette für Aladyn-Projekt LoadXMI LoadMDL GenCpp inputFile = architecture.xmi filter = > inputFile = fensterheber.mdl filter = > root = /behavior/mdl MergeModels CompileGCC GenEmbeddedCoder GenJVHDLGen ExtractCompressSlots MergeFS Synthesize DeploySW
Institut für Technik der Informationsverarbeitung Repräsentation Werkzeugkette in abstrakter Syntax der UML ProzesselementAbbildung auf UML Actions Werkzeugkette Procedure / GroupAction Aktion CallOperationAction Eingang InputPin Ausgang OutputPin Verknüpfung DataFlow Parameter LiteralValueAction an InputPin Bibliothek Class Aktionstyp Operation, mögliche Parameter in Signatur
Institut für Technik der Informationsverarbeitung Modelldebugging auf FPGAs Ziel Auch 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 Antragsphase Generierbare 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
Institut für Technik der Informationsverarbeitung Benutzeroberfläche von ModelScope
Institut für Technik der Informationsverarbeitung Modellbasiertes Testen Automatisiertes Testen Testansä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 Modellbasiertes Testen …strukturieren Testfälle Jeder 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
Institut für Technik der Informationsverarbeitung Modellbasiertes Testen: Architektur und Arbeitspakete HiL-System HW: CAN, I/O HW Monitoring: Display, CAN, SPI, I 2 C, … FPGA Test-Treiber ComClient Socket Message Adapter System under Test In-Circuit Emulator SW Monitoring Message to HiL Tester GUI: Selection of test cases, start Data- (Monitor-) conversion Report generation Socket Report HTML, MS Word Report- Generator PCI PR-Box RTAI, FPGA ComClient Socket Message Adapter Message from HiL Socket Run control FPGACPU ComClient Socket Message Adapter Socket AP7.1 AP7.2 Echtzeit Trace In-Circuit Emulator Methodenaufrufe Trace-Protokoll ermöglicht Rekonstruktion der Aufrufstacks zu jedem Zeitpunkt Sender und Empfänger von Nachrichten in Sequenzdiagrammen Parameter Minimale 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 Testreports in XML/HTML Testreportgenerierung nach XML Weiterverarbeitung z.B. zu HTML mit XSLT
Institut für Technik der Informationsverarbeitung Kooperationen Prof. Dr.-Ing. Renate Merker, TU Dresden Entwicklung von Partitionierungsstrategien im Bereich dynamisch rekonfigurierbarer Systeme Anknüpfungspunkt: Reduzierte Rekonfigurationskosten und Verlustleistung durch Map-Werkzeug Prof. Dr. Sandor Fekete, Technische Universität Braunschweig, Prof. Dr.-Ing. Jürgen Teich, Universität Erlangen-Nürnberg ReCoNodes - Optimierungsmethodik zur Steuerung hardwarekonfigurierbarer Knoten Anknüpfungspunkt: ESM als Integrationsplattform Prof. Dr.-Ing. Andreas Herkersdorf und Dr.-Ing. Walter Stechele, Dipl.-Ing. Christopher Claus, TU München Reconfigurable Hardware Acceleration for Video-based Driver Assistance Anknüpfungspunkt: On-Line Visualisierung der physikalischen Konfiguration für Debug Zwecke
Institut für Technik der Informationsverarbeitung Publikationen Becker, J.; Hübner, M.; Hettich, G;Constapel, R.;Eisenmann, J.;Luka,J.: Dynamic and Partial FPGA Exploitation Proceedings of the IEEE on Special Automotive Hardware, Spring 2007 Braun, L.; Perschke, T.; Schatz, V.; Bach, S.; Hübner, M.;Becker, J.: Circuit Switched Run-Time Adaptive Network-on-Chip for Image Processing Applications FPL 2007, Amsterdam, The Netherlands Braun, L.; Sander, O.; Becker, J.: An Exploitation of Data Reallocation by Performing Internal FPGA Self- Reconfiguration Mechanisms ARC 2008, London, GB Graf, 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 2005 Graf, 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 2006 Graf, 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 Mappings IEEE Distributed Systems Online, vol. 8, no. 3, 2007 Graf, P.; Reichmann, C.; Müller-Glaser, K.D.: Nonintrusive Black- and White-Box Testing of Embedded Systems Software against UML Models 18th IEEE International Workshop on Rapid System Prototyping, Porto Alegre, Mai 2007 Graf, P.; Hübner, M.; Müller-Glaser, K.D., Becker, J: A Graphical Model-Level Debugger for Heterogenous Reconfigurable Architectures 17th 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-time 30th international conference on Software engineering, Leipzig, Mai 2008 Hübner, M.; Schuck, C.; Becker, J.: Elementary Block Based 2-Dimensional Dynamic and Partial Reconfiguration for Virtex-II FPGAs RAW2006, Rhodos, Greece Hübner, M.; Becker,J.: Dynamic and Partial Reconfigurable Hardwaresystemarchitecture with Real- Time On-Demand Functionality Design and Test in Europe Conference, PhD Forum DATE 2007, Nice, France 2007 Hübner M.; Braun, L.; Becker, J.; Claus, C.; Stechele, W.: On-Line Visualization of the Physical Configuration of a Xilinx Virtex-II FPGA ISVLSI 2007, Porto Alegre, Brazil Hübner, M.; Braun, L.; Göhringer, D.; Becker, J.: Run-time Reconfigurable Apaptive Multilayer Network-on-Chip for FPGA- based Systems RAW 2008, Miami, Florida, USA Hü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 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, Turkey Paulsson, K.; Hübner, M.; Becker, J.: On-Line Optimization of FPGA Power-Dissipation by Exploiting Run-time Adaption of Communication Primitives SBCCI 2006, Brazil Paulson, 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 FPGAs FPL 2007, Amsterdam, The Netherlands Piontek, T.; Albrecht, C.; Koch, R.; Maehle, E.; Hübner, M.; Becker, J.: Communication Architectures for Dynamically Reconfigurable FPGA Designs RAW 2007, Long Beach, California USA
Institut für Technik der Informationsverarbeitung Zusammenfassung 2-dimensionales physikalisches Platzieren von Funktionsblöcken zur Laufzeit Erhöhte Flexibilität und Architekturunabhängigkeit Laufzeitadaptive NoC Architektur mit 2D On-Line Routing Adaptives Network-on-Chip: Configurable Topology-on-Chip Taskgraphsynchronisierte On-Demand Topologie Ermö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 Modellierung Erweiterung und Integration Modellierung: Plattform, Funktion, Prozesse Modellierung und Ausführbarkeit Werkzeugketten Debugging auf Modellebene Integration konfigurierbarer Hardware in Debugger Erweiterung auf dynamisch rekonfigurierendes System und Echtzeitfähigkeit Testmethodik Syntaktisch mächtige Definition von Tests durch UML Sequenzdiagramme Prozessorartige und rekonfigurierbare Ausführungseinheiten als Datenquellen
Institut für Technik der Informationsverarbeitung 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 Architekturen Ausnutzung der (eingeschränkten) 2 dimensionalen dynamischen und partiellen Rekonfiguration von Virtex-4 / Virtex-5 FPGAs Erster Schritt: JCAP (Spartan-III) (FPL 2007, Amsterdam) Durchgängige Standardisierung der API von der Modellierungs- bis zur Hardwareebene Untersuchung der Nutzbarkeit von UML Action Semantics zur Verhaltensbeschreibung von Hard- und Software Weitere Sichten des Debuggers Implizite Zustandsautomaten Zustand Verteilungsmanager Weiterführung und Erweiterung der im SPP 1148 entstandenen Kooperationen
Institut für Technik der Informationsverarbeitung Fragen und Diskussion...?
Institut für Technik der Informationsverarbeitung 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-Ressourcen aufgrund 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 / Zu Funktionaler Einheit Von / Zu oberen Nachbar Von / Zu rechten Nachbar Von / Zu linkem Nachbar Von / Zu unterem Nachbar Monitor
Institut für Technik der Informationsverarbeitung Datenakquise (Methoden/Parameter) Wie werden Laufzeitdaten zum white-box Vergleich mit der Testspezifikation gewonnen? Gesammelte Daten In-Circuit Emulator Methodenaufrufe 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.