+ All Categories
Home > Documents > 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit,...

2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit,...

Date post: 18-Sep-2018
Category:
Upload: dangnhu
View: 214 times
Download: 0 times
Share this document with a friend
29
© 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 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
Transcript
Page 1: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 2: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 3: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 4: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 5: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 6: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 7: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 8: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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*)

Page 9: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 10: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 11: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 12: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 13: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 14: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 15: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 16: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 17: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 18: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 18

Benutzeroberfläche von ModelScope

Page 19: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 20: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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" )

}

Page 21: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 22: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 23: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 24: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 25: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 26: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 27: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© Institut für Technik der Informationsverarbeitung 2008 29.05.2008 27

Fragen und Diskussion

Page 28: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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

Page 29: 2-dimensional laufzeitrekonfigurierbares System … · Wiederholbarkeit, Nachvollziehbarkeit, Regressionstests Testfall = Stimulation + erwartete Ergebnisse Modellnahe Syntax von

© 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.


Recommended