Bericht 2004 - 2005 - Hilfe

Transcription

Bericht 2004 - 2005 - Hilfe
Bericht 2004 - 2005
Über die Arbeitsbereiche
„Systementwurf in der Mikroelektronik“
Forschungszentrum Informatik und
„Technische Informatik“
Universität Tübingen
Wolfgang Rosenstiel
FZI-Bericht 1-13-1/06
1
Vorwort
Dieser Bericht gibt einen aktuellen Überblick über die Themen, die derzeit
in den Arbeitsbereichen „Systementwurf in der Mikroelektronik (SiM)“ am
Forschungszentrum Informatik (FZI) und „Technische Informatik“ am
Wilhelm-Schickard-Institut für Informatik der Universität Tübingen
bearbeitet werden.
Im FZI-Forschungsbereich SiM und am Lehrstuhl für Technische Informatik
arbeiten zurzeit insgesamt über 30 Mitarbeiterinnen und Mitarbeiter, die
größtenteils aus Drittmitteln verschiedener Auftraggeber finanziert werden. Eine Reihe von Stipendiaten und selbstverständlich viele Studierende,
die als wissenschaftliche Hilfskräfte oder im Rahmen ihrer Diplom- und Studienarbeiten mitarbeiten, unterstützen die Forschung und Lehre zusätzlich.
Im Rahmen dieses Berichts soll vor allem auf die Arbeiten der letzten zwei
Jahre eingegangen werden.
Meine Arbeitsbereiche beschäftigen sich schwerpunktmäßig mit Fragen des
Entwurfs
mikroelektronischer
Systeme.
Ein
besonders
aktueller
Schwerpunkt ist in diesem Zusammenhang der Entwurf eingebetteter
Systeme (Embedded Systems). Weitere Schwerpunktthemen betreffen
Plattform-basierten Entwurf (Platform Based Design), Verifikation,
Virtuelles und Reales Prototyping, Einsatz von Parallelrechnern, Neuronale
Netze sowie Multimedia.
Im Berichtszeitraum konnten 10 Mitarbeiterinnen und Mitarbeiter ihre
Promotion
erfolgreich
abschließen,
es
entstanden
ca.
40
Veröffentlichungen sowie 50 Diplom- und Studienarbeiten.
Für weitere Informationen sei auf die Projektübersicht im WWW, die
Zusammenstellung der Veröffentlichungen bzw. die Kontaktadressen am
Ende dieses Berichts verwiesen.
Mai 2006
Wolfgang Rosenstiel
2
Inhal tsv erzeichni s
Projekte und Arbeitsthemen..............................................................................................7
Entwurf eingebetteter Systeme
(Leitung: Dr. O. Bringmann) .........................................................................................11
Parallelrechner und parallele Programmierung
(Hr. Holtwick, Hr. Ganzenmüller, Hr. Nagel, Hr. Pinkenburg) ....................................28
NeuroTeam
(Leitung: Dr. M. Bogdan) ..............................................................................................32
Rekonfigurierbare Rechensysteme
(Hr. Oppold, Hr. Schweizer)..........................................................................................35
Analyse und Optimierung komplexer System-on-Chip-Entwürfe
(Leitung: Dr. J. Gerlach) ................................................................................................38
Formale Methoden
(Leitung: Dr. T. Kropf)...................................................................................................48
Multimediatechnik
(Leitung: Steffen Holtwick) ..........................................................................................51
Veröffentlichungen ..........................................................................................................54
Vorträge ............................................................................................................................60
Promotionen .....................................................................................................................63
Diplomarbeiten.................................................................................................................64
Studienarbeiten ................................................................................................................65
Liste der Projektpartner 2004-2005 .................................................................................68
Abbildungsverzeichnis......................................................................................................71
Kontaktadressen...............................................................................................................72
3
Forschungszentrum Informati k,
Forschungsbereic h „Systementwurf in der Mikroelektronik
(SiM)“
Leitung: Rosenstiel, Wolfgang, o.Prof., Dr. rer. nat.
Sekretariat: Reiter, Diana
Wissenschaftliche Angestellte und Stipendiaten:
Bringmann, Oliver, Dr. rer. nat, Dipl.-Inform. (Abteilungsleitung)
Katchan, Igor, Dipl.-Ing. (bis 06/05)
Krause, Matthias, Dipl.-Ing. (seit 05/04)
Lipsa, Gabriel-Mihai, Dipl.-Ing. (bis 04/05)
Menn, Carsten, Dipl.-Inform. (bis 06/04)
Schnerr, Jürgen, Dipl.-Inform.
Schönwald Timo, Dipl.-Inform.
Siebenborn, Axel, Dipl.-Inform.
Viehl, Alexander, Dipl.-Inform. (seit 10/04)
Vörg, Andreas, Dipl.-Inform. (bis 01/05)
Stipendiaten:
Copaciu, Flavius (bis 09/05)
Parfuntseu, Pavel
Die Karlsruher Mitarbeiterinnen und Mitarbeiter 2005/2006
4
Universität Tübingen, W ilhel m-Schickard-Insti tut,
Arbei tsbereich „Technische Informatik“
Leitung: Rosenstiel, Wolfgang, o.Prof., Dr. rer. nat.
Sekretariat: Reimold, Margot
Wissenschaftliche Angestellte:
Bensch, Michael, Dipl.-Inform.
Behrend, Jörg‚ Dipl.-Bioinform. (seit 01/06)
Bernauer,Andreas, Dipl.-Bioinform. (seit 10/05)
Bogdan, Martin, Dr. rer. nat.
Braun, Axel, Dipl.-Inform.
Dreher, Werner, Dipl.-Phys.
Ganzenmüller, Sven, Dipl.-Phys.
Gerlach, Joachim, Dr. rer. nat.
Heim, Gerald, Dipl.-Inform.
Hermle, Thomas, Dipl.-Inform. (bis 12/04)
Holtwick, Steffen, Dipl.-Phys.
Katchan, Igor, Dipl.-Ing. (01/04 bis 12/04)
Kuhn, Tommy, Dr. rer. nat.
Lämmermann, Stefan, Dipl.-Ing. (seit 06/05)
Lipsa, Gabriel-Mihai, Dipl.-Ing. (05/05 bis 07/05)
Ludwig, Lothar, Dr. rer. nat. (bis 12/04)
Müller, Matthias, Dipl.-Inform. (seit 07/05)
Nagel, Andreas, Dipl.-Phys. (seit 04/05)
Oppold, Tobias, Dipl.-Inform.
Peranandam, Prakash Mohan, Dipl.-Inform.
Pinkenburg, Simon, Dipl.-Phys.
Ritt, Marcus, Dr. rer. nat. (bis 12/03)
Ruf, Jürgen, Dr. rer. nat.
Schmitt, Stephen, Dipl.-Inform.
Schröder, Michael, Dipl.-Inform. (bis 10/05)
Schulz-Key, Carsten, Dipl.-Inform. (bis 09/05)
Schweizer, Thomas, Dipl.-Inform.
Weiss, Roland, Dr. rer. nat. (bis 11/05)
Winterholer, Markus, Dipl.-Inform. (bis 12/04)
Stipendiaten:
Brugger, Dominik, Dipl.-Bioinform. (seit 10/05)
Da Silva Rocha, Karina, Master Comp. Sc. (seit 04/05)
De Oliveira Filho, Julio Alexandrino, Master Electr. (seit 04/04)
Lettnin, Djones, Master Electr. Eng. (seit 05/04)
Subramanian, Suguna, Master Comp Sc. (seit 05/05)
5
Die Tübinger Mitarbeiterinnen und Mitarbeiter 2005/2006
6
Proj ekte und A rbei tsthemen
Der Forschungsbereich „Systementwurf in der Mikroelektronik“ (SiM)
am Forschungszentrum Informatik in Karlsruhe (FZI) und der Lehrstuhl
Technische Informatik an der Universität Tübingen bestehen seit 1990.
Beide Arbeitsgruppen waren und sind an mehreren nationalen und
internationalen Projekten beteiligt und beschäftigen sich mit
zahlreichen Themen auf dem Gebiet des Entwurfs und der
Anwendung mikroelektronischer Systeme. Im Vordergrund stehen
Fragen des Entwurfs mikroelektronischer Systeme. Ein besonders
aktueller Schwerpunkt ist in diesem Zusammenhang der Entwurf
eingebetteter
Systeme
(Embedded
Systems
Weitere
Schwerpunktthemen betreffen Plattform-basierten Entwurf (Platform
Based Design), Verifikation, Virtuelles und Reales Prototyping, Einsatz
von Parallelrechnern, Neuronale Netze sowie Multimedia.
Im Folgenden sind die aktuellen Projekte nach den zugehörigen
Arbeitsthemen gegliedert und beschrieben.
Entwurf eingebetteter Systeme (Leitung: Dr. O. Bringmann)
•
•
•
•
Applikationsspezifische Architekturbewertung
-
Modellbasierte Entwurfsevaluierung mit UML2 und SysML
(Alexander Viehl)
-
Kommunikations- und Performanzabschätzung
eingebetteter Systeme (Axel Siebenborn)
-
Zielarchitekturorientierte Abschätzung von
Schaltungsimplementierungen (Carsten Menn)
Modellierung und Verfeinerung von virtuellen Prototypen
-
SystemC-basierte Modellierung verteilter eingebetteter
Systeme als virtuelle Prototypen (Matthias Krause)
-
Automatische Verfeinerung der Kommunikation und
Generierung von Target Software (Matthias Krause)
-
Applikationsspezifische Network-on-Chip-Architekturen
(Axel Siebenborn, Timo Schönwald)
-
SystemC, GreenSocs, GreenBus (Pavel Parfuntseu)
Validierung und Test von Hardware/Software-Systemen
-
Instruction-Set-Emulation (Jürgen Schnerr)
-
FPGA-basierte Fehleremulation für sicherheitskritische
Anwendungen (Igor Katchan, Pavel Parfuntseu)
Autonomic Computing für zuverlässige mikroelektronische und
eingebettete Systeme
-
Architektur und Designmethodik für Autonomic System on
Chip (Andreas Bernauer, Gabriel Lipsa, Oliver Bringmann)
7
•
•
Zuverlässige Systeme (Oliver Bringmann)
Wiederverwendung qualifizierter Intellectual Property
-
IP-Qualifizierung (Andreas Vörg)
-
IP-Verwaltung (Andreas Vörg)
SystemC Parser - als Teil des KaSCPar Tools (Karlsruhe SystemC
Parser) (Pavel Parfuntseu)
Parallelrechner und parallele Programmierung (Hr.
Holtwick, Hr. Ganzenmüller, Hr. Nagel, Hr. Pinkenburg)
•
Objektorientierte parallele Ein-/Ausgabe (Simon Pinkenburg)
•
Ein objektorientiertes paralleles Framework für wissenschaftliche
Simulationen (Sven Ganzenmüller)
•
Implementierung einer Oberflächenspannung in sph2000 (Andreas
Nagel)
NeuroTeam (Leitung: Dr. M. Bogdan)
•
OTC - Online Tool Controlling mit neuronalen Netzen (Elena
Sapojnikova, Michael Schröder, Michael Bensch)
•
Ausbeuteoptimierung mit Halbleiter Herstellerdaten (Dominik
Brugger, Michael Bensch)
•
Workload Prediction - Vorhersage der Auslastung von
Großrechnern (Michael Bensch, Dominik Brugger)
Rekonstruierbare Rechensysteme (Hr. Oppold, Hr. Schweizer)
•
Entwurf und Bewertung von Architekturen von dynamisch
rekonfigurierbaren Prozessoren (Tobias Oppold)
•
Reduzierung der Verlustleistung bei prozessorartig
rekonfigurierbarer Hardware (Thomas Schweizer)
Optimierung komplexer System-on-Chip-Entwürfe (Leitung: Dr. J.
Gerlach)
•
Performanzanalyse und -optimierung von Systemmodellen und
Kommunikationsarchitekturen (Axel Braun)
•
Modellierung von Echtzeitbetriebssystemen und Optimierung von
Echtzeitsystemen (Matthias Müller)
•
Coverage-basierte Bewertung und Optimierung von
Verifikationsumgebung (Karina Da Silva)
•
Verifikation von Software in eingebetteten Echtzeitsystemen
(Djones V. Lettnin)
•
Verifikation komplexer SoC-Entwürfe mit Low-Cost Prototyping
Umgebungen (Stephen Schmitt)
•
Lokalisierung durch die Nutzung der Bluetoothtechnologie
(Suguna Subramanian)
8
•
Simulationsumgebung für superskalare Prozessoren (Gerald Heim)
•
Wertevorhersage in Prozessoren (Gerald Heim)
•
Low-Power Technologien in modernen Prozessorarchitekturen
(Gerald Heim)
Formale Methoden (Leitung: Dr. T. Kropf)
•
GRASP - Integration formaler und funktionaler
Verifikationswerkzeuge (Roland Weiss, Jürgen Ruf, Thomas Kropf)
•
KOMFORT - Kombination formaler und semiformaler Techniken zur
Verifikation von C++-basierten Systembeschreibungen (Prakash
Peranandam, Pradeep Nalla, Jürgen Ruf, Thomas Kropf)
•
FEST - Funktionale Verifikation von Systemen (Stefan
Lämmermann, Roland Weiss, Jürgen Ruf, Thomas Kropf)
Multimediatechnik (Leitung: Steffen Holtwick)
Informationen über die genannten Projekte unter:
•
DFG - Eingebettete Systeme
http://sppes.fzi.de/
•
DFG-SPP-RP: DFG-Schwerpunktprogramm Rapid Prototyping
http://www.ida.ing.tu-bs.de/research/coops/dfg-spp-rp/home.g.shtml
•
ESDG: Embedded Systems Design Group
http://www.fzi.de/sim/index.html
•
ECSI
http://www.ecsi.org
•
EEG - Signalklassifikation
http://www-ti.informatik.uni-tuebingen.de/~schroedm/eeg/index.html
•
FMG - Formal Methods Group
http://www-ti.informatik.uni-tuebingen.de/~fmg
•
GCI: Graduiertenkolleg Chemie in Interphasen
http://www.interphasen.de/
•
GRASP: GRAfische Spezifikation und Echtzeitverifikation von
Produktionsautomatisierungssystemen (GRASP)
http://www.c-lab.de/grasp
•
GRIP: Integrated System for the Neuroelectric Control of Grasp in
Disabled Persons
http://www.grip-europe.org
•
INTER: Intelligent Neural Interface
http://www-ti.informatik.uni-tuebingen.de/~bogdan/inter_titel.html
•
Marie Curie
http://marie-curie.fzi.de/
9
•
MULTIMEDI@AT: MBone Tools – Videokonferenz im Internet
http://struppi.informatik.uni-tuebingen.de/bioinformatik/index.html
•
NeuroTeam
http://www.NeuroTeam.de
•
OASE: Objektorientierter Hardware/Software-Entwurf
http://www-ti.informatik.uni-tuebingen.de/~oase/
•
OASIS: Open Architecture Server for Information Search and Delivery
http://www-ti.informatik.uni-tuebingen.de/oasis/
•
PONS
http://homepages.uni-tuebingen.de/schwarz/ponsproject.html
•
SFB382: Verfahren und Algorithmen zur Simulation physikalischer
Prozesse auf Höchstleistungsrechnern
http://www-ti.informatik.uni-tuebingen.de/~c6
•
SPEAC
http://speac.fzi.de
•
SystemC
http://www-ti.informatik.uni-tuebingen.de/~systemc
•
TOOLIP
http://toolip.fzi.de
10
Entwurf eingebetteter Sy steme (Leitung: Dr. O .Bringmann)
In unserem Alltag spielen komplexe eingebettete Systeme eine immer
größere Rolle. Einbettete Systeme haben im letzten Jahrzehnt die
Veränderungen
in
der
Daten-,
Kommunikationsund
Automobiltechnik stark geprägt und sind zu einem festen Bestandteil
des täglichen Lebens geworden. Die steigenden Anforderungen nach
Leistungsfähigkeit, Komfort, Zuverlässigkeit und Sicherheit führen zu
einer wachsenden Komplexität und Vernetzung eingebetteter
Systeme, die neue Spezifikations- und Entwurfsverfahren erfordern.
Ebenso werden komplette Systeme auf einem Baustein (Systems-onChip, SoCs in Low-Power-Technologie) gefordert, die die Entwicklung
verteilter autonomer und skalierbarer Teilsysteme unterstützen. Des
Weiteren wird in Zukunft neue Funktionalität in der Automobil-,
Informations- und Kommunikationstechnik weniger durch die Summe
der Einzelkomponenten sondern durch deren gegenseitige
Vernetzung realisiert, so dass neue Anwendungen überwiegend aus
der Vernetzung resultieren werden. Dieser Wandel im Produktbereich
zwingt zunehmend auch zu einem Paradigmenwechsel im Entwurf.
Der bestehende komponentenzentrierte Entwurf muss einer
ganzheitlichen Sicht auf ein vernetztes eingebettetes System weichen,
um frühzeitig die Auswirkungen der Vernetzung unter Verwendung
eines virtuellen Prototypen analysieren und bewerten zu können.
Die Aktivitäten in den Jahren 2004 und 2005 standen deshalb ganz im
Zeichen der steigenden Vernetzung in der Automobil-, Informationsund Kommunikationstechnik. Insbesondere der durch die bestehenden
Entwurfsmethoden geprägte traditionelle Entwicklungsablauf gemäß
des „V-Modells“ erweist sich zunehmend als problematisch, da eine
ganzheitliche Sicht auf ein vernetztes System und damit die
Verifikation der Systemintegration erst nach kostspieligem Aufbau
eines realen Prototypen möglich ist. Verletzte Systemanforderungen
oder Integrationsfehler können somit erst am Ende des
Entwurfsablaufs aufgedeckt werden und führen zu langen
Entwurfszyklen und damit verbunden zu einer verspäteten
Markteinführung mit hohen Umsatzeinbußen. Dieses Problem erweist
sich nicht nur auf Integrator- sondern auch auf Zuliefererseite als
bedeutsam, da eine fehlerfreie Entwicklung der Teilsysteme erst beim
Systemintegrator nachgewiesen werden kann.
Der Forschungsbereich SIM hat den genannten Paradigmenwechsel im
Entwurf durch Erforschung einer ganzheitlichen Modellierungs-,
Analyse- und Verifikationsmethodik für verteilte eingebettete Systeme
aufgegriffen, wodurch die Auswirkungen der Systemintegration
bereits anhand eines abstrakten Modells des gesamten Systems
analysiert und somit viele Integrationsfehler bereits in frühen
Entwurfsphasen aufgedeckt werden können. Hierzu zählen Techniken
zur abstrakten Modellierung eines gesamten verteilten Systems, die
einerseits eine enge Anbindung an das Requirement-Engineering und
11
andererseits
eine
lückenlose
Verbindung
zu
den
Implementierungsprozessen ermöglichen. Der Schlüssel für einen
erfolgreichen Entwurf ist die Bereitstellung eines plattformbasierten
Entwurfsprozesses, der sowohl die Funktion als auch die zugrunde
liegende Hardware-Architektur durch Verwendung eines virtuellen
Prototypen frühzeitig in den Entwurfsprozess einbezieht, um die
Leistungsfähigkeit
der
intendierten
Hardwareund
Netzwerkarchitektur bestimmen und optimieren zu können. Durch die
Erforschung von neuen Ansätzen zur SystemC-basierten Modellierung
virtueller HW-Prototypen, zur automatischen applikationsspezifischen
Architekturexploration
von
Hardware/Software-Systemen,
zur
Unterstützung einer Hardware-nahen Software-Entwicklung für
künftige On-Chip Prozessor-Cores bis hin zu einer methodischen
Wiederverwendung von IP-Blöcken konnten wichtige Lücken in einem
durchgängigen
plattformbasierten
Entwurfsablauf
geschlossen
werden. Die erforschte Methodik ist sowohl für System-on-ChipEntwürfe als auch für Netzwerke verteilter Steuergeräte anwendbar,
die zu entscheidenden Innovationsträgern der Telekommunikationsund Automobilindustrie geworden sind. Im Weiteren sind die
Forschungsaktivitäten,
die
sowohl
im
Rahmen
von
Forschungsprojekten als auch durch teilweise öffentlich geförderten
Verbundprojekten z.B. SpeAC (BMBF 01M 3067, MEDEA+ A508) und
Uranos (BMBF 01 M 3075) finanziert werden, in den folgenden
Schwerpunkten kurz dargestellt.
Abb. 1: Pla ttform ba sie rte r E ntw urf v on v erte ilte n
ei nge bettete n Sy ste me n und S ystem s- on- Chi p
12
Applikati onsspezifische Archi tekturbewertung
Modellbasierte Entwurfsevaluierung mit UML2 und SysML (Alexander
Viehl)
Die Unified Modeling Language (UML) ist eine allgemeine
Modellierungssprache, die im Softwareentwicklungsprozess weit
verbreitet für
die
Spezifikation
und
den
Entwurf von
Softwaresystemen eingesetzt wird. Die Modellierung von Systemen
mit UML erlaubt den Beginn des Modellierungsprozesses auf einem
hohen Abstraktionsniveau und die Beschreibung von Aspekten wie
dem Zeitverhalten und der Architektur noch bevor Teile der
Funktionalität implementiert wurden. (siehe Abb. 2)
Abb. 2: De si gnflow z ur M odellie rung und A naly se von
ei nge bettete n Sy ste me n mi t U ML 2/Sy sML
13
UML2.0 und SysML versuchen, bewährte Techniken aus der
Softwaretechnik in das Systems Engineering zu überführen. Dazu
wurden neue Modelle und Profile entwickelt, die den Bedürfnissen der
Systementwicklung auf hohen Abstraktionsebenen genügen. Bis jetzt
liegt dabei der Fokus auf Modellierungsaspekten. Quantitative
Performanzanalyse wird nicht ausreichend in frühen Entwurfsphasen
adressiert. In diesem Forschungsbereich wurde ein Verfahren zum
Rapid Prototyping und zur frühen Entwurfsbewertung von
eingebetteten Systemen und Systems-on-Chip (SoC) entwickelt. Der
Ansatz umfasst die Beschreibung des Gesamtsystems oder von
Teilkomponenten
mit UML2/SysML
und die
automatisierte
Überführung in ein formales Systemmodell. Auf diesem Modell können
Analysen
hinsichtlich
Performanzaspekten
oder
potentiellen
Konflikten auf geteilten Kommunikationsressourcen durchgeführt
werden. Weiterhin können aus dem Modell automatisch
Simulationsmodelle in SystemC erzeugt werden, welche durch
Monitoring-Schnittstellen die Simulation und damit die Erkennung von
Performanzengpässen
und
Ressourcenkonflikten
unterstützen.
Dadurch ist es möglich, ein Systemmodell zu einem frühen
Entwurfszeitpunkt zu evaluieren. Die gewonnenen Informationen
können in einem weiteren Schritt zur Modifikation des spezifizierten
Modells verwendet werden und unterstützen somit eine Exploration
des Entwurfsraumes.
Kommunikations- und Performanzabschätzung eingebetteter
Systeme (Axel Siebenborn)
Um Fehler beim Entwurf und die hiermit verbundenen Auswirkungen
auf den Entwicklungszyklus zu vermeiden, wird eine Validierung der
Systembeschreibung in einer möglichst frühen Phase des Entwurfs
angestrebt. Da komplexe Systeme aus mehreren miteinander
interagierenden Komponenten bestehen, müssen beim Entwurf nicht
nur die einzelnen Komponenten, sondern das System global validiert
werden. Durch formale Verfahren werden die Fälle ermittelt, in denen
ein extremes Laufzeitverhalten auftritt (Worst-Case). Hierbei wird das
globale System betrachtet, wobei das interne Verhalten einzelner
Funktionsblöcke berücksichtigt wird. Der Ansatz besteht in der
Kombination
und
Erweiterung
einer
Methode
zur
Laufzeitabschätzung von Software auf einem eingebetteten Prozessor
und einer Methode zur Analyse des Kommunikationsverhaltens
zwischen Prozessen. Ziel der Laufzeitabschätzung ist die Bestimmung
einer Unter- und Obergrenze für sequenziell auszuführende
Programmteile. Durch analytische Verfahren können diese Grenzen
unabhängig von den Eingabedaten ermittelt werden. Die
Schwierigkeiten hierbei erwachsen insbesondere aus der Entwicklung
und dem Einsatz moderner Prozessorkonzepte im Bereich
eingebetteter Systeme. So haben superskalare Befehls-Pipelines,
Konzepte zur Sprungvorhersage und Cache-Speicher einen größeren
14
Einfluss auf das Laufzeitverhalten und müssen in entsprechenden
Modellen bei der Analyse berücksichtigt werden. Um den
Einfluss blockierender Kommunikationen auf die Ausführungszeit
berücksichtigen zu können, wird ein Ansatz zur Analyse des
Kommunikationsverhaltens paralleler Prozesse mit dem Verfahren zur
Laufzeitabschätzung
verknüpft.
Durch
das
Verfahren
der
Kommunikationsanalyse
können
Kommunikationen,
die
unterschiedliche
Prozesse
synchronisieren
identifiziert
und
Wartezeiten der Kommunikationspartner bestimmt werden. Durch
Synchronisationspunkte werden parallele Prozesse zeitlich zueinander
in Beziehung gesetzt. Auf Basis der Synchronisationspunkte kann das
globale Zeitverhalten des Systems bestimmt werden. Aufbauend auf
dem Verfahren zur Kommunikationsanalyse wird ein Verfahren
vorgestellt, mit dem Konflikte beim Zugriff unterschiedlicher
Funktionsblöcke
auf
gemeinsame
Speichermodule
oder
Kommunikationskanäle erkannt, sowie inkorrekt modelliertes
Kommunikationsverhalten aufgedeckt werden kann. Dies erlaubt die
Bestimmung einer minimalen Anzahl von Kommunikationsressourcen
unter Vermeidung von Ressourcen- und Laufzeitkonflikten. In
Abbildung 1 ist die Aufteilung der Ausgangsbeschreibung in den
beiden Problemdomänen dargestellt. Abbildung 3 zeigt die
Implementierung der beschriebenen Methoden als Werkzeugkette.
Comm un icating Processes
Contro l Structure
F
5
Comm un ication Structure
F
1
?
F
4
F
2
F
3
Problem
Decomposition
Communication
Analysis
Register
Instruction
set
Execution
Units
Pipeline
WCET
Analysis
µC Architecture
Worst-Case
Timing Behaviour
Abb. 3: Probl em a ufteil ung i n K om m unik a ti onsstruk tur und
Kontroll fl ussgraphe n zwi sc hen K om m unik ati onspunk te n
15
SystemC
SystemC2XML
XML
XMIL
Gen_CDG
PORTOS
C/C++
gcc arch
ASM arch
CDG
DiSCoE
WCET
g CPU
c
c
Gromit
Splitter
ASM
path
Abb. 4: We rkz e ugke tte
Zielarchitekturorientierte Abschätzung von
Schaltungsimplementierungen (Carsten Menn)
In diesem Forschungsbereich wurde ein Verfahren zur Abschätzung
von Flächenbedarf und Latenz von digitalen Schaltungen entwickelt.
Das Verfahren zeichnet sich dadurch aus, dass es bereits in sehr frühen
Phasen des Entwurfs von digitalen Schaltungen eingesetzt werden
kann, da lediglich eine zeitfreie Verhaltensbeschreibung der
gewünschten Funktionalität benötigt wird. So ist es bereits möglich,
schon während der Architekturauswahl im plattformbasierten Entwurf
von SoCs eine Abschätzung vorzunehmen. Somit kann beispielsweise
die Auswahl von zu verwendenden FPGA-Typen unterstützt bzw.
bewertet werden. Während der Hardware/Software Partitionierung
bzw. der Abbildung von Funktionalität auf entsprechende
Komponenten einer Architektur, hilft die hier vorgestellte
Abschätzung sehr früh, ungünstige Entscheidungen zu verwerfen.
Damit wird der Entwurfsprozess insgesamt beschleunigt, da nur für
viel versprechende Kandidaten der zeitaufwendige Syntheseprozess
vollständig durchgeführt wird. Da das Abschätzungsverfahren modular
aufgebaut ist und diese Module sich an die Einzelphasen der HighLevel Synthese (Allokierung, Ablaufplanung, Bindung) orientieren, ist
der Einsatz auch während jedes einzelnen Schrittes der High-Level
Synthese möglich.
Ohne tatsächlich eine Synthese durchführen zu müssen, kann die
Abschätzung Ergebnisse für zu erwartende Werte nach der RTSynthese bereitstellen und das Steuerwerk (für FPGA-Realisierungen)
sowie die Besonderheiten der Logikminimierung von Multiplizierern
mit konstanten Operanden mitberücksichtigen.
16
Die Abschätzung des Flächenbedarfs eines Steuerwerks, welches in
einem FPGA realisiert werden soll, kann in konstanter Zeit erfolgen, da
es gelungen ist durch statistische Analyse eine geschlossene Formel zur
Berechnung des Flächenbedarfs zu finden. Hierfür ist keine Kenntnis
über die Übergangs- bzw. Ausgabefunktionen des Steuerwerks nötig.
Daher ist auch diese Abschätzung in sehr frühen Phasen des
Entwurfsablaufs einsetzbar.
Ein konstanter Operand an einem Eingang eines Multiplizierers kann
dazu führen, dass während der Logikminimierung der Flächenbedarf
des Multiplizierers drastisch reduziert wird. In vielen (Teil-)
Applikationen
im
Multimedia-Bereich
treten
derartige
Multiplikationen häufig auf, so dass hier die Vernachlässigung dieses
Aspekts zu unzureichenden Abschätzungsergebnissen führen würde.
In einer ersten Untersuchung konnte die Möglichkeit aufgezeigt
werden, für verschiedene Multiplizierer-Typen den Flächenbedarf und
die Latenz anhand des Konstantenwertes eines Operanden
abzuschätzen. Hierzu genügen Eckdaten, die aus der Synthese einiger
Multiplizierer gewonnen werden können. Die Abschätzungsergebnisse
konnten durch die Berücksichtigung der durch die Logikminimierung
reduzierten Multiplizierer noch weiter verbessert werden.
Modelli erung und Verfei nerung von vi rtuellen Prototypen
SystemC-basierte Modellierung verteilter eingebetteter Systeme als
virtuelle Prototypen (Matthias Krause)
Intelligente eingebettete Systeme, wie sie beispielsweise im Automobil
eingesetzt werden, sind zunehmend durch die steigende Vernetzung
geprägt. So wird in Zukunft neue Funktionalität weniger durch die
Summe der Einzelkomponenten, sondern durch deren Vernetzung
realisiert. Während in den Achtziger und Neunziger Jahren passive
Sicherheitssysteme,
wie
aufprallsichere
Fahrgastzellen
und
Airbagsysteme unsere Fahrzeuge in ihrer Sicherheit wesentlich
verbessert haben, wird die nächste Dekade den aktiven
Sicherheitssystemen gehören, die sich überwiegend als SicherheitsFahrerassistenzsysteme zusammenfassen lassen. Der Markt für diese
Systeme wird sich nach einer Analyse von B&D Forecast zu einem
bedeutenden Umsatz- und Ertragsträger für die Automobilzulieferer
entwickeln. Hierbei ist zu erkennen, dass bei den etablierten passiven
Sicherheitssystemen Innovation durch komplexere Steuergeräte sowie
durch eine Erhöhung der Anzahl der Steuergeräte erzielt wurde.
Durch den Übergang von passiven zu aktiven Sicherheitssystemen wird
Innovation funktionsbedingt durch Interaktion von Steuergeräten
erzielt und lässt sich nicht mehr durch einfaches Hinzufügen von
Steuergeräten handhaben. Der Mehrwert resultiert somit zunehmend
aus der Vernetzung, sogar einhergehend mit einer Reduktion der
Gesamtanzahl an Steuergeräten, wobei die Vernetzung hohe
17
Funktionsrelevanz
besitzt.
Als
Beispiel
seien
künftige
Assistenzfunktionen genannt, die eine enge Vernetzung der aktiven
und passiven Sicherheitssysteme mit den vorausschauenden
Fahrerassistenzsystemen erfordern. Erkennt die Adaptive Cruise
Control
(ACC)
eine
kritische
Verkehrssituation,
legt
das
Sicherheitssystem die Bremsbeläge unmerklich an die Bremsscheiben
an und bereitet den Bremsassistenten so auf eine eventuelle
Notbremsung vor. Das ACC ist wiederum eng mit der
Fahrzeugumfelderkennung über Video- bzw. Radarsensorik gekoppelt.
In einer weiteren Ausbaustufe fließen Umgebungsinformationen aus
dem GPS-System ein. So werden nur durch Vernetzung von
existierenden Steuergeräten neue aktive Sicherheitssysteme mit
hohem Mehrwert bereitgestellt, die jedoch hohe Anforderungen an
eine reibungslose Interaktion stellen.
Analoge
Entwicklungen
sind
auch
im
Bereich
der
Mobilkommunikation erkennbar. Bereits heute haben sich mobile
Endgeräte über Kommunikations- und Multimediaanwendungen
hinaus entwickelt. Die bisherigen Funktionen zeichnen sich dadurch
aus, dass sie passiv den Funktionsumfang eines mobilen Endgeräts
erhöhen, also dem Benutzer einfach zusätzliche Anwendungen bieten.
Dadurch, dass Mobiltelefone eine äußerst hohe Verbreitung gefunden
haben und stets mitgeführt werden, eröffnen sich eine Vielzahl neuer
Anwendungsgebiete, die weit über die bisherigen Funktionen
hinausgehen. Als Beispiel seien Gesundheitsüberwachungsfunktionen
genannt, die den Puls, Blutzuckerspiegel und die Herzfrequenz der
Nutzerin/des Nutzers überwachen und zukünftig aktiv bei Bedarf
einen Notruf absenden können, der mit GPS-Ortungsinformationen
versehen ist. Einen weiteren Anwendungsfall liefert ein zukünftiges
Szenario, in welchem beim Einsteigen in ein Fahrzeug das
Mobiltelefon der Fahrerin/des Fahrers automatisch eine Verbindung
mit der im Wagen installierten Freisprechanlage über Bluetooth
initiiert. Ähnlich wie bei den Automobil-Beispielen ist auch bei diesen
geplanten Systemen ein Wechsel von passiver zu aktiver Funktionalität
zu verzeichnen, wobei diese Funktionen ebenfalls nicht durch
Einzelkomponenten, sondern durch deren Vernetzung realisiert
werden.
Einhergehend mit dem beschriebenen Paradigmenwechsel im
Produktbereich ist jedoch auch ein Paradigmenwechsel im
Entwurfsprozess notwendig: Sowohl in der Automobil- als auch in der
Mobilkommunikationsbranche
geht
die
Systemverantwortung
zunehmend an den Zulieferer über. Dies bedeutet, dass der Zulieferer
seine eigene Komponente nicht mehr isoliert betrachten kann,
sondern im globalen Kontext entwerfen und verifizieren muss.
Konkret bedeutet dies, dass bestimmte Fragestellungen, die den
globalen Kontext betreffen, schon sehr früh beantwortet werden
müssen, bevor der eigentliche Komponentenentwurf begonnen hat.
Für Automobil-Anwendungen muss daher frühzeitig verifiziert
werden, ob das Gesamtsystem mit der zu entwerfenden Komponente
18
die Sicherheitsanforderungen der Applikation erfüllt. Bei der
Mobilkommunikation wäre eine analoge Fragestellung, ob das
Gesamtsystem mit der zu entwerfenden Komponente die Performanz-,
Power- und Miniaturisierungsanforderungen des Endgerätes erfüllt. Es
war bisher ausreichend, die Anforderungen einer einzelnen
Komponente zu prüfen, müssen künftig die Anforderungen an das
Gesamtsystem einschließlich der zu entwerfenden Komponente
verifiziert werden. Im Gegensatz zu vernetzten Systems-on-Chip
handelt es sich hierbei um offene, frei konfigurierbare Systeme, bei
denen nicht die Realisierung einer Applikation auf einem Chip,
sondern das Zusammenwirken mehrerer, ursprünglich unabhängiger
Applikationen zur Realisierung einer neuen Funktionalität im
Vordergrund steht. Das Gesamtsystem kann somit für jeden
Anwendungsfall variieren und besteht zum Teil aus unbekannten und
artfremden Komponenten, deren Konfiguration sich zur Anpassung an
unterschiedliche Marktbedingungen ändern kann.
Automatische Verfeinerung der Kommunikation und Generierung
von Target Software (Matthias Krause)
Um die genannten Schwierigkeiten zu überwinden, muss der
bestehende komponentenzentrierte Entwurf einer ganzheitlichen
Sicht eines vernetzten eingebetteten Systems weichen, um frühzeitig
die Auswirkungen der Vernetzung unter Verwendung eines virtuellen
Prototypen analysieren und bewerten zu können. Dabei müssen auch
die Schwierigkeiten überwunden werden, sowohl Software als auch
Hardware in einem Gesamtkontext zu betrachten. Die Sprache
SystemC kann hierbei den entscheidenden Beitrag liefern, da sie die
geforderte ganzheitliche Sicht auf das vernetzte System ermöglicht.
SystemC wird dabei als Integrationssprache verwendet, die SystemSpezifikationen von Hardware, Software sowie Kommunikation in
einem Gesamtkontext beschreibt. So können beispielsweise
Spezifikationen aus UML/SysML oder Matlab/Simulink automatisch
nach SystemC überführt werden und somit in einer frühen Phase des
Entwurfs bereits simuliert und verifiziert werden. Dadurch kann eine
Aussage über die Beeinflussung der einzelnen Komponenten
aufeinander bereits vor der Erstellung eines realen Prototypen
getroffen, und dadurch möglicherweise erforderliche Re-Designs
vermieden werden.
Die Systemintegration mit SystemC findet dabei auf einer sehr hohen
Abstraktionsebene statt und erfordert daher eine schrittweise
Verfeinerung dieses funktionalen Modells bis hin zur fertigen
Implementierung.
Abbildung 5 verdeutlicht die erforderliche Verfeinerung. SystemCModule müssen auf eine entsprechende Zielarchitektur abgebildet
werden, die aus Zielprozessor und Echtzeitbetriebssystem besteht. Der
Prozessor wird dabei als SystemC-Modell in das Gesamtsystem
integriert.
Die
Applikation
wird
automatisch
auf
einem
Echtzeitbetriebssystem abgebildet. Hierzu wurde eine Bibliothek zur
19
RTOS-Charakterisierung entworfen, mit dessen Hilfe das Werkzeug
PORTOS (Porting to Real Time Operation System) SystemC-Konstrukte
auf äquivalente RTOS-Konstrukte abbildet. Um die SystemCBeschreibung einzulesen, wurde der SystemC-Parser KaSCPar
entwickelt. KaSCPar (Karlsruher SystemC Parser) ist ein Werkzeug, das
SystemC-Code einliest und daraus ein strukturiertes Zwischenformat in
XML erzeugt. Der Parser besteht aus zwei Teilen. SC2AST parst den
SystemC-Code und erzeugt einen AST (Abstract Syntax Tree). Für jedes
SystemC-Sprachelement wird ein Token im AST erzeugt. SC2XML liest
das AST-Zwischenformat ein und erzeugt eine „elaborated XML
description“. Diese ist aufgeteilt in einen strukturellen und einen
funktionalen Teil. Der funktionale Teil enthält alle Informationen über
Prozesse, Modul-Konstruktoren und den Kontroll- und Datenfluss
jedes Prozesses. Der strukturelle Teil enthält Informationen über die
hierarchische Struktur und die Verknüpfung der Module
untereinander. Diese strukturierten Systeminformationen überführt
PORTOS mit den Angaben aus der RTOS-Bibliothek in den Target Code
des spezifizierten Betriebssystems. Dabei besteht auch die Möglichkeit
in der RTOS-Bibliothek ein SystemC-RTOS-Modell zu spezifizieren,
welches in das SystemC-Modell integriert wird, um den Einfluss des
RTOS auf das Systemverhalten mit zu simulieren. Der bisherige
SystemC-Code muss dadurch nicht mehr von Hand an das RTOS-Modell
angepasst werden. Um das zeitliche Verhalten der Prozesse möglichst
genau zu simulieren, können die Ergebnisse der Laufzeitabschätzung
(siehe Kommunikationsanalyse) zurückannotiert werden.
Abb. 5: V e rfei nerungs-Sc hic hte n
20
Neben der Software-Verfeinerung ist auch die Verfeinerung der
Kommunikation ein wichtiger Aspekt. Die funktionale Spezifikation
stellt die Kommunikation nur als reine Punkt-zu-Punkt-Verbindungen
dar. Diese müssen auf eine entsprechende Bus-Architektur abgebildet
werden. Die Kommunikationsarchitektur ist dabei in einem SystemCChannel gekapselt auf den über SystemC-Interfaces zugegriffen wird.
Durch das Austauschen des Channels kann somit jede vorhandene
Busarchitektur verwendet werden. Diese können auf verschiedenen
Abstraktionsebenen zur Verfügung gestellt werden. Modelle auf
Transaktionsebene bieten hierbei die Möglichkeit, das Zeitverhalten
zyklengenau oder approximativ mit zu berücksichtigen, aber dennoch
moderate Simulationszeiten zu erzielen. Die verwendeten Busmodelle
liegen bei diesem Verfahren als IP-Komponenten in SystemC vor. Über
eine XML-Schnittstelle können Konfigurationen für den jeweiligen Bus
vorgenommen werden. Das Verfeinerungs-Werkzeug BRAIn (Bus
Refinement Analysis and Implementation) setzt ebenfalls auf dem
SystemC-Parser KaSCPar auf.
Applikationsspezifische Network-on-Chip-Architekturen (Axel
Siebenborn, Timo Schönwald)
Beim Entwurf immer komplexer werdender Systeme auf einem
einzelnen Chip, stellt die Verbindung und Kommunikation der
einzelnen Komponenten ein großes Problem dar. Schon heute
bestehen
Systems-on-Chip
aus
Prozessorkernen,
anwendungsspezifischer Hardware und Speicher, die oft über ein
Bussystem miteinander verbunden sind. Der Nachteil bei Bussystemen
besteht in der mangelnden Skalierbarkeit auf sehr große Systeme.
Dieser Nachteil wird bei dem Entwurfsparadigma Network-on-Chip
(NoC) vermieden, indem Kommunikationstechniken, wie sie in
allgemeinen Computernetzwerken angewendet und zur On-ChipKommunikation einsetzt werden. Daten werden hierbei als Pakete in
einem durch Router strukturierten Netz übermittelt. Wesentlicher
Nachteil solcher paketbasierten Kommunikation ist die schlechte
Vorhersagbarkeit der Zeiteigenschaften, die einen Einsatz in Systemen
mit Echtzeitanforderungen erschweren. Als Lösungsansatz können die,
bei der Kommunikationsanalyse gewonnenen Informationen genutzt
werden, um eine geeignete Netzwerktopologie zu generieren und
Komponenten in diesem Netzwerk zu platzieren. Die Informationen
über mögliche Konflikte im Netzwerk können zur Bestimmung
konfliktfreier Wege für die einzelnen Kommunikationen genutzt
werden (Routing). (siehe Abb. 6)
21
Functional Multi-Process-Description
NoC Platform
F
1
F
3
Mapping
5
F
F
2
F
4
F
6
Time constraints
Network Configuration
Communication
Analysis
Abb. 6: A bbildung von F unk ti onsbl öc ke n a uf NoCPla ttform
In der Abbildung 6 ist der Einsatz von NoC im plattformbasierten
Entwurf dargestellt. Die funktionale Beschreibung wird auf eine
Plattform mit integriertem Netzwerk abgebildet. Die verarbeitenden
Elemente, wie Prozessorkerne oder dedizierte Hardware, sind direkt
oder über Router miteinander verbunden. Durch die Anwendung der
bereits beschriebenen Kommunikations- und Konfliktanalyse können
die Engpässe in diesem System bestimmt werden und entsprechende
Parameter für das Netzwerk generiert werden. Für die einzelnen
Verarbeitungselemente werden wiederum angepasste Verfahren zur
Performanzabschätzung
verwendet.
Durch
eine
iterative
Vorgehensweise wird das generierte System analysiert um die
Ergebnisse zu einer weiteren Verfeinerung zu nutzen.
SystemC, GreenSocs, GreenBus (Pavel Parfuntseu )
GreenBus, GreenSocs und FZI werden ein Standard-SystemCBusmodellierungs-Framework
bereitstellen,
das
für
viele
Anwendungen einsetzbar sein wird. Wir fokussieren die Entwicklung
einer Single-Common-Bus-Struktur, die für alle IP geeignet ist,
unabhängig davon welche Bus-Strukturen angelegt wurden oder
werden. GreenBus wird sich als ein open standard entwickeln, unter
Beteiligung sowohl akademischer als auch industiereller SystemCNutzer und -Entwickler.
Validierung und Test v on Hardware/Software-Systemen
Instruction-Set-Emulation (Jürgen Schnerr)
Durch die Fortschritte in der Entwicklung von Halbleiterbauelementen
ist es möglich geworden, komplette Systeme hoher Funktionalität auf
einem Chip zu implementieren, die so genannten Systems-on-a-Chip
(SoCs). Solche Systeme führen aufgrund ihrer Komplexität zu
Problemen bei der Verifikation. Um diese Verifikation zu unterstützen
22
wurde ein architekturgenaues Prototypingsystem entwickelt, für die
Instruction-Set-Emulation (ISE) beliebiger Prozessoren, bestehend aus
einer
Hardware-Plattform
und
dazugehörenden
SoftwareWerkzeugen. Hierbei wurden sowohl die Software-Komponenten
unter Verwendung eines Mikroprozessors, als auch die Hardware
unter Verwendung von FPGAs emuliert. Die entwickelte EmulationsPlattform kann für die Entwicklung und das Debugging von Software,
die für SoC-Prozessorkerne geschrieben wurde, verwendet werden.
Die ISE wurde durch eine zyklengenaue Übersetzung des Binärcodes in
Binärcode des emulierenden Prozessors erreicht. Zyklengenau wird die
Übersetzung
dadurch,
dass
sie
vom
Übersetzer
mit
Zykleninformationen annotiert wird. Um diese Annotierung
vornehmen zu können, muss eine Analyse des Programms durch den
Übersetzer erfolgen. Dabei wird das Programm in Basisblöcke
aufgeteilt und die Ausführungszeit jedes Basisblocks auf dem
Zielprozessor wird statisch abgeschätzt. Dies geschieht mit Hilfe einer
Modellierung der Pipeline des Zielprozessors. Da nicht alle
Eigenschaften
der
Architektur
eines
Prozessors,
die
die
Ausführungszeit betreffen, statisch vorhersagbar sind, muss die
Abschätzung der Laufzeit während der Ausführung des Programms
korrigiert werden. Eine solche Korrektur ist zum Beispiel bei
bedingten Sprüngen, wenn eine Sprungvorhersage verwendet wird,
oder aber auch bei der Berücksichtigung von Cache-Speichern nötig.
Die durch die zyklengenaue Ausführung des Kodes notwendig
gewordene Synchronisation des Emulationssystems mit der Hardware
wird erreicht, indem das Emulationssystem den Takt für die
angeschlossene Hardware durch eine dedizierte Hardware selbst
generiert. Die Anzahl der zu generierenden Taktschritte wird dabei
durch die Annotationen im Code bestimmt und dem Taktgenerator
übermittelt.
Das Problem des Debuggings des zyklengenau übersetzten Kodes
wurde mit Hilfe einer Schnittstelle zwischen dem übersetzten Code
und einem herkömmlichen Software-Debugger gelöst. Diese
Schnittstelle
musste
sowohl
eine
Übersetzung
des
Übertragungsprotokolls, als auch Adress- und Registerübersetzungen
leisten.
FPGA-basierte Fehleremulation für sicherheitskritische
Anwendungen (Igor Katchan, Pavel Parfuntseu)
Hohe Sicherheit ist oft eine der wichtigsten Zielsetzungen bei der
Entwicklung eingebetteter Systeme. Für viele kommerzielle
Anwendungen sind Test-basierte Ansätze das Hauptinstrument zur
Erfüllung dieser Anforderungen. In der Praxis kann die volle
Fehlerabdeckung jedoch nicht erreicht werden. Für die Fehler, die
durch den Test nicht entdeckt werden, muss festgestellt werden, ob
diese zu sicherheitskritischen Folgen führen können. Basierend auf
diesen Analyseergebnissen wird der Systemtest erweitert, um die
23
sicherheitskritischen Fehler abzudecken. In der Praxis werden die
Folgen eines Fehlers mit Hilfe eines Logik-Emulators analysiert. Dabei
ersetzt das Emulationsmodell reale Systemkomponenten. Das
Systemverhalten wird genau imitiert und alle sicherheitsrelevanten
Charakteristiken werden bewertet. Dadurch kann die Wirkung eines
Fehlers auf die Systemsicherheit als kritisch oder unkritisch klassifiziert
werden. Der Einsatz der teueren Logik-Emulatoren beschränkt jedoch
sehr stark die Anwendung dieses Verfahrens. Durch eine niedrige
Taktfrequenz
der
Logik-Emulatoren
ist
außerdem
die
Experimentablaufzeit viel niedriger als die Ablaufzeit in der realen
Umgebung. Der Einsatz der FPGA-basierten Rapid-PrototypingPlattformen anstelle der Logik-Emulatoren verspricht deutliche
Kostenvorteile und eine höhere Emulationsgeschwindigkeit.
Die im Rahmen dieses Schwerpunktes entwickelten Techniken sind von
der Emulationsplattform unabhängig. Im Laufe der Arbeiten wurden
Werkzeuge zur Abbildung des Originaldesigns auf die Virtex-FPGA von
Xilinx und zur Steuerung des Emulationsexperimentes entwickelt. An
den vorgegebenen Knoten in der Designnetzliste werden die so
genannten Fehlerinjektoren eingebaut, die eine gesteuerte
Aktivierung verschiedener Fehlermodelle ermöglichen. Bei der
Designtransformation war es sehr wichtig das Verhalten der
Systemmodule ganz genau in der FPGA-Zieltechnologie darzustellen,
da viele ASIC-Designtechniken nicht direkt in FPGA überführt werden
können. Das Verfahren wurde mit dem Einsatz der im Rahmen eines
anderen Forschungsschwerpunktes entstandenen Rapid-PrototypingPlattform Spyder an realen industriellen Anwendungen evaluiert.
Autonomic Computi ng für zuverlässige mikroelektronische
und eingebettete Systeme
Architektur und Designmethodik für Autonomic System on Chip
(Andreas Bernauer, Gabriel Lipsa, Oliver Bringmann)
Die Produktion von immer kleineren Chips wird in absehbarer Zeit zu
Problemen beim Design führen: Strahlung kann leichter Bits
umdrehen, durch die hohe Integrationsdichte und Komplexität
werden
Produktionsfehler
wahrscheinlicher
oder
Materialveränderungen
durch
Alterung
und
Temperaturschwankungen lassen Ströme langsamer oder nicht mehr
fließen. Die anhaltende und gleichmäßige Funktionsfähigkeit
einzelner Komponenten und Leitungen kann also im Design nicht
mehr vorausgesetzt werden. Außerdem wird man Designfehler in Kauf
nehmen müssen, will man die Entwicklung eines komplexen Chips in
einem annehmbaren Zeitrahmen halten. Bisherige Designmethoden
mit
Worst-case-Analysen
bezüglich
Zeitverhalten
und
Leistungsaufnahme werden mit diesen Problemen nicht mehr
umgehen können. In diesem Projekt wollen wir neue Designmethoden
24
entwickeln, die verlässliche und robuste Systeme garantieren, obwohl
Teile des Chips unzuverlässig, falsch arbeiten oder gar ausfallen. Um
den Übergang zu der neuen Designmethode nicht zu abrupt zu
gestalten und um Investitionen in Intellectual Property zu schützen,
stellen wir uns eine neue Architektur vor, welche aus zwei Ebenen
besteht; einer funktionalen und einer autonomen Ebene (siehe
Abbildung 1). In der funktionalen Ebene befindet sich der eigentliche
Chip mit seinen funktionalen Elementen (FE). In der autonomen Ebene
befinden sich so genannte autonome Elemente (AE), welche die
Funktionsfähigkeit der FE überwachen (Monitor), beispielsweise je ein
AE pro FE. Zugleich bewertet das AE, ob sich das FE innerhalb der
Spezifikation befindet (Evaluator). Ist dies nicht der Fall, sorgt das AE
für eine Rekonfiguration des FE oder gar des Chips (Aktuator). Ein
solches System kann sich sowohl selbst organisieren und reparieren als
auch selbst optimieren und schützen. Wir nennen es „Autonomic
System on Chip“. In einer ersten Phase wollen wir untersuchen, wie die
Rekonfiguration eines funktionalen Elements oder eines Chips
aussehen kann, wenn es suboptimal oder nicht mehr funktioniert.
Hierfür werden redundante funktionale Elemente notwendig sein. In
einer zweiten Phase wollen wir die daraus gewonnenen Erkenntnisse
verwenden, um eine neue Designmethode zu entwickeln, welche
neben Zeitverhalten, Chipfläche und Leistungsaufnahme auch
Zuverlässigkeit und Robustheit berücksichtigen. Die Vorstellung ist,
dass der Entwickler angeben kann, wie zuverlässig und robust er den
Chip haben möchte, und die Designmethode schlägt ihm vor, wie viele
redundante funktionale Einheiten dafür notwendig sind. (siehe Abb.
7)
Abb. 7: A utonom e s Sy ste m on Chip mi t zw ei E be ne n,
ei ne r he rk öm mlic he n funk ti onal e n E be ne und ei ne r
a utonom e n E be ne, w elche di e funktional e E bene
übe rw ac ht und ge ge be ne nfalls rek onfi guri e re n k a nn.
25
Zuverlässige Systeme (Oliver Bringmann)
Das flexiblere und autonome Reagieren von eingebetteten Systemen,
sich an Störungen und Veränderungen der Umwelt und des inneren
Zustands anzupassen, erfordert ein neues Denken im Entwurfsprozess.
Nicht mehr nur die Funktion, Performanz und der Leistungsverbrauch
dürfen im Vordergrund stehen, sondern auch das Erfassen und
Reagieren der Systeme unter gestörten Betriebsbedingungen. Die
Zuverlässigkeit und Sicherheit wird in Zukunft eine notwendige
Voraussetzung sein, um erfolgreich im internationalen Wettbewerb zu
bestehen. Autonomes Verhalten von eingebetteten Systemen bietet
eine Alternative, um deren Zuverlässigkeit zu beherrschen.
Insbesondere wird im Bereich der Elektronik durch den Übergang von
der Mikro- zur Nanoelektronik aufgrund steigender Miniaturisierung
zunehmenden
Entwurfsproblemen
entstehen.
So
können
Sättigungsströme, Versorgungsspannung sowie Subthreshold-Ströme
nicht mehr als feste Größe angesehen werden und haben daher einen
hohen Einfluss auf die Zuverlässigkeit von integrierten Systemen. Dies
führt dazu, dass künftig der übliche „Worst-Case“-Entwurf in Bezug
auf Zeitverhalten und Leistungsverbrauch nicht mehr möglich sein
wird. Im Vordergrund wird zunehmend Zuverlässigkeit, Robustheit
und Komplexität stehen, so dass ein Paradigmenwechsel beim Entwurf
und der Herstellung künftiger SoCs notwendig ist. Eine Lösung für
dieses Problem besteht ebenfalls in der Verwendung von selbstorganisierenden und selbst-heilenden Hardware-Architekturen, die
durch dynamische Reorganisation robust auf ausfallende Subsysteme
reagieren können und somit die Zuverlässigkeit des Gesamtsystems
signifikant erhöhen. Weitere Aspekte befassen sich mit den Einflüssen
eines dynamischen Power-Managements auf die Zuverlässigkeit sowie
mit der Anwendung autonomer Prinzipien zur Erhöhung der
Sicherheit.
Wiederverwendung quali fizierter Intell ectual Property
IP-Qualifizierung (Andreas Vörg)
Aktuelle und zukünftige Chipentwürfe werden aus wieder
verwendbaren Basisbausteinen, so genannten Intellectual PropertyModulen (IP-Modulen) aufgebaut. Diese IP-Module müssen definierte
Qualitätskriterien erfüllen, um den Chipentwurf zu beschleunigen, das
Integrationsrisiko aufseiten des IP-Nutzers und den Aufwand für
Nacharbeit aufseiten des IP-Anbieters zu reduzieren. Die
Übereinstimmung des IP-Modulentwurfs mit diesen Kriterien muss
automatisch geprüft werden, da durch das exponentielle
Komplexitätswachstum manuelle Prüfungen nicht mehr durchführbar
sind. Qualitätsmängel und die Bindung von Ressourcen, die durch
einen konventionellen Austauschprozess nach der Qualifizierung
durch den IP-Anbieter entstehen, können durch einen automatisierten,
26
qualitätserhaltenden IP-Austauschprozess verhindert, beziehungsweise
wesentlich reduziert werden.
Es hat sich gezeigt, dass für die erfolgreiche Integration von IP
besondere
Kriterien
erfüllt
sein
müssen.
Daher
sind
Kriteriensammlungen wie Design-for-Test, Design-for-Synthesis,
Coding-Styles, etc. entstanden. Erfüllt ein IP-Modul diese Kriterien wird
es als qualitativ hochwertig bezeichnet. Oft haben diese Kriterien aber
nur eine firmenweite Verbreitung, so dass ein externer IP-Nutzer sich
nur schwer ein Bild von der tatsächlichen Nutzbarkeit eines
bestimmten IP-Moduls in seinem Systementwurf machen kann. Die
Mehrdeutigkeit des Qualitätsbegriffes ist ein wesentliches Problem,
dass nur durch Standardisierung gelöst werden kann. Dafür haben wir
innerhalb der Virtual Socket Interface Alliance an der Standardisierung
der Qualitätskriterien und ihrer Bewertung mitgearbeitet.
Für die entwickler- und nutzerseitige Überprüfung eines IP-Moduls
(Qualifizierung) gegenüber den definierten Qualitätskriterien sind
Konzepte erarbeitet worden. Die große Anzahl an Kriterien sowie die
Komplexität heutiger Entwürfe erfordern die Automatisierung der
Qualifikation. Zu den automatisierten Aufgaben gehören unter
anderem
die
Überprüfung
von
Kodierrichtlinien,
die
Synthetisierbarkeit von digitalem Soft-IP, Vollständigkeits- und
Integritätsprüfungen
und
Gewährleistung
einer
hohen
Verifikationsabdeckung.
Diese
Aufgaben
sind
in
einem
Qualifizierungssystem eingebettet, dass in unterschiedlichen Phasen
des Entwurfsablaufes eingesetzt werden kann.
IP-Verwaltung (Andreas Vörg)
Konzepte und Werkzeuge für die IP-Verwaltung ermöglichen das
effiziente Auffinden bereits wieder verwendbar entworfener IP
Module. Zur Effizienzsteigerung des IP-basierten Entwurfs wurde an
einem Verwaltungssystem, dem Reuse Management System (RMS),
gearbeitet. Das bestehende RMS Konzept ist wesentlich erweitert
worden, für den Nutzer transparenter in den Entwurfsablauf integriert
und durch Prüfalgorithmen wird die Konsistenz der Datenbasis
sichergestellt. Es hat sich gezeigt, dass die Erstellung neuer
Klassifikationen und das „Füllen“ der Datenbank mit IPCharakterisierungsdaten einen erheblichen Aufwand erfordern. Dieser
konnte durch neu entstandes Werkzeug minimiert werden.
SystemC Parser - als Teil der KaSCPar Umgebung (Karlsruhe SystemC
Parser) ( Pavel Parfuntseu)
Eigenschaften des SystemC-Parsers:
•
Unterstützt C++ und SystemC 2.1
•
Basiert auf C++-Grammatik mit Unterstützung von SystemC
“keywords”
•
nutzt GNU gcc-Preprocessor
27
•
unterstützt die Syntaxanalyse von Multiple-Sources-Files
•
mit JavaCC & JJTree gestaltet
•
generiert zwei Output-Files: Das AST und das ausgearbeitete
SystemC-Design in XML-Format
Parall elrechner und parall ele Programmierung (Hr.
Holtwick, Hr. Ganzenmüller, Hr. Nagel, H r. Pi nkenburg)
Im Rahmen des interdisziplinären Sonderforschungsbereichs 382 mit
dem Titel "Verfahren und Algorithmen zur Simulation physikalischer
Prozesse auf Höchstleistungsrechnern" forschen und entwickeln
Arbeitsgruppen der Institute für Numerik, Informatik, Mathematik und
Physik der Universitäten Stuttgart und Tübingen. Das Teilprojekt C6
stellt dabei mit dem Thema "Objektorientierte Parallelisierung" das
zentrale Bindeglied zwischen der Entwicklung wissenschaftlicher
Simulationen und deren Parallelisierung auf Höchstleistungsrechnern
dar.
Als Ziel der Arbeiten von C6 lässt sich die Vereinfachung der
Parallelisierung
von
wissenschaftlichen
Anwendungen
durch
Entwicklung
von
portablen,
effizienten
und
abstrakten
Programmierschnittstellen und Bibliotheken formulieren. Im Fokus der
Arbeiten steht hauptsächlich die Umsetzung objektorientierter
Implementierungstechniken
zur
Parallelisierung
numerischer
Teilchensimulationen, wie z.B. der Entwurf geeigneter Klassenmodelle
oder die Verwendung von Entwurfsmustern (engl. design pattern), die
es ermöglichen, die Parallelisierung vom physikalischen Modell zu
entkoppeln. Am Ende dieser Entwicklung steht dann eine
objektorientierte Bibliothek oder ein Rahmengerüst (engl.
framework), das die Implementierung der Modelle deutlich
vereinfacht. Die daraus erwachsenen Methoden und Werkzeuge
werden in zahlreiche Kooperationen innerhalb und außerhalb des
Sonderforschungsbereichs eingebracht. Die folgenden Unterabschnitte
geben einen Überblick über die aktuellen Aufgabengebiete der
innerhalb unserer Arbeitsgruppe existierenden Teilprojekte.
Objektorientierte parallele Ein-/Ausgabe (Simon Pinkenburg)
In den letzten Jahren führten immer aufwändigere Anwendungen
einerseits und die steigende Gesamtleistung eines Parallelrechners
andererseits, zu einer wahrhaften Explosion der im Laufe einer
Simulation
entstehenden
Daten.
Die
Entwicklungen
der
Festspeicherindustrie konnten dabei jedoch mit denen der
Prozessortechnik nicht Schritt halten. Während sich die Leistung eines
Prozessors nahezu alle 18 Monate verdoppelt hat, stieg die
Festplattenleistung lediglich um 8-10% pro Jahr. Abhilfe schaffte die
Entwicklung von parallelen Dateisystemen und Schnittstellen zur
Formulierung paralleler Ein-/Ausgabe.
28
Die zur Entwicklung und Parallelisierung von wissenschaftlichen
Simulationen zunehmend verwendeten objektorientierten Methoden
können dabei allerdings nur bedingt eingesetzt werden, da Standards
der parallelen Programmierung, wie z.B. MPI-2, lediglich prozedurale
Schnittstellen bieten und eine Persistenz objektorientierter
Datenstrukturen nicht erlauben.
Die
Konzeption
und
Implementierung
von
TPO-IO,
der
objektorientierten Schnittstelle zur parallelen Ein-/Ausgabe, erfolgte
unter Verwendung von C++ und dem Einsatz damit verbundener
Techniken. Es wurde eine portable Schnittstelle erzeugt, indem TPO-IO
auf den weitverbreiteten Standard MPI-IO aufsetzt. Die Übertragung
objektorientierter Datenstrukturen auf einen Festspeicher gelingt auf
Basis der Analogie zur Kommunikation und mit Hilfe zusätzlich
notwendiger Metainformationen, die aus Gründen der Effizienz in
einer separaten Datei gespeichert werden. Die objektorientierte
Modellierung der Schnittstelle bietet dem Benutzer eine hohe
Transparenz und Wiederverwendbarkeit innerhalb der Anwendung.
Insgesamt wird der gesamte Funktionsumfang von MPI-IO unterstützt
und an geeigneter Stelle optimiert. Dies gelingt durch Mechanismen
zur Automatisierung von Berechnungen innerhalb der Schnittstelle,
die
insbesondere
die
hohe
Komplexität
von
Partitionierungsalgorithmen
reduzieren.
Der
Einsatz
von
Vorgabeargumenten und vordefinierten Verteilungsmustern führt
schliesslich insgesamt zu einer verbesserten Bedienbarkeit und
einfacheren Abbildung einer objektorientierten parallelen Ein/Ausgabe.
In zahlreichen synthetischen Messungen auf unterschiedlichen
Rechnerarchitekturen (Kepler Cluster in Tübingen, Cray Opteron
Cluster in Stuttgart, Hitachi SR8000-F1 in München) konnte belegt
werden, dass eine objektorientierte Abstraktion der Ein-/Ausgabe
möglich ist, ohne dabei nennenswert an Leistung zu verlieren.
Zahlreiche
Anwendungen
unserer
Arbeitsgruppe,
wie
z.B.
Teilchensimulationen oder Gensequenzanalysen, konnten bereits von
dem Einsatz der Schnittstelle profitieren indem deutliche
Leistungssteigerungen erzielt werden konnten.
Ein objektorientiertes paralleles Framework für wissenschaftliche
Simulationen (Sven Ganzenmüller)
Aufbauend auf den Forschungen der Arbeitsgruppe C6 des SFB 382
(\emph {Verfahren und Algorithmen zur Simulation physikalischer
Prozesse
auf
Höchstleistungsrechnern}
)
im
Bereich
der
Anwendungsentwicklung mit Entwurfsmustern und der effizienten
Parallelisierung wurde ein objektorientiertes Framework für
Simulationen
mit
der
SPH-Methode
(Smoothed
Particle
Hydrodynamics) entwickelt. Das Ergebnis ist eine modulare Bibliothek,
in der die Elemente Konfiguration, Physik, Zeitentwicklung, Geometrie
und Parallelisierung vollständig entkoppelt sind. Im Vergleich zu
29
anderen Ansätzen erlaubt eine vereinfachte Konfiguration,
numerische und physikalische Parameter der Simulationen zu
variieren, ohne den Code neu übersetzen zu müssen. (siehe Abb. 8)
Abb. 8: A ufba u de s sph2 00 0- Fram ew ork s m it
Schni ttstell e n z ur K onfi guration und Vi sualisierung
Um die Effizienz der Teilchenbibliothek zu untersuchen wurde eine
Beispielimplementierung entwickelt. Sie dient der Untersuchung des
Primärstrahlzerfalls, der bei der Diesel-Direkteinspritzung in Motoren
eine wichtige Rolle spielt. Hierzu wird die Einspritzung von Diesel in
eine mit Luft gefüllte Kammer simuliert und die Abspaltung einzelner
Dieseltröpfchen vom kompakten Strahl verfolgt. Laufzeitmessungen
auf dem Kepler-Cluster ergaben eine Effizienz die mit einer
optimierten C-Bibliothek vergleichbar ist. Die Erweiterung der
Bibliothek um parallele Ein-/Ausgabe konnte die Performanz noch
erheblich steigern. Bei Simulationen mit vielen Teilchen halbiert sich
hier durch die Rechenzeit.
Die Ergänzung der Nachbarschaftssuche um einen variablen
Wechselwirkungsradius und somit eine konstante Anzahl von
Nachbarn ermöglicht bessere Einblicke in die dynamischen Abläufe.
Während bei konstantem Radius die Auflösung der Teilchen gleich ist,
bleibt bei variablem Radius die Genauigkeit erhalten. In Bereichen
geringer Teilchendichte nimmt die Auflösung zwar ab, jedoch steigt
sie in den teilchenreichen Zonen, beispielsweise bei Wirbeln. Diese
können somit ohne Genauigkeitsverluste und bei vergleichbarer
Laufzeit besser untersucht werden. (siehe Abb. 9)
30
Abb. 9: Druc kv erteil ung bei ei ne r Die selsi m ulati on
nach 1 20 0 und 3 0 00 Ze itsc hri tte n
Die
aktuellen
Arbeiten
befassen
sich
mit
verschiedenen
Optimierungsansätzen zur Verkürzung der Laufzeit. Dabei wird
zunächst eine sukzessive Erweiterung des Simulationsgebiets zur
Laufzeit implementiert, die dafür sorgt, dass immer nur eine dünne
Luftschicht vor dem Dieselstrahl berechnet werden muss.
Implementierung einer Oberflächenspannung in sph2000 (Andreas
Nagel)
Um den Primärstrahlzerfall bei der Dieseleinspritzung realistischer zu
simulieren, müssen noch folgende drei physikalische Effekte
berücksichtigt werden: Oberflächenspannung, Kavitation und
Turbulenz. Als erstes wird zurzeit die Oberflächenspannung in sph2000
implementiert und verifiziert. Die Oberflächenspannung entsteht
durch die einseitigen molekularen Kräfte der auf der Oberfläche
befindlichen Dieselmoleküle. Es wird angenommen, dass der
Oberflächenspannungskoeffizient überall konstant ist, so dass die
Oberflächenkräfte stets senkrecht zur Oberfläche sind. Dann ist auch
die Oberflächenkraft proportional zur Krümmung der Oberfläche, d.h.
je kleiner die Dieseltröpfchen sind, desto grösser sind die
Oberflächenkräfte. Die Implementierung der Oberflächenspannung in
sph2000 basiert hauptsächlich auf Arbeiten der Astrophysik Tübingen
(v.a. der Diplomarbeit von Oliver Dräger). Als SPH-Formulierung der
Oberflächenspannung wird dabei die Continuum-Surface-ForceMethode bzw. alternativ die Tensormethode verwendet. Im Gegensatz
zur Realität kommt es jedoch mit diesen Methoden zu einer
Durchmischung von Dieselteilchen mit Luftteilchen. Deshalb wird
zusätzlich eine künstliche Separationskraft eingeführt. Diese wirkt als
rücktreibende Kraft auf jene Dieselteilchen, die sich über die
Dieseloberfläche hinausbewegt haben.
31
Die zukünftigen Arbeiten umfassen außer der Implementierung der
Kavitation in sph2000 auch die Verfeinerung der Parallelisierung und
der Lastbalancierung, die auf die neu implementierten Modelle
angepasst sind.
NeuroTeam (Leitung: Dr. M. Bogdan)
Daten, die in verschiedensten Anwendungsbereichen aufgenommen
werden, weisen oft nicht-lineare Charakteristiken auf, die mit
herkömmlichen Verfahren nur schwer oder unter sehr großem
Aufwand zu fassen sind. Um Aufwand und Dauer bei der Entwicklung
signalverarbeitender Systeme zu minimieren bietet sich für derartige
Anwendungen der Einsatz künstlicher neuronaler Netze (KNN) oder
maschinelles Lernen (ML) an, welche auf Grund beispielhafter
Datensätze die nicht-linearen Zusammenhänge erlernen können. Das
NeuroTeam befasst sich mit der problemorientierten Untersuchung,
Erweiterung und Umsetzung dieser Verfahren in der Anwendung.
Hierbei kommt die interdisziplinäre Ausrichtung des NeuroTeams
vorteilhaft zum Tragen.
KNNs und MLs wurden in der Vergangenheit vom NeuroTeam in
Projekten aus den verschiedensten Anwendungsbereichen erfolgreich
eingesetzt. So wurden sie unter anderem zur Wiederherstellung von
Farben in gescannten Bildern oder für elektronische Nasen verwendet.
Im Bereich der Informationssuche im Internet sowie bei der
Qualitätssicherung in der Halbleiterindustrie konnten die Verfahren
ebenfalls erfolgreich eingesetzt werden. In der Biomedizin wurden
KNNs zur Verarbeitung von Nervensignalen zur Echtzeit-Steuerung
von Prothesen und für Biosensoren eingesetzt.
Aktuell beschäftigt sich das NeuroTeam mit Anwendungen aus der
Chemie, der Qualitätssicherung in der Industrie und der Biomedizin. Im
Rahmen des Graduiertenkollegs „Interphasen in der Chemie“ wurde
das Projekt EChem++ gestartet, welches zum Ziel hat,
elektrochemische Versuche zu automatisieren und zu simulieren.
Hierbei werden KNNs zur Klassifikation eingesetzt.
In einem Projekt, das gemeinsam mit der Robert Bosch GmbH und der
ELMOS Semiconductor AG durchgeführt wird, wird angestrebt, mittels
erhöhter Qualitätssicherungsmaßnahmen die Produktivität zu
steigern. In diesem Fall werden KNNs und MLs eingesetzt. Sie dienen
zur Korrelationsanalyse in der Fehleranalyse sowie zur Vorhersage der
Zuverlässigkeit der Produktionsanlagen.
Der Schwerpunkt des NeuroTeams liegt im Bereich der
biomedizinischen Anwendung. Hierbei konzentrieren sich die Arbeiten
auf den Bereich der Signalverarbeitung von Nervensignalen, wobei in
Abhängigkeit von der Anwendung auf die Echtzeitfähigkeit des
signalverarbeitenden Systems größten Wert gelegt wird. Die
Signalverarbeitung beschränkt sich nicht nur auf die Verarbeitung von
32
invasiv aufgenommen Nervensignalen, sondern sie bezieht sich auch
auf mittels Elektroenzephalogramme (EEG) indirekt aufgenommene
Daten und auf die funktionale elektrische Stimulation (FES) peripherer
Nerven. Zur Untersuchung der Interaktion zwischen Cortex und
Cerebellum werden ebenso invasiv aufgenommene Nervensignale
verwendet, wie für die Entwicklung einer nervengesteuerte Prothese.
Bei der Erkennung von epileptischen Erscheinungen sowie zur
Erstellung von Brain-Computer-Interfaces werden Informationen aus
EEGs mittels KNNs und MLs extrahiert. Darüber hinaus werden KNNs
vom NeuroTeam zur FES für die Wiederherstellung von
Handfunktionen bei C5/C6-Querschnittsgelähmten eingesetzt.
Zusammenfassend kann gesagt werden, dass sich das NeuroTeam auf
die Signalverarbeitung von Daten mit nicht-linearen Charakteristiken
konzentriert. Dazu werden verschiedenste Verfahren aus der
Signalverarbeitung
(z.B.
adaptive
Filter,
Autoregression,
Fouriertransformation, Wavelettransformation, K-nearest Neighbour,
Feature Selection, etc.) angewendet. Die Hauptkompetenz des
NeuroTeams liegt dabei in der Anwendung künstlicher neuronaler
Netze und Verfahren des maschinellen Lernens zur datenbasierten
Signalverarbeitung, sowie in der statistischen Daten(vor)verarbeitung.
Weitergehende Informationen über das NeuroTeam sind unter
http://www.NeuroTeam.de erhältlich.
OTC - Online Tool Controlling mit neuronalen Netzen (Elena
Sapojnikova, Michael Schröder, Michael Bensch)
Im
Rahmen
des
Förderschwerpunktes
„Innovative
Produktionstechnologien für Mikrochips“ wurde das OTC Projekt
(Online Tool-Controlling mit Neuronalen Netzen) von der Universität
Tübingen zusammen mit den Projektpartnern Robert Bosch GmbH und
ELMOS Semiconductor AG durchgeführt. Ziel des Projektes ist die
Qualitätssicherung
des
Produktionsablaufes
in
der
Halbleiterproduktion. Die entwickelte Software ist in der Lage,
Maschinenparameter sowie Messdaten von Wafern zu analysieren.
Die
von
den
Projektpartnern
zur
Verfügung
gestellten
Produktionsdaten wurden mit künstlichen neuronalen Netzen bzw.
mit Methoden des maschinellen Lernens untersucht. Zunächst wurden
die Daten mit Hilfe der Sequential Floating Forward Selection für die
Anwendung auf Chip-Daten optimiert. Je nach Aufgabenstellung
(Korrelation oder Vorhersage) der so erhaltenen Daten kamen
entweder Fuzzy ARTmaps oder Support Vector Machines (SVM) zum
Einsatz. (siehe Abb. 10)
33
Automatische Auswahl
wichtiger
Produktionsparameter
ändere
Werte
Trainingsdaten
aus Anlage
nein
nein
Test OK?
Trainiere
Fuzzy -ARTMAP
oder SVM
Validierung
OK?
ja
ja
Onlinedaten
aus Anlage
Vorhersage
der Ausbeute
möglich
Experte
bewertet
Fuzzy -Regeln
Abb. 1 0: D a te nfl uss der e rstellte n S oftwa re.
Mit Hilfe des Systems konnten tatsächlich Korrelationen zwischen
Fehlverhalten produzierter Halbleiter mit den dafür ursächlichen
Produktionsparametern hergestellt werden. Die Ergebnisse des
Projekts wurden auf der European Advanced Equipment Control/
Advanced Process Control Industriekonferenz (Dublin, April 2005) und
auf dem European Symposium on Artificial Neural Networks (Brügge,
April 2005) präsentiert.
Ausbeuteoptimierung mit Halbleiterherstellerdaten (Dominik
Brugger, Michael Bensch)
Ein weiterer Halbleiterhersteller (IBM) hat Interesse an der
Anwendung
und
Weiterentwicklung
der
vom
NeuroTeam
entwickelten Algorithmen auf dem Bereich Ausbeuteoptimierung
bekundet. In der ersten Phase des Projekts sollen bewährte
Algorithmen eingesetzt und an die speziellen Gegebenheiten des
Projektpartners angepasst werden. In der zweiten Phase werden bisher
unerprobte Methoden evaluiert.
Workload Prediction – Vorhersage der Auslastung von Großrechnern
(Michael Bensch, Dominik Brugger)
Das Workload Prediction Project, welches das NeuroTeam mit IBM
(Böblingen) begonnen hat, zielt darauf ab, die Arbeitslast der IBM
Großrechner die
unter dem z/OS Betriebssystem laufen,
vorherzusagen. Anhand der Vorhersage soll die Lastverteilung
optimiert werden. Dies kann sich z.B. bei Webservern bemerkbar
machen, indem Internetseiten schneller geladen werden können. Des
Weiteren
kann
eine
bessere
Lastverteilung
direkt
zu
Kostenersparnissen
bei
den
Kunden
führen.
Wichtige
Herausforderungen werden das Modellieren des bestehenden
Workload Managers, das Extrahieren geeigneter Daten aus dem
System und darauf basierend das Erforschen geeigneter
Vorhersagemethoden sein.
34
Rekonfiguierbare Rechensy steme (Hr. O ppold, H r.
Schweizer)
Viele der gängigen Ansätze im Bereich der rekonfigurierbaren
Hardware sehen in der Rekonfiguration nur die Möglichkeit der
Wiederverwendbarkeit
eines
Bausteins
für
verschiedene
Anwendungen. Die Möglichkeiten, die neuere Architekturen bieten,
gehen aber weit über diesen Vorteil hinaus. Sie erlauben insbesondere
durch extrem schnelles Rekonfigurieren (in weniger als einem
Taktschritt), zur Laufzeit die Funktionsblöcke eines Bausteins für
unterschiedliche
Operationen
der
gleichen
Anwendung
wiederzuverwenden.
Häufiges Rekonfigurieren zur Laufzeit ist dabei Teil der normalen
Ausführung. Durch das Schritthalten der Rekonfiguration mit der
Ausführung ergibt sich ein zusätzlicher Freiheitsgrad, der ein neues
"Rekonfigurations-Prinzip" begründet. Dieses neue Prinzip, das wir
prozessorartige Rekonfiguration nennen, erlaubt es, in einem
Taktschritt genau den Teil einer Schaltung, der in diesem Taktzyklus
benötigt wird, durch rekonfigurierbare Datenpfade zu realisieren und
abzuarbeiten. Entsprechende Bausteine sind erst seit kurzer Zeit
verfügbar und werden nur von einigen wenigen Herstellern
angeboten. Meist handelt es sich dabei nur um Prototypen und viele
Fragen bezüglich der bestmöglichen Gestaltung einer solchen
Architektur und der dazugehörigen Werkzeuge sind noch ungelöst.
In dem von der DFG im Rahmen des Schwerpunktprogramms 1148
("Rekonfigurierbare Rechensysteme") geförderten Projekt wird eine
Entwurfsund
Bewertungsumgebung
für
prozessorartig
rekonfigurierbare Architekturen entwickelt.
Zwei wesentliche Komponenten dieser Umgebung sind ein
Architekturmodell sowie ein Entwurfswerkzeug für die Abbildung von
Anwendungen auf die Architektur. Diese beiden Komponenten
werden gemeinsam in einem iterativen Prozess sukzessiv verfeinert. Da
sich gezeigt hat, dass unterschiedliche Anwendungen unterschiedliche
Architekturen erfordern, wird der Prozess jeweils für Anwendungen
aus einer bestimmten Anwendungsklasse, wie z.B. der graphischen
Datenverarbeitung durchgeführt.
Als Ausgangspunkt für die Architektur wurde ein sehr allgemeines
Modell für prozessorartig rekonfigurierbare Architekturen erstellt, das
anhand verschiedener Parameter konfiguriert werden kann. Es
orientiert sich an tatsächlich gebauten Architekturen, wodurch die
technologischen Möglichkeiten gebührend berücksichtigt werden.
Andererseits abstrahiert das Modell von den realen Architekturen, um
genügend Freiheitsgrade für Optimierungen zu lassen. Mit diesem
Modell und den davon abgeleiteten Kostenfunktionen ist es möglich,
die unterschiedlichen Gestaltungsmöglichkeiten einer Architektur zu
bewerten und zu optimieren.
35
Um den Entwurf auf hohen Abstraktionsebenen zu unterstützen,
erfolgt die Anwendungsbeschreibung auf Basis von C/C++. Da
prozessorartig rekonfigurierbare Architekturen sowohl Eigenschaften
von
softwareprogrammierbaren
Prozessoren
als
auch
von
anwendungsspezifischer Hardware haben, werden bei der
Anwendungsabbildung Techniken aus dem Compilerbau und aus der
Hardware-Synthese eingesetzt. Aus dem Bereich der HardwareSynthese werden vor allem die aus der Synthese von algorithmischen
Beschreibungen
(High-Level
Synthese)
bekannten
Verfahren
eingesetzt. Neben der Performanz und den Herstellungskosten spielt
vor allem der Energieverbrauch einer Architektur eine entscheidende
Rolle. Der gemeinsamen Verfeinerung von Architektur und
Entwurfswerkzeug entsprechend, wird der Energieverbrauch sowohl
bei der Gestaltung der Architektur als auch bei der
Anwendungsabbildung berücksichtigt.
Entwurf und Bewertung von Architekturen
rekonfigurierbaren Prozessoren (Tobias Oppold)
von
dynamisch
Aktuelle Untersuchungen über rekonfigurierbare Rechensysteme
zeigen, dass es eine Vielzahl von rekonfigurierbaren Architekturen
gibt, die sich in ihren Merkmalen ganz wesentlich unterscheiden. Ein
Compiler zur automatisierten Abbildung hochsprachlich beschriebener
Anwendungen steht nur in den wenigsten Fällen zur Verfügung. Ein
solcher Compiler ist jedoch eine wichtige Voraussetzung für die
Akzeptanz neuer Architekturen. Um dieser Anforderung gerecht zu
werden, wurde eine Bewertungs- und Entwurfsumgebung geschaffen,
in der die automatisierte Abbildung von C-Beschreibungen eine
treibende Kraft für die Identifikation von Architekturmerkmalen ist,
die für eine effiziente Ausführung benötigt werden. Der Fokus liegt
dabei auf Architekturen, die in weniger als einem Taktschritt
rekonfiguriert
werden
können
und
als
"prozessorartig
rekonfigurierbar" bezeichnet werden. (siehe Abb. 11)
Abb. 1 1: E ntw urfsa bla uf: G e mei nsa me Ve rfei nerung v on Arc hi tek tur und
Com pil e r ge trie be n durc h Anwe ndunge n.
36
Durch die Analyse verschiedener Anwendungen, wie sie typischerweise
in eingebetteten Systemen zum Einsatz kommen, werden
Anforderungen an die Architektur, den Compiler und deren
Zusammenspiel extrahiert. Die Ergebnisse werden verwendet, um zu
evaluieren
welche
Merkmale
durch
existierende
Architekturen/Compiler unterstützt werden, und um neue
Architekturen zu entwerfen, für die ein C-Compiler unmittelbar
verfügbar ist, da dieser gemeinsam mit der Architektur entwickelt
wurde.
Als
Zielarchitektur
wurde
das
CRC-Modell
(Configurable
Reconfigurable Core) als ein allgemeines Modell für prozessorartig
rekonfigurierbare Architekturen entwickelt. Das CRC-Modell ist in der
Hardwarebeschreibungssprache Verilog implementiert und kann
anhand unterschiedlichster Parameter (Breite des Datenpfads,
Topologie
des
Verbindungsnetzwerks,
Zieltechnologie,
etc.)
konfiguriert werden. Durch die Festlegung aller Parameter wird eine
Instanz des CRC-Modells definiert. Die Instanzen werden mit
kommerziellen Synthesewerkzeugen auf die Gatter-Ebene abgebildet
und anschließend analysiert. Die Analyse umfasst den Flächenbedarf,
die Ausführungsgeschwindigkeit, sowie die Verlustleistung und den
Energieverbrauch bezogen auf eine Anwendung. In der Bewertungsund Entwurfsumgebung wird für eine Anwendung zunächst ein unter
gegebenen Randbedingungen für die Ausführungsgeschwindigkeit
hinsichtlich des Ressourcenverbrauchs optimales Ausführungsmuster
gesucht. Ein Ausführungsmuster entspricht im Wesentlichen einer
Beschreibung auf der Register-Transfer-Ebene und wird durch die
angewendeten
Compiler-Techniken
(Pipelining,
OperatorenVerkettung, etc.) definiert. In einem darauf folgenden Schritt werden
die für das Ausführungsmuster benötigen Architekturmerkmale
(Verbindungsnetzwerk, Anzahl Kontexte, Steuerungseinheit, etc.)
bestimmt und bei Bedarf dem CRC-Modell neu hinzugefügt und
analysiert. Anhand der resultierenden Kostenfunktionen, die
insbesondere auch die Verlustleistung und den Energieverbrauch
umfassen, werden Ausführungsmuster und Architekturmerkmale
verworfen oder akzeptiert, wodurch der Compiler und die Architektur
sukzessive verfeinert werden.
Reduzierung der Verlustleistung bei prozessorartig
rekonfigurierbarer Hardware (Thomas Schweizer)
Neben der Performanz und den Herstellungskosten spielen vor allem
der Energieverbrauch und die Verlustleistung bei prozessorartig
rekonfigurierbaren Architekturen eine entscheidende Rolle. Im
Rahmen des Projekts wurde ein neues Verfahren zur Reduzierung der
Verlustleistung, des Energieverbrauchs und des Energy Delay Product
(EDP) für prozessorartig rekonfigurierbare Hardware entwickelt. Das
Verfahren beruht auf der Tatsache, dass in digitalen Schaltungen oft
Situationen auftreten, in denen eine Berechnung früher
abgeschlossen ist als nötig. Diese Zeit wird als Schlupfzeit bezeichnet.
37
Bei der Schlupfzeit kann es sich um Zeiten im Bereich von wenigen
Nanosekunden oder noch weniger handeln. Diejenigen Komponenten
einer Schaltung, die auf einem Verzögerungspfad mit Schlupfzeit
liegen, können mit einer geringeren Spannung betrieben werden,
ohne dass sich die Ausführungszeit der Gesamtschaltung verlängert.
Allein durch die geringere Spannung entstehen keine Einbußen in der
Ausführungszeit. Durch die geringere Spannung verringern sich die
Verlustleistung und auch der Energieverbrauch der Schaltung. Gängige
aktuelle Ansätze nutzen bereits diese Schlupfzeit: Dynamische
Spannungsanpassung (DVS) und Adaptive Spannungsanpassung (AVS)
benötigen Frequenzanpassung und zusätzliche Funktionen in
Hardware und/oder Betriebssystem. DVS und AVS lohnen sich daher
nur, wenn die Schlupfzeit sehr groß ist. Clustered Voltage Scaling (CVS)
wird bei ASIC-Designs verwendet und erste Ansätze für FPGAs
existieren. Die Ansätze für FPGAs entsprechen CVS, nur dass die
Spannungsinseln nach der Herstellung des Chips festgelegt werden
können. Diese Ansätze sehen aber nur eine statische Verteilung von
Spannungsinseln vor. Bei dem entwickelten Verfahren handelt es sich
um eine Kombination von zeitlicher Spannungsanpassung (wie bei
DVS/AVS) und räumlicher Spannungsanpassung (wie bei CVS), d.h. dass
jede Spannungsinsel individuell angesteuert werden kann und auch
die Spannung dieser Spannungsinseln zur Laufzeit verändert werden
kann. Dies wird dadurch erreicht, dass die Steuerungseinheit einer
Schaltung (FSM) nicht nur Komponenten zur Auswahl eines
Datenpfads (Multiplexer, etc.) ansteuert, sondern auch einen
Transistor, der die Versorgungsspannung für eine Komponente
auswählt.
Analyse und O pti mierung komplexer Sy stem-on-ChipEntwürfe (Lei tung: D r. J. G erl ach)
Die Entwicklung von Halbleiterbauelementen ist durch ein extrem
schnelles Voranschreiten des Entwurfsfaktors Komplexität geprägt. In
heutiger Zeit erreichen Halbleiterbausteine einen Komplexitätsgrad,
der es erlaubt, komplette Systeme hoher Funktionalität auf einem
einzelnen Chip zu integrieren (sog. Systems-on-Chip, kurz SoC). Diesem
enormen Anstieg an Komplexität kann die Produktivität des
Entwurfsprozesses bereits seit einigen Jahren nicht mehr Schritt
halten. Aus diesem Ungleichgewicht resultiert eine sich kontinuierlich
vergrößernde
Kluft
zwischen
Komplexitätsund
Produktivitätswachstum, bekannt unter dem Begriff „Productivity
Gap“, die nur durch Fortschritte auf methodischer Ebene in den Griff
zu bekommen ist.
Nachfolgend werden Arbeiten beschrieben, deren Ziel eine Steigerung
der Produktivität des Entwurfsprozesses beim SoC-Entwurf ist.
Wichtige Maßnahmen stellen dabei ein Übergang zu höheren
Abstraktionsebenen
der
Entwurfsbeschreibung,
sowie
eine
zunehmende Erhöhung des Automatisierungsgrads der zum Einsatz
38
kommenden Entwurfsverfahren dar. Die im Folgenden beschriebenen
Ansätze agieren auf der Ebene abstrakter Systemmodelle in SystemC.
Die
Systembeschreibungssprache
SystemC
ermöglicht
eine
Modellierung und Analyse von komplexem Systemverhalten auf hoher
Abstraktionsebene
unter
Anwendung
transaktionsbasierter
Kommunikationsmechanismen. SystemC bietet eine flexible Kopplung
von
Modellen
unterschiedlicher
Entwurfsdomänen
und
Abstraktionsstufen und erlaubt so einen schnellen Aufbau von
ausführbaren Systemprototypen. Dabei unterstützt der auf C/C++
basierende Ansatz eine flexible Integration von Software in ein
Systemmodell, was insbesondere aufgrund des immer größer
werdenden Software-Anteils heutiger und zukünftiger SoCs eine
notwendige Voraussetzung für eine ganzheitliche Erfassung des SoCVerhaltens darstellt. Mit diesen Eigenschaften unterstützt SystemC
effektiv Entwurfsmethoden wie etwa den IP-basierten Entwurf, den
Plattformbasierten Entwurf oder Algorithmus-/Architektur-Co-Design,
die wiederum einen wichtigen Beitrag zur Verringerung des
„Productivity Gaps“ leisten. Wie die nachfolgend beschriebenen
Arbeiten zeigen werden, können auf diese Weise wichtige
Fragestellungen des Systementwurfs bereits auf der Ebene abstrakter
Systemmodelle, also bereits in einer frühen Phase des Entwurfsablaufs
adressiert
werden,
was
zu
einer
Beschleunigung
des
Systementwurfsprozesses (Time-to-Market), zu einer verbesserten
Ausschöpfung des Optimierungspotenzials sowie zu einer Erhöhung
der Qualität und Vorhersagbarkeit des Entwurfsergebnisses führt.
In
komplexen
SoC-Architekturen
besitzt
insbesondere
die
Kommunikationsarchitektur sowie deren adäquate Dimensionierung
und Konfiguration einen hohen Einfluss auf das spätere
Systemverhalten. Innerhalb der Arbeiten des Schwerpunktbereichs
„Performanzanalyse und -optimierung von Systemmodellen und
Kommunikationsarchitekturen“
erfolgt
eine
Analyse
des
Kommunikationsverhaltens
und
eine
Optimierung
der
Kommunikationsstruktur auf der Ebene abstrakter Modelle für
Systemfunktionalität und -architektur. Auf diese Weise wird der
Systemdesigner in einer frühen Phase des Entwurfsablaufs effektiv bei
der Auswahl
der Systemarchitektur
und
Festlegung
von
Architekturparametern
unterstützt.
Der
Schwerpunktbereich
„Modellierung von Echtzeitbetriebssystemen und Optimierung von
Echtzeitsystemen“ berücksichtigt den aus Flexibilitäts- und
Portabilitätsgründen immer stärker werdenden Einfluss von Software
und Betriebssystem im SoC-Entwurf. Die Arbeit erweitert damit die im
vorigen
Schwerpunktbereich
adressierte
Modellierung
und
Optimierung
komplexer
Hardware-Architekturen
um
die
Berücksichtigung von Software und Betriebssystemverhalten als
weitere Freiheitsgrade des Optimierungsproblems. Neben einer
adäquaten Auswahl und Konfiguration der Systemarchitektur nimmt
die Verifikation des Systemverhaltens einen zentralen Stellenwert im
SoC-Entwurf ein. Aufgrund der hohen Komplexität von SoCs kommen
39
dabei nach wie vor in hohem Maße simulationsbasierte Ansätze zur
Anwendung. Der Schwerpunktbereich „Coverage-basierte Bewertung
und Optimierung von Verifikationsergebnissen“ untersucht Ansätze
zur Bewertung und Optimierung der funktionalen Testabdeckung bei
der Verifikation von SoC-Architekturen und liefert somit einen
wichtigen Beitrag zur Erhöhung der Aussagekraft simulationsbasierter
Verifikationsergebnisse. Der Schwerpunktbereich „Verifikation von
Software in eingebetteten Echtzeitsystemen“ widmet sich im
Speziellen der Verifikation eingebetteter Software und liefert somit
eine abstraktere Sicht auf die Verifikation von SoCs. Die schnelle
Verfügbarkeit von System-Prototypen ermöglicht neben den zuvor
genannten Vorteilen einen frühzeitigen Start der SoftwareEntwicklung, die – im Gegensatz zu konventionellen Entwurfsabläufen
- bereits parallel zum Hardware-Entwurf erfolgen kann. Auf diese
Weise reduziert sich die Gesamtentwurfszeit und begünstigt so eine
schnelle
Markteinführung
des
Systems.
Die
Arbeiten
im
Schwerpunktbereich „Verifikation komplexer SoC-Entwürfe mit LowCost Prototyping-Umgebungen“ liefern einen Ansatz zur schnellen
Realisierung von Prototypen für die Systemverifikation auf Basis von
Rapid-Prototyping-Plattformen. Begleitend zu den genannten
Arbeiten erfolgt innerhalb der Arbeitsgruppe eine Betreuung der
European SystemC Users Group sowie eine aktive Mitarbeit in zwei
Working-Groups der Open SystemC Initiative (OSCI), der Transaction
Level Modeling Working Group und der Verifikation Working Group
(letztgenannte unter Leitung der Universität Tübingen). Die Betreuung
der European SystemC Users Group beinhaltet die regelmäßige
Organisation und Durchführung von Veranstaltungen (Users Group
Meetings, pro Jahr zwei Veranstaltungen) sowie zusätzlicher
Aktivitäten im Messe- und Ausstellungsbereich internationaler
Konferenzen.
Performanzanalyse und -optimierung von
Kommunikationsarchitekturen (Axel Braun)
Systemmodellen
und
Die optimale Dimensionierung und Konfiguration komplexer
mikroelektronischer Systeme gehört neben der Sicherstellung der
funktionalen Korrektheit zu den wichtigsten Aufgaben innerhalb des
Systementwurfsprozesses. Neue Entwurfsansätze, wie etwa der
Plattform-basierte
Entwurf,
erfordern
eine
frühzeitige
Berücksichtigung der eingesetzten Ressourcen und der adressierten
Applikation bzw. Applikationsklassen auf hoher Abstraktionsebene.
Insbesondere die Kommunikationsarchitektur besitzt dabei einen
signifikanten Einfluss auf das Verhalten und die Performanz des
Zielsystems.
Im
Rahmen
der
Arbeiten
wurde
ein
auf
der
Systembeschreibungssprache
SystemC
basierendes
Verfahren
entwickelt, das auf Basis abstrakter Modelle für Systemfunktionalität
und -architektur eine Analyse des Kommunikationsverhaltens und eine
Optimierung der Kommunikationsstruktur durchführt. Hierzu wurde
eine umfassende Bibliothek parametrisierbarer Architekturmodelle für
40
beispielsweise Busse, Prozessoren oder Speicher aufgebaut. Es wurde
ein Ansatz zur Instrumentierung des Systemmodells und zur
simulationsbasierten Ermittlung relevanter Daten entwickelt, der die
Anwendung einer verfügbaren Datenbank beinhaltet. Für diesen
Ansatz wurden Auswertungsmechanismen bereitgestellt, die weitreichende Analysen des Kommunikationsverhaltens unterstützen.
Schwerpunkte
bilden
dabei
etwa
die
Erhebung
eines
applikationsspezifischen Anforderungsprofils durch spektroskopische
Auswertungen oder die Hierarchie- und Segmentabbildung für
Bussysteme durch Anwendung von Clustering-Verfahren. Auf Basis
kumulativer Kommunikationsfunktionen werden so genannte Arrivalund Service-Curves berechnet, aus denen sich – unter Einbeziehung
von
externen
Vorgaben
wie
Zeitschranken
oder
dem
applikationsspezifisches Anforderungsprofil – Vorschläge für die
Parametrisierung und Konfiguration der Busstruktur ableiten lassen.
Freie Architekturparameter sind hierbei in erster Linie die
Bustopologie sowie die zur Anwendung kommenden Busprotokolle.
Andere Architekturparameter wie etwa Daten- und Adresspfadbreiten
oder Taktverhältnisse sind bei Bussen in der Regel durch die
verwendeten Prozessoren relativ genau fixiert. Ein wichtiges
Optimierungspotenzial bei der Anbindung von Prozessoren an Busse
liefert ferner die Integration von Cache-Speichern und Puffern, deren
Organisation und Dimensionierung auf Basis des Anforderungsprofils
der Applikation sowie Methoden zur Hot-Spot-Erkennung erfolgt.
(siehe Abb. 12)
Abb. 1 2: E xtrak ti on v on Si m ula ti onsda te n und
Da te nba nk -A nbi ndung
Eine Untersuchung und Validierung der Methoden erfolgte am
Beispiel einer datenflussorientierten Anwendung aus dem Bereich
Signalverarbeitung, die einer industriellen Kooperation mit einem
führenden deutschen Unternehmen im Bereich Luft- und
Raumfahrttechnik entstammt. Das Beispiel ist gegeben durch eine
Synthetic-Aperture-Radar
(SAR)
Pipeline,
die
mit
einer
nachgeschalteten Kompressions- und Forward-Error-Correction-Stufe
41
(FEC) integriert ist. Die Zielplattform dieser Anwendung umfasst
mehrere
PowerPC-Prozessoren
sowie
dedizierte
HardwareBeschleuniger.
Modellierung von Echtzeitbetriebssystemen und Optimierung von
Echtzeitsystemen (Matthias Müller)
In der Vergangenheit bestanden eingebettete Systeme in der Regel
aus speziell an den jeweiligen Anwendungsbereich angepasster
Hardware, auf der ein geringer Softwareanteil zur Ausführung
gebracht wurde. Durch den hohen Spezialisierungsgrad der Hardware
lassen sich auf diese Weise einerseits hohe Performanzwerte erzielen,
die andererseits durch eine aufwändige Entwicklung und geringe
Flexibilität derartiger Systeme zu erkaufen sind. Diese Nachteile,
zusammen mit der kontinuierlich ansteigenden Komplexität
eingebetteter Systeme, führten zum Übergang zu neuen
Entwurfskonzepten,
welche
die
Integration
standardisierter
Komponenten
wie
etwa
CPUs,
DSPs,
Bussysteme
oder
Speicherbausteine vorsehen und den Einsatz von Spezialhardware auf
ein Minimum reduzieren. Die Systemfunktionalität wird dabei zum
überwiegenden Teil durch die ausgeführte Software bestimmt. Zur
Reduzierung des Entwicklungsaufwands und zur Verbesserung der
Flexibilitäts- und Portabilitätseigenschaften der Software kommen
dabei Echtzeit-Betriebssysteme (Real-Time Operating System, RTOS)
zum Einsatz, die eine definierte Schnittstelle zwischen Hardware und
Software bilden
und somit eine zusätzliche Abstraktionsschicht
zwischen Hardware und Software definieren. Damit stellen Software
und RTOS einen erheblichen Anteil des Gesamtsystems, den es beim
Entwurf und bei der Optimierung eingebetteter Systeme in einer
frühen Phase des Entwurfsprozesses zu berücksichtigen gilt.
Entsprechend
stellt
die
Verfügbarkeit
eines
abstrakten
Modellierungsansatzes, welches die drei Komponenten Hardware,
Software und RTOS in einem einheitlichen Systemmodell integriert,
eine notwendige Voraussetzung dar.
Im
Rahmen
der
Arbeiten
wurde
eine
auf
der
Systembeschreibungssprache SystemC basierende Methodik konzipiert,
die in der Lage ist, alle drei der genannten Komponenten zu erfassen.
Der Ansatz erweitert das im vorigen Abschnitt beschriebene Vorgehen
zur SystemC-basierten Modellierung und Optimierung komplexer
Hardware-Architekturen um die Berücksichtigung von Software und
Betriebssystemverhalten
als
weitere
Freiheitsgrade
des
Optimierungsproblems. Als Ausgangspunkt für die Entwicklung eines
modularen und in seinen charakteristischen Eigenschaften (etwa
Scheduling-Verfahren,
Ressource-Management-Strategie
oder
Synchronisationsmechanismen) parametrisierbaren RTOS-Modells in
SystemC dient die im Werkzeug PORTOS des FZI Karlsruhe eingesetzte
RTOS-Bibliothek. Darauf aufsetzend sollen im Folgenden realitätsnahe
Modelle von Echtzeitsystemen erstellt werden, die eine Untersuchung
von Fragestellungen bezüglich der Abbildung von RTOS-Instanzen auf
CPUs in Mehrprozessorsystemen sowie deren Parametrisierung und
42
Konfiguration
im
Hinblick
auf
eine
Optimierung
Gesamtsystemverhaltens ermöglichen. (siehe Abb. 13)
des
Abb. 1 3: Modul a re s Sy ste mm odell m it me hre re n RT OSInsta nz e n
Coverage-basierte
Bewertung
und
Verifikationsumgebung (Karina Da Silva)
Optimierung
von
Bei der simulationsbasierten Verifikation hängt die Aussagekraft des
Verifikationsergebnisses hochgradig von Art und Umfang der
innerhalb des Simulationsverlaufs betrachteten Testfälle ab. Daher
nehmen bei komplexen SoC-Entwürfen Ansätze, die eine Bewertung
und
zielgerichtete
Verbesserung
der
Qualität
der
Verifikationsumgebung unterstützen, eine immer wichtigere Stellung
ein. Während verfügbare Werkzeuge strukturelle Kriterien für eine
Bewertung der Qualität einer Verifikationsumgebung heranziehen
(etwa Line- oder Branch-Coverage), legen neue Ansätze funktionale
Kriterien, entsprechend dem Anteil der durch die Testumgebung
überprüften
Schaltungsfunktionalität,
als
Bewertungsmaßstab
zugrunde (Functional Coverage).
Im Rahmen der Arbeiten wurde ein auf SystemC basierender Ansatz
zur teilautomatisierten Generierung von Testbench-Strukturen
entwickelt und um Mechanismen zur Berücksichtigung von Functional
Coverage Informationen ergänzt. Hierzu wurden Methoden
bereitgestellt, die eine Spezifikation von funktionalen Abhängigkeiten
erlauben sowie deren Überprüfung innerhalb des Simulationsablaufs
überwachen. Auf diese Weise liefert das Verfahren Aussagen
bezüglich der Qualität der verwendeten Testbench bzw. konkrete
43
Hinweise, in welcher Art eine Erweiterung der Testbench zur
Verbesserung der Aussagekraft der Verifikationsphase vorzunehmen
ist. Der realisierte Ansatz zur Berücksichtigung von Functional
Coverage
beinhaltet
Mechanismen,
die
innerhalb
des
Simulationsablaufs den Status und Fortschritt der Verifikation
ermitteln und Rückmeldung darüber liefern, ob die vom Benutzer
spezifizierten funktionalen Abhängigkeiten einer Überprüfung
unterzogen wurden oder nicht. Weiter wird das Auftreten von vom
Benutzer als illegal spezifizierte funktionale Abhängigkeit überwacht
und für den Fall eines Auftretens angezeigt. Neben der Überwachung
einzelner funktionalen Abhängigkeiten ist ferner eine korrelierte
Betrachtung verschiedener funktionaler Abhängigkeiten möglich. In
diesem Fall liefert der Ansatz Rückmeldung, ob die vom Benutzer
spezifizierte Kombination von funktionalen Abhängigkeiten im
Simulationsverlauf einer Überprüfung unterzogen wurde oder nicht
(Cross Coverage). Auf diese Weise wird der Benutzer wirkungsvoll bei
der Identifikation nicht überprüfter Corner Cases unterstützt.
Verifikation von Software in eingebetteten Echtzeitsystemen (Djones
V. Lettnin)
Der sich kontinuierlich vergrößernde Software-Anteil in eingebetteten
Echtzeitsystemen macht Ansätze für die effiziente Verifikation
eingebetteter Software innerhalb des Gesamtsystems erforderlich. Ziel
der Arbeiten ist, simulationsbasierte und funktionale/semiformale
Verifikationsansätze, wie sie etwa im Bereich des Hardware-Entwurfs
zur Anwendung kommen, auf die abstrakte Ebene von komplexem
Software- und Systemverhalten zu übertragen.
Im Rahmen der Arbeiten wurde ein Ansatz entwickelt, der auf Basis
von SystemC eine Verifikation temporaler Abhängigkeiten auf
Software- und Systemebene ermöglicht. Hierzu wurden Mechanismen
bereitgestellt, die eine Spezifikation und automatische Überprüfung
von Ausdrücken zur Beschreibung von temporalen Abhängigkeiten
(Assertions) auf Basis abstrakter Events unterstützen. Auf diese Weise
werden die bisherigen, auf taktgenauer Ebene agierenden Techniken
höheren Abstraktionsebene zugeführt, was eine Verifikation von
Software- und Systemverhalten auf der Ebene abstrakter
Transaktionen ermöglicht. Innerhalb des Systementwurfsprozesses
erfolgt eine schrittweise Verfeinerung des initialen Systemmodells. Der
entwickelte Ansatz unterstützt eine Wiederverwendung von
Assertions
höherer
Abstraktionsebene
auf
niedrigeren
Entwurfsebenen, wodurch sich der Verifikationsaufwand für den
nachfolgenden Entwurfsablauf deutlich verringert.
Das Verfahren wurde unter anderem erfolgreich für die Verifikation
von Modulen eines DVB (Digital Video Broadcasting) Echtzeit-Systems
angewendet.
44
Verifikation komplexer SoC-Entwürfe mit
Prototyping-Umgebungen (Stephen Schmitt)
Hilfe
von
Low-Cost
Bedingt durch den stetigen Technologiefortschritt, der es ermöglicht,
durch kleiner werdende Strukturgrößen immer mehr Funktionalität
auf einem Chip unterzubringen, steigt die Anwendungsvielfalt und
Komplexität der Systeme bei gleichzeitig sinkenden Entwurfszeiten
und -kosten. Heutige SoCs werden in der Regel nicht mehr von Grund
auf neu entworfen, sondern aus IP-Komponenten und ganzen
Plattformen zusammengesetzt. Das korrekte Zusammenspiel aller
Hardware-Komponenten sowie der darauf ablaufenden Software muss
bereits früh im Entwicklungsprozess verifiziert werden, um Fehler im
System schnell erkennen und beseitigen zu können und so hohe
Kosten für einen Neuentwurf zu vermeiden. Für die Verifikation
komplexer SoC-Entwürfe auf niedriger Abstraktionsebene kommen
kostenintensive Verifikationssysteme zur Generierung aussagekräftiger
Analyseergebnisse zum Einsatz. Diese bestehen aus mehreren parallel
arbeitenden
Prozessoren
oder
programmierbaren
Hardwarebausteinen (FPGAs). Für die Abbildung des zu testenden
Entwurfs auf das Verifikationssystem ist zusätzlich komplexe und
damit teure Software erforderlich.
Aus diesem Grund wurden im Rahmen des MEDEA+ Projekts SpeAC in
Zusammenarbeit mit der Firma Infineon Technologies AG Methoden
und Werkzeuge untersucht und entwickelt, die es ermöglichen, eine
kostengünstige aber dennoch schnelle und architekturgenaue
Prototyping-Umgebung für die funktionale Verifikation komplexer
SoCs zur Verfügung zu stellen. Die Prototyping-Umgebung besteht aus
FPGA-basierten Prototyping-Boards, die zur parallelen Entwicklung
von Hardware- und Software-Komponenten verwendet werden
können. Zur Bewertung der entwickelten Methoden wurde der
kommerziell eingesetzte TriCore1 Mikrokontroller der Firma Infineon
Technologies AG auf dem Prototyping-System integriert. Da sich
derartig
komplexe
Systeme
nicht
ohne
weiteres
auf
ressourcenbeschränkten FPGA-Plattformen integrieren lassen, wurde
die Methode der Partialemulation entwickelt, welche eine auf
Prioritätslisten basierende Abbildung des Mikrokontrollers auf das
Prototyping-Board vornimmt. Daran anschließend wurde eine
Software-Entwicklungsumgebung
an
das
Prototyping-System
angebunden, die eine schnelle und transparente Entwicklung
Hardware-naher Software erlaubt. Durch die Anbindung weiterer
Prototyping-Boards wird eine schnelle Integration zusätzlicher neuer
Hardware-Komponenten sichergestellt. Das Ergebnis ist eine
kostengünstige
Entwicklungsplattform
für
eingebettete
Hardware/Software-Systeme,
die
dem
Entwickler
ein
architekturgenaues aber dennoch performantes Simulationsmodell der
SoC-Hardware zur Verfügung stellt.
Die Prototyping-Umgebung wurde für die funktionale Verifikation
aktuell bei Infineon in der Entwicklung befindlicher Peripherie45
Komponenten sowie für die Entwicklung Hardware-naher Software
für diese Komponenten eingesetzt.
Lokalisierung durch die Nutzung der Bluetooth - Technologie
(Suguna Subramanian)
Das Forschungsziel ist die Gestaltung einer Bluetooth-verwendenden
End-User-Anwendung, als eines der tauglichsten Positioning-Tools in
einer örtlich begrenzten Umgebung. Unter Berücksichtigung des
Traffic-Managements, der Dienstgüte, Routing-Bedienung und von
Bluetooth betreffenden Sicherheitsfragen, wird sich meine Arbeit
besonders auf die Implementierung von Bluetooth-ad-hoc Netzen
(Piconet und Scatternet) beziehen. Ist das ad-hoc Netz einmal
ausgebildet, wird auch die Lokalisierung mit entsprechenden
Stationierungsmaßnahmen vollzogen werden können. (siehe Abb. 14)
2
APs
Basisnetz
werk
APs
1
3
Datenbank Server
Abb. 1 4: BT AP s Bl uetooth V erbi ndungspunk te
Simulationsumgebung für superskalare Prozessoren (Gerald Heim)
Für die Simulation moderner Mikroarchitekturen und einzelner
Komponenten, die in Mikroprozessoren zum Einsatz kommen, wurde
eine Simulationsumgebung entworfen und implementiert. Diese
Umgebung ermöglicht die Simulation einer großen Vielfalt an
Modellen aus dem Gebiet der Rechnerarchitektur, von Caches und
Sprungvorhersagemechanismen bis zur Befehlsausführung durch
dynamisches Scheduling. Der Aufbau der Umgebung sieht vor, dass
verschiedene Architekturen im Rahmen tracebasierter Simulation
unterstützt werden.
Bislang wurden zwei Architekturen implementiert. Für die Simulation
skalarer und superskalarer Prozessorstrukturen können Pipelines
46
konfiguriert und simuliert werden. Durch die Java-basierte
Implementierung ist die Simulationsumgebung portabel und kann
leicht um weitere Komponenten erweitert werden.
Wertevorhersage in Prozessoren (Gerald Heim)
Moderne Prozessoren versuchen die auf Befehlsebene vorhandene
Parallelität mit vielfältigen Mitteln in einem hohen Grad
auszuschöpfen, um so die Verarbeitungsgeschwindigkeit zu steigern.
Damit eine hohe Rate an Befehlsausführungen erreicht werden kann,
genügt es wie sich gezeigt hat nicht, allein den Befehlsstrom in seiner
gegebenen Form zu betrachten und dort nach Parallelität zu suchen.
Man findet mehr Parallelität, wenn mit fortgeschrittenen Techniken
wie Sprungvorhersage verbunden mit spekulativer out-of-order
Ausführung die Kandidatenmenge für die Parallelausführung weiter
vergrößert wird, und damit die Ausführung der einer
Datenflussmaschine sehr ähnlich wird.
Dies ist der Stand der heute schon vermarkteten superskalaren
Prozessoren.
Weitere Parallelität kann erreicht werden, indem die Anzahl spekulativ
ausgeführter Befehle weiter vergrößert wird. Für heutige Prozessoren
ist die Anzahl der spekulativ ausgeführten Befehle durch die
Spekulationstiefe der Sprungvorhersage, die Kapazität interner Puffer
und Busse sowie nicht zuletzt durch Datenabhängigkeiten begrenzt.
Mit Hilfe von Datenwertvorhersage kann an entscheidenden Stellen
die Spekulative Ausführung fortgeführt werden, ohne dass sich zu
viele nicht bearbeitbare Befehle aufstauen.
Datenwertvorhersage ist aber komplexer als Sprungvorhersage, weil
nicht von vorn herein klar ist, welche Datenwerte vorhergesagt
werden sollen. Außerdem wird für Datenwerte beobachtet, dass diese
stärker divergieren als die Werte der Sprungvorhersage.
Wertevorhersage kann daher nicht die Qualität der Sprungvorhersage
erreichen und muss deshalb als eine weitere Vorhersagestufe in einem
bereits durch Sprungvorhersage und Dekodierung bearbeiteten
Befehlsstrom verstanden werden und nur dann zur Anwendung
kommen, wenn weitere Parallelität gesucht wird oder sehr große
Latenzzeiten kaschiert werden sollen.
Für die Untersuchung von Wertevorhersagern in Prozessoren bedeutet
dies, dass sie nur im Kontext der Befehlsausführung untersucht werden
können, wenn die Einstreuung systematischer Fehler vermieden
werden soll.
Von speziellem Interesse sind dabei die Auswirkungen des
Zusammenspiels von Sprung- und Datenwertvorhersage, die Auswahl
der für Vorhersage in Frage kommenden Datenwerte und die
quantitativen Auswirkungen von Datenwertvorhersage auf die
Mikroarchitektur.
47
Die Auswahl der zu vorhersagenden Datenwerte hat auf den Erfolg
des gesamten Verfahrens weit reichende Auswirkungen, da erhofften
Gewinne leicht durch übermäßig viele Falschvorhersagen zunichte
gemacht werden können.
Low-Power Technologien in modernen Prozessorarchitekturen
(Gerald Heim)
Durch
die
fortschreitende
und
immer
höher
werdende
Integrationsdichte beim Entwurf und Bau von neuen sehr
leistungsfähigen Prozessoren steigt auch der Energieverbrauch pro
Fläche immer mehr. Durch intelligente Techniken wie das zeit- oder
ereignisgesteuerte Abschalten einzelner Regionen des Chips kann der
Energieverbrauch reduziert werden.
Dies senkt den Aufwand, der zur Kühlung des Prozessors betrieben
werden muss. Außerdem wird der Stromverbrauch reduziert und die
Lebensdauer verlängert.
Die
herkömmlichen
Technologien
zur
Reduzierung
des
Stromverbrauchs setzen sehr detaillierte Modelle voraus, die dann auf
Register-Transferebene modifiziert werden. Jedoch zeigt sich, dass so
oft entscheidende Schritte zur Einsparung nicht mehr möglich sind.
Deshalb müssen Wege gefunden werden, das Stromsparpotential
bereits in frühen Entwurfsphasen zu bewerten und in lohnenden
Teilen des Entwurfs gezielt zu verfolgen.
Formale M ethoden (Leitung: Dr. T. Kropf)
Durch die immer kürzeren Entwicklungszeiten von eingebetteten
Systemen müssen diese aus HW und SW bestehenden Systeme heute
effizient und schnell produziert werden. Vor allem die Fehlerfreiheit
der Eingebetteten Systeme muss gewährleistet werden, damit
Systemfehler bei sicherheitskritischen Anwendungen ausgeschlossen
werden können, wie dies im Medizin- oder Luft- und RaumfahrtBereich notwendig ist. Dies kann man nur erreichen, wenn man die
Fehler im Entwicklungsprozess findet. Gemäß aktueller Studien nimmt
der Verifikationsaufwand beim Systementwurf einen Anteil von bis zu
70% des Gesamtaufwandsein. Dadurch erlangen Verfahren zur
Steigerung der Verifikationseffizienz immer höhere Wichtigkeit. Durch
die hohe Komplexität der heutigen Systementwürfe ist eine
Verifikation unter Anwendung klassischer Simulationstechniken in der
Regel nicht möglich und liefert daher nur bedingt gültige
Korrektheitsaussagen. Formale Methoden gewinnen dadurch für die
Verifikation an Bedeutung, die den Nachweis für die funktionale
Korrektheit eines Schaltungsabschnitts auf formalem Wege erbringen
und vollständige Korrektheitsaussagen liefern. Da die Anwendung von
formalen Verifikationstechniken nur eingeschränkt möglich ist,
besteht an dieser Stelle Forschungsbedarf.
48
Die Arbeitsgruppe formale Methoden verfolgt in ihrer Forschung
folgende Themen:
•
Verbesserung der formalen Verifikationsmethoden
•
Semiformale Verifikationstechniken (High-Level Verifikation /
HW/SW-Verifikation)
•
Hardwarenahe Software Verifikation
Spezifikation
Simulation, semiformale
Verifikation
System-Ebene
System
Simulation
RT-Ebene
m
ple
Im
g
un
Gatterebene
Ve
r ifi
r
tie
en
ka
ti
on
Eigenschaftsverifikation
Model-Checking
Equivalenz Verifikation
Layout-Ebene
Formale
Verifikation
Abb. 1 5: V eri fi ka ti onse be ne n
GRASP
Integration
formaler
und
funktionaler
Verifikationswerkzeuge (Roland Weiss, Jürgen Ruf, Thomas Kropf)
Verbundprojekt mit Prof. Rammig und Dr. Wolfgang Müller,
Universität Paderborn im DFG Schwerpunktprogramm "Integration
von
Techniken
der
Softwarespezifikation
für
ingenieurwissenschaftliche Anwendungen".
Ziel dieses Projekts ist die Nutzbarmachung von formalen
Verifikationstechniken
im
Entwurf
von
Produktionsautomatisierungssystemen (PA-Systemen). Die formale
Verifikation von PA-Systemen dient dazu, bereits in frühen
Entwurfsphasen und auf hohen Abstraktionsebenen Entwurfsfehler
aufzuspüren.
Ein besonderer Schwerpunkt bei dieser Arbeit liegt auf der
Verifikation und der ingenieurgerechten Modellierung von
zeitbehafteten Systemen und ihren Eigenschaften. Zu diesem Zweck
werden formale Spezifikationstechniken wie quantitative temporale
Logiken oder zeitbehaftete endliche Automaten, die als Basis der
formalen Verifikation dienen, in den Entwurfsablauf integriert. Die
verschiedenen Arbeiten im Rahmen des Projekts werden in einer
49
prototypischen Entwurfsumgebung zusammengeführt, die von der
Eingabe über die Verifikation und Simulation bis hin zur
Unterstützung bei der Fehlersuche den Entwurf von PA-Systemen
unterstützt.
Der zentrale Punkt der aktuellen Projektarbeiten ist die Kombination
von Simulation und formaler Verifikation. Die Ziele, die wir damit
erreichen sind folgende:
•
Erhöhte Testabdeckung (höhere Zuverlässigkeit der Systeme).
•
Anwendung der Verfahren auf Systeme, die zu groß sind für die
formale Modellprüfung.
•
Prüfen der gleichen formalen Eigenschaften wie bei der
simulationsbasierten Methode oder der formalen Modellprüfung.
KOMFORT – Kombination formaler und semiformaler Techniken zur
Verifikation von C++-basierten Systembeschreibungen (Prakash
Peranandam, Pradeep Nalla, Jürgen Ruf, Thomas Kropf)
Ziel dieses DFG-Projektes ist, die Vorteile der klassischen Simulation mit
den Vorteilen formaler Methoden zu kombinieren. So können kritische
Systemeigenschaften formal spezifiziert werden und „on-the-fly“, d.h.
parallel zum Ablauf einer klassischen Simulation, überprüft werden Es
werden
Partitionierungstechniken entwickelt, mit denen die zu
testenden Stimuli und das zu verifizierende System so aufgeteilt
werden können, dass sich davon Teile mit Simulation validieren lassen
und andere Teile mit formalen Methoden verifiziert werden können.
Zu
diesem
Zweck
werden
Systembeschreibungen
als
Validationsgrundlage herangezogen. Die formale Semantik von
SystemC™ wird auf die neuste Version angepasst, durch diese formale
Semantik wird die zeitliche Abarbeitung von Prozessen und
Ereignissen in SystemC definiert.
Aus charakteristischen Simulationsläufen werden Bündel gebildet, die
mittels symbolisch
repräsentierter Akzeptoren auf Korrektheit
überprüft werden.
Eine Idee besteht darin, dass das System nicht im Rechner simuliert,
sondern in einer speziellen
Emulationsumgebung direkt als Hardware emuliert wird. Um die onthe-fly-Techniken auch in dieser späten Validationsphase nutzen zu
können, ist es wichtig, die zu testenden Eigenschaften automatisch in
endliche Automaten zu übersetzen. Eine weitere Möglichkeit der
Kombination von Simulation und formaler Verifikation ist die Formale
Verifikation mit vorgeschalteter Simulation.
Die Projektarbeiten befinden sich momentan bei der Verbesserung der
Verifikationsmethoden für große Systementwürfe. Für diese
Verbesserung werden die zwei Verfahren des intelligenten Splittings
und der Parallelisierung verwendet, welche in das Werkzeug SymC
50
eingebunden werden. Folgende Ziele werden über das Projekt
erreicht:
Die Verifikation von Systementwürfen wird beschleunigt. Große
Entwürfe können formal verifiziert werden. Die Eigenschaftsprüfung
kann viel weiter in die Tiefe des Zustandsraums gehen
FEST - Funktionale Verifikation von Systemen (Stefan Lämmermann,
Roland Weiss, Jürgen Ruf, Thomas Kropf)
Verbundprojekt des Edacentrum und dem Bundes Ministerium für
Bildung
und
Forschung
mit
den
zu
bearbeitenden
Schwerpunktprogrammen "Einheitliche Semantik für Hardware- und
Software-Systeme und Eigenschaftsextraktion" und „Verifikation und
Analyse“.
In dem Projekt werden Ziele, der vereinheitlichte Modellierung für
Software- und Hardwarekomponenten für die Verifikationsverfahren
und -algorithmen für HW/SW-Systeme verfolgt, der automatischen
Extraktion von Systemeigenschaften aus den zu verifizierenden
HW/SW-Systemen
und
die
Kombination
neuer
Verifikationsalgorithmen mit Algorithmen der klassischen Analyse
bzw. Simulation (Semiformale Verfahren). Die Verfahren dienen dazu
in der Systemebene das System zu verifizieren.
Zur Eigenschaftsextraktion werden verschiedene Methoden der
statischen Analyse erforscht. Denkbare Verifikationsziele umfassen
Terminierungsbedingungen,
Zeiteigenschaften
oder
Initialisierungsbedingungen. Es wird versucht hardwarenahe Software
auf Hardware-Modelle abzubilden und diese mit verschiedenen
Hardware-Verifikationsverfahren zu prüfen. Methoden sollen
entwickelt werden, die neue Verifikationsalgorithmen mit
Algorithmen der klassischen Analyse bzw. Simulation kombiniert. Das
Ergebnis sind semi-formale Verfahren, die auf HW/SW-Systeme mit
industrieüblicher Komplexität anwendbar sind.
Den Schwerpunkt der aktuellen Projektarbeiten bilden derzeit die
Eigenschaftsextraktion, die hardwarenahe Softwareverifikation und
die semiformale Verifikation. Die Ziele, die wir erreichen möchten,
sind:
•
Automatisierte Eigenschaftsextraktion auf der Systemebene
•
Hardware-nahe Software-Verifikation für AutomotiveAnwendungen
•
Semiformale Verifikationsverfahren für die High-Level Verifikation
Multi mediatechni k (Lei tung: S teffen H oltwick)
Einen festen Bestandteil des Lehrangebots bildet das vom Fachbereich
angebotene Multimediatechnik-Praktikum. Ziel des Praktikums ist das
Sammeln von praktischen Erfahrungen in den Themengebieten der
51
Vorlesungen Multimediatechnik 1 und 2, die ebenfalls vom Lehrstuhl
Technische Informatik von Herrn Professor Rosenstiel angeboten
werden. Das Praktikum umfasst derzeit 8 Aufgaben mit jeweils
theoretischen und praktischen Aufgabenstellungen, die in kleinen
Gruppen von zwei bis drei Teilnehmern innerhalb von zwei bis vier
Wochen bearbeitet werden.
Die folgenden Themenbereiche werden behandelt: Dateiformate für
Bilder und Grafiken, Kompressionsverfahren für Bilder und Audio- und
Videodaten,
optische
Speichermedien,
VideokonferenzAnwendungen,
Multimediadatenbanken
und
der
MPEG-4
Videostandard. Die Praktikumsversuche werden kontinuierlich an
aktuelle Entwicklungen angepasst und beinhalten auch kreative
Leistungen wie die Planung und Erstellung einer eigenen DVD.
In den vergangenen beiden Jahren entstanden am Fachbereich
Multimediatechnik zwei Diplomarbeiten und fünf Studienarbeiten.
Die aktuellen Themenschwerpunkte liegen in den Bereichen
Multimediadatenbanken,
Multimediaanwendungen
auf
Mobiltelefonen,
mobile
Navigation
und
Routenplanung,
Spracherkennung und Sprachsynthese, automatische Inhaltsanalyse bei
Audio- und Videodaten, Digitales Rechtemanagement und
Kopierschutzverfahren sowie Barrierefreiheit im Internet.
Im Rahmen einer Diplomarbeit und zweier Studienarbeiten wurde der
Internetauftritt der Technischen Informatik unter Einhaltung der
aktuellen Richtlinien zur Barrierefreiheit im Internet neu gestaltet und
unter Verwendung aktueller Programmiertechniken (Templates, PHP,
CSS)
neu
implementiert.
Dabei
wurde
insbesondere
auf
Übersichtlichkeit und einfache Wartbarkeit des Auftritts wertgelegt.
Die Umsetzung erfolgt mit Hilfe des Open Source ContentManagement-Systems TYPO3. Die Arbeiten haben gezeigt, dass auch
moderne Techniken zur Erstellung von Internetseiten noch
Kompromisse bei der Barrierefreiheit erfordern. (siehe Abb. 16)
Abb. 1 6: E ntw urf für die barri ere frei e S ta rtse ite de r
Tec hni sc he n I nforma ti k
52
Eine weitere Diplomarbeit hat sich mit Multimediadatenbanken
beschäftigt und zu diesem Thema einen neuen Praktikumsversuch
konzipiert. Die Konvergenz der digitalen Medien ist ein aktuelles
Thema und eröffnet vielfältige Anwendungsmöglichkeiten. Für die
Diplomarbeit wurde das Open Source Framework Fedora (Flexible and
Extensible Digital Object Repository Architecture) der Cornell
University verwendet und eine eigene Anwendung namens JImPeR
(Java-based IMage and PErson Repository), zur Erkennung von
Gesichtern und der Verwaltung von Personenfotos, implementiert.
Abbildung 17 zeigt die Benutzeroberfläche der Anwendung. Der
entwickelte
Praktikumsversuch
soll
insbesondere
die
Metadatenmodelle und das Konzept der Web Services verdeutlichen.
Abb. 1 7: Be nutz eroberfl äc he der A nw e ndung JIm Pe R z ur Ve rw altung v on
P ortrai ts
Ein weiteres, sehr aktuelles Thema sind Multimediaanwendungen auf
mobilen Endgeräten. Trotz ihrer begrenzten technischen Ressourcen
sind Mobiltelefone wegen ihrer zahlenmäßigen Verbreitung für solche
Anwendungen besonders interessant. Im Rahmen einer Studienarbeit
wurden verschiedene Anwendungen auf einem aktuellen UMTSMobiltelefon, getestet und der aktuelle Stand der Technik
dokumentiert. Die Studienarbeit beschäftigte sich vor allem mit
Videophonie über UMTS und Möglichkeiten der Kommunikation
zwischen einem Mobiltelefon und einem PC über UMTS oder
Bluetooth. In unserer Arbeitsgruppe werden zurzeit einige
Anwendungen für das Symbian Betriebsystem entwickelt.
53
Veröffentlic hungen
Avila, Dölling, Rosenstiel
Towards seamless top-down design of A/MS systems: An
example of system to block-level design in automotive
applications
Proceedings of Forum on Design Languages (FDL), 2005
Avila, Dölling, Rosenstiel
Eine teilautomatisierbare Methodik für den Übergang von der
System- auf die Schaltungsebene am Beispiel eines
Reglerentwurfs aus dem Automobilbereich
Proceedings of Analog, 2005
Bensch, Bogdan, Czerner, Linke, Montino, Schröder, Rosenstiel
Neural network algorithms for generalised online tool control
in medium size semiconductor fabs
Proceedings of AEC/APC Conference, Benefits of AEC/APC for FAB
Efficiency and Product Yield, 2005
Bensch, Schröder, Bogdan, Rosenstiel
Feature Selection for High-Dimensional Industrial Data
Proceedings of ESANN, 2005
Bensch, Schröder, Bogdan, Rosenstiel, Hinterberger, Mellinger, Birbaumer
The Web Browser „Nessi“: A BCI Application
3rd Int. BCI meeting, Albany, 2005
Braun, Schubert, Stark, Haug, Gerlach, Rosenstiel
A Case Study: SystemC-Based Design of an Industrial Exposure
Control Unit
C. Grimm (ed.), “Languages for System Specification”, Chapter 8 (pp. 119132), Kluwer Academic Publishers, 2004
Braun, Grosser, Gerlach, Rosenstiel
Entwicklung einer SystemC-basierten Simulationsumgebung
für einen 8-Bit-RISC-Mikrocontroller
GI/ITG Workshop, 2005
Braun, Gerlach, Rosenstiel, Siebenborn, Bringmann
SystemC-Based Communication and Performance Analysis
Proceedings of Forum on Design Languages (FDL), 2005
Bringmann, Siebenborn, Rosenstiel
Conflict Analysis in Multiprocess Synthesis for Optimized
System Integration
International Conference on Hardware - Software Codesign and System
Synthesis, CODES+ISSS, 2005
54
Donlin, Braun, Rosenstiel
SystemC for the Design and Modeling of Programmable
Systems
Proceedings of Field-Programmable Logic and its applications (FPL), 2004
Flake, Müller, Pape, Ruf
Specification and formal verification of temporal properties of
production automation systems
LNCS, Springer Verlag Heidelberg, 2004
Ganzenmüller, Pinkenburg, Rosenstiel
SPH2000: A Parallel Object-Oriented Framework for Particle
Simulations with SPH*
Proceedings of Euro-Par 2005, Parallel Processing, 11th International
Euro-Par Conference (José C. Cunha, Pedro D. Medeiros (Eds.)), Lecture
Notes in Computer Science 3648 Springer 2005, ISBN 3-540-28700-0, 2005
Herkersdorf, Rosenstiel
Towards a Framework and a Design Methodology for
Autonomic Integrated Systems
GI-Edition Lecture Notes in Informatics, Informatik 2004 – Informatik
verbindet, Band 2, Beiträge der 34. Jahrestagung der Gesellschaft für
Informatik e.V., 2004
Hipp, Rosenstiel
Parallel Hybrid Particle Simulations Using MPI and OpenMP
Proceedings of Euro-Par, Parallel Processing, 10th International Euro-Par
Conference Euro-Par, 2004
Hipp, Pinkenburg, Holtwick, Kunze, Schäfer, Rosenstiel, Ruder
Libraries and Methods for Parallel Particle Simulations
Proceedings of HLRS Stuttgart, 2005
Lettnin, Braun, Bogdan, Gerlach, Rosenstiel
Synthesis of Embedded SystemC Design: A Case Study of
Digital Neural Networks
Proceedings of Design, Automation and Test in Europe (DATE), 2004
Lettnin, Weiss, Braun, Ruf, Rosenstiel
Temporal Properties Verification of System Level Design
Proceedings of NetObjectDays, 2005
Lipsa, Herkersdorf, Rosenstiel, Bringmann, Stechele
Towards a Framework and a Design Methodology for
Autonomic SoC
Proceedings of ARCS 2005 und ACS 2005
55
Lysaght, Rosenstiel (Hrsg.)
New
Algorithms,
Architectures
Reconfigurable Computing
Springer, 2005
and
Applications
for
Nalla, Weiss, Ruf, Kropf, Rosenstiel
Parallel Bounded Property Checking with SymC
Proceedings of GI/ITG/GMM Workshop, 2005
Nalla, Weiss, Peranandam, Ruf, Kropf, Rosenstiel
Symbolic bounded property checking in parallel
Elsevier, 2005
Oetjens, Gerlach, Rosenstiel
Ein XML-basierter Ansatz zur flexiblen Darstellung und
Transformation von Schaltungsbeschreibungen, Modellierung
und Beschreibungssprachen
Proceedings of GI/ITG/GMM Workshop, 2004
Oppold, Schweizer, Kuhn, Rosenstiel
A New Design Approach for Processor-Like Reconfigurable
Hardware
Proceedings of Euro DesignCon, Munich, Germany, 2004
Oppold, Schweizer, Kuhn, Rosenstiel
Cost Functions for the Design of Dynamically Reconfigurable
Processor Architectures
Workshop on Synthesis And System Integration of Mixed Information
technologies (SASIMI), Kanazawa, Japan, 2004
Oppold, Schweizer, Kuhn, Rosenstiel
A Design Environment for Processor-Like Reconfigurable
Hardware
IEEE International Conference on Parallel Computing in Electrical
Engineering (PARELEC), Dresden, Germany, 2004
Oppold, Schweizer, Kuhn, Rosenstiel, Kanus, Strasser
Evaluation of Ray Casting on Processor-Like Reconfigurable
Architectures
International Conference on Field Programmable Logic and Applications
(FPL), 2005
Qin, Pinkenburg, Rosenstiel
Parallel Motif Search Using PARSEQ
Proceedings of the International Conference on Parallel and Distributed
Computing and Networks (PDCN), 2005
56
Peranandam, Weiss, Ruf, Kropf, Rosenstiel
Dynamic Guiding of Bounded Property Checking
Proceedings of IEEE International High Level Design Validation and Test
Workshop (HLDVT), 2004
Perandam, Weiss, Ruf, Kropf, Rosenstiel
Overlap reduction in symbolic system traversal
Proceedings of IEEE International High Level Design Validation and Test
Workshop (HLDVT), 2005
Peranandam, Weiss, Ruf, and Kropf.
Transactional level verification and coverage metrics by means
of symbolic simulation
Proceedings of GI/ITG/GMM Workshop, 2004
Pinkenburg, Rosenstiel
Parallel I/O in an object-oriented message-passing library
In Recent Advances in Parallel Virtual Machine and Message Passing
Interface, PVM/MPI, Springer-Verlag, 2004
Rosenstiel
IP and design reuse
The VLSI journal 37, 2004
Ruf, Weiss, Kropf, Rosenstiel
Modeling and Formal Verification of Production Automation
Systems
Proceedings of Forum on Design Languages (FDL), 2004
Sciuto, Martin, Swan, Flake, Ghenassia, Srouji, Rosenstiel
SystemC and SystemVerilog: Where do they fit? Where are
they going?
Proceedings of Design, Automation and Test in Europe (DATE), 2004
Schäfer, Speith, Hipp, Kley
Simulations of planet-disc
Particle Hydrodynamics
Astronomy&Astrophysics 2004
interactions
using
Smoothed
Schmitt, Rosenstiel
Rapid Prototyping of a Microcontroller IP Core under Resource
Limitations
In: Lindwer, Gerousis, Figueras (Eds.): Design, Automation and Test in
Europe, Designers Forum, Paris, 2004
57
Schmitt, Rosenstiel
Verification of a Microcontroller IP Core for System-on-Chip
Designs Using Low-Cost Prototyping Environments
In: Stoffel, Kunz (Eds.): Methoden und Beschreibungssprachen zur
Modellierung und Verifikation von Schaltungen und Systemen,
Kaiserslautern, 2004
Schmitt, Rosenstiel
Fast and efficient development of hardware-dependent
software for SoC designs
In: Sullivan (Ed.): Euro DesignCon 2004, München, 2004
Schnerr, Bringmann, Rosenstiel
Cycle Accurate Binary Tanslation for Simulation Acceleration
in Rapid Prototyping of SoCs
Proceedings of Design, Automation and Test in Europe (DATE), 2005
Schröder, Lal, Hinterberger, Bogdan, Hil, Birbaumer, Rosenstiel, Schölkopf
Robust EEG Channel Selection Across Subjects for Brain
Computer Interfaces
Proceedings of International Conference on Machine Learning (ICML),
2005
Schulz-Key, Winterholer, Schweizer, Kuhn, Rosenstiel
Object-Oriented
Modeling
and
Synthesis
of
SystemC
Specifications
Asia South Pacific Design Automation Conference (ASPDAC), Yokohama,
Japan, 2004
Schweizer, Oliveira, Oppold, Kuhn, Rosenstiel
Evaluation of Temporal-Spatial Voltage Scaling for ProcessorLike Reconfigurable Architectures
Proceedings of the Euro DesignCon, München, 2005
Siebenborn, Bringmann, Rosenstiel
Communication Analysis for System on Chip Design
Proceedings of Design, Automation and Test in Europe (DATE), 2004
Viehl, Bringmann, Rosenstiel
Performance Analysis of Sequence Diagrams for SoC Design
Proceedings of the 2nd UML for SoC-Design Workshop (UML-SoC), 42nd
Design Automation Conference (DAC), Pages 55-61, Anaheim, June12,
2005
Vörg, Radetzki, Rosenstiel
Measurement of IP Qualification Costs and Benefits
Proceedings of Design, Automation and Test in Europe (DATE), 2004
58
Vörg, Rosenstiel
Automation of IP qualification and IP exchange
The VLSI journal 37 2004
Weiss, Ruf, Kropf, Rosenstiel
Efficient and customizable integration of temporal properties
into SystemC
Proceedings of Forum on Design Languages (FDL), 2005
Weiss, Ruf, Kropf, Rosenstiel
Symbolic model checking and simulation with temporal
assertions
Proceedings of Design, Automation and Test in Europe (DATE), 2005
Winterholer, Schulz-Key, Schweizer, Kuhn, Rosenstiel
Object-Oriented Hardware Synthesis with SystemC
Proceedings of Forum on Design Languages (FDL), 2004
59
Vorträge
Bringmann, Oliver: „New System Level Design Methodologies Tailored to
European Electronic Key Applications and Their Industrial Utilization in
SpeAC“, DATE '04, Paris, Februar 2004
Bringmann, Oliver: „New System Level Design Methodologies in the
SpeAC Project 2nd open Workshop on System Level Design in the
MEDEA+/Ekompass Project SpeAC“, DATE '04, Paris, Februar 2004
Bringmann, Oliver: „Spezifikation und Algorithmus/Architektur-Codesign
für hochkomplexe Anwendungen der Automobil- und
Kommunikationstechnik (SpeAC)“, 3. Ekompass Workshop, Hannover, Mai
2004
Bringmann, Oliver: „Performanz- und Konfliktanalyse zur optimierten
Bus-Allokierung“, Fach- und Kooperationsworkshop "Matlab-Integration
und Performanzanalyse", Dresden, Dezember 2004
Bringmann, Oliver: „Spezifikation und Algorithmus/Architektur-Codesign
für hochkomplexe Anwendungen der Automobil- und
Kommunikationstechnik (SpeAC)“, 4. Ekompass Workshop, Hannover,
April 2005
Bringmann, Oliver: „Transaction Level Modelling in System Design“,
MEDEA+ Design Automation Conference, Château des
Mesnuls/Frankreich, Mai 2005
Bringmann, Oliver: „Research Challenges Towards a Coherent TLM
Methodology“, ECSI Workshop on Efficient Transaction Level Modelling,
Paris, Mai 2005
Bringmann, Oliver: „Current OSCI Activities and Future Plans for TLM
Standardisation“, ECSI Workshop on Efficient Transaction Level Modelling,
Paris, Mai 2005
Bringmann, Oliver: „Modellierung virtueller Prototypen mit SystemC und
formale Performanz- und Kommunikationsanalyse zur
Architekturexploration“, IBM SystemC Summit, Böblingen, Juli 2005
Bringmann, Oliver: „Einsatz von SystemC für den Entwurf von Hardwarenaher Software unter Verwendung virtueller Prototypen“,
Kolloqiumsvortrag, Fraunhofer Institut Experimentelles Software
Engineering, Kaiserslautern, Dezember 2005
60
Bringmann, Oliver: „Conflict Analysis in Multiprocess Synthesis for
Optimized System Integration, IEEE/ACM/IFIP International Conference on
Hardware - Software Codesign and System Synthesis (CODES-ISSS)“, New
York, USA, September 2005
Ganzenmüller, Sven: „Eine objektorientierte parallele Bibliothek für
Teilchensimulationen“, Saas-Almagell, Schweiz, März 2004
Ganzenmüller, Sven: „SPH2000: A Parallel Object-Oriented Framework for
Particle Simulations with SPH“, Lissabon, Portugal, September 2005
Krause, Matthias: „Einführung in MOST Media Oriented System
Transport“, Robert Bosch GmbH, Schwieberdingen, Oktober 2004
Rosenstiel, Wolfgang: “SystemC and SystemVerilog: Where do they fit? Where are they going?“, Panel Discussion, DATE '04, Paris, 17. Februar
2004
Rosenstiel, Wolfgang: “Abstract Modeling: Is it worth to bother?“, Panel
discussion, DATE '04, Paris, 18. Februar 2004
Rosenstiel, Wolfgang: “Entwurf und Entwurfsmethodik eingebetteter
Systeme“, DFG-Senat, Bonn, 06. Mai 2004
Rosenstiel, Wolfgang: “Zukünftige EDA-Forschungsschwerpunkte“,
Ekompass-Workshop, Hannover, 18. Mai 2004
Rosenstiel, Wolfgang: “Specification and Algorithm/Architecture-CoDesign for Highly Complex Applications in Automotive and
Communication“, European Technology Platform, Rom, 29. Juni 2004
Rosenstiel, Wolfgang: “Rapid Prototyping and Software Debugging for
the TriCore1 MCU IP Core on FPGA-based Prototyping Platforms“,
Synopsys Scientific Seminar, Mountain View/USA, 09. August 2004
Rosenstiel, Wolfgang: “SystemC and SystemVerilog for System Level
Design“, Taipeh/Taiwan, 20. Oktober 2004
Rosenstiel, Wolfgang: “System Level Design: Where is EDA?“, Panel
Discussion, EuroDesignCon, München, 26. Oktober 2004
Rosenstiel, Wolfgang: “Aktuelle Prozessorarchitekturen“, IBM Symposium,
Herrenberg, 29. Oktober 2004
Rosenstiel, Wolfgang: “Is there a market for SystemC tools?“ , Panel
Discussion, DATE '05, München, 10. März 2005
Rosenstiel, Wolfgang: “SystemC-Based Communication and Performance
Analysis“, FDL, Lausanne, 29. September 2005
61
Rosenstiel, Wolfgang: “ESL Tradeoff: What is the Best Way to Bring a New
Algorithm from a C/C++ or SystemC Reference to Silicon?“ Panel
Discussion, EuroDesignCon, München, 24. Oktober 2005
Rosenstiel, Wolfgang: „Moderne Rechnerarchitekturen“, IBM Symposium,
Herrenberg, 28. Oktober 2005
Rosenstiel, Wolfgang: “New System Level Design Flow Cutting Design
Efforts and Time-to-Market for SoC“, Medea+ Forum, Barcelona, 21.
November 2005
Schmitt, Stephen: „Rapid prototyping of a microcontroller IP core under
resource limitations”, Paris, Februar 2004
Schmitt, Stephen: „Verification of a microcontroller IP core for System-onChip designs using low-cost prototyping environments”, Kaiserslautern,
Februar 2004
Schmitt, Stephen: „Fast and efficient development of hardwaredependent software for SoC designs“, München, Oktober 2004
Schmitt, Stephen: „Integrierte Simulation und Emulation eingebetteter
Hardware/Software-Systeme“, Tübingen, Juni 2005
Viehl, Alexander: „Control Flow Aware Communication and Conflict
Analysis“ 3rd Open SpeAC Workshop, Friedrichshafen, Juni 2005
62
Promoti onen
Bai, Lu: „Functional Requirement Estimation for Vehicle E/E System
Integration”, 17. März 2006
Braun, Markus: „Steigerung der Effizienz simulationsbasierter
Verifikation durch Einsatz von testüberdeckungsgeführter Simulation“,
17. März 2006
Cossy, Melanie: „Entwicklungsprozess und Softwarearchitektur für
sicherheitsbezogene verteilte Anwendungen im Fahrzeug“, 18. April
2005
Dagli, Ismail: „Erkennung von Einscherer-Situationen für
Abstandsregeltempomaten“, 02. Februar 2005
Heinisch, Cordula: „Konfigurationsmodell und Architektur für eine
automatisierte Software-Aktualisierung von Steuergeräten im
Automobil“, 06. Oktober 2004
Menn, Carsten: „Hardware-Abschätzung für High-Level
Spezifikationen digitaler Schaltungen“, 21. Juli 2004
Ruh, Jens: „Entwurf von fehlertoleranten Steuergeräteapplikationen in
Kraftfahrzeugen unter Berücksichtigung moderner
Entwicklungsmethodik“, 21. März 2005
Schmitt, Stephen: „Integrierte Simulation und Emulation eingebetteter
Hardware/Software-Systeme“, 19. Mai 2005
Siebenborn, Axel: „Kommunikations- und Laufzeitanalyse für den
Entwurf eingebetteter Systeme“, 17. März 2006
Vörg, Andreas: „Automatisierte Qualifizierung und Auslieferung
wiederverwendbarer Komponenten“, 31. März 2005
63
Diplomarbei ten
Autenrieth, Christof: „Künstliche neuronale Netze zur automatischen
Erkennung des Hirnareals Nucleus subthalamicus“, 2004
Benderman, Dmitri: „ Entwurf und Implementierung eines Ansatzes
zur automatischen Abbildung von SystemC-Spezifikationen auf ein
Echtzeitbetriebssystem“, 2004
Hahn, Katharina: „Erweiterung hybridscher Fahrfunktion durch
ACC/Radarsensorik am Beispiel Start/Stopp“, 2004
Müller, Matthias: „Simulationsdatenextraktion und –analyse bei
transaktionsbasierten Systemmodellen“, 2004
Doberenz, Stefan: „Untersuchung und Implementierung von
Bluetooth-basierten Sensor-/Aktonetzwerken“, 2005
Glatthaar, Simon: „Untersuchungen und Modelle zur Optimierung von
Wertevorhersage und Cachelokalität in modernen
Prozessorarchitekturen“, 2005
Kappler, Willi: „Domain Specific Language für ein objektorientiertes
SPH-Framework“, 2005
Oertel, Amalinda: „Software-Modultest am Beispiel einer
Displayansteuerung für ein ACC-Fahrzeug“, 2005
Schnaidt, Benjamin: „Profiling eines parallelen, objektorientierten SPHFramework“, 2005
Schönwald, Timo: „Spezifikationsbasierte Generierung von
strukturellen SystemC-Modellen aus UML und SysML“, 2005
Stark, Daniel: „Untersuchung und Implementierung von
Multimediadatenbanken unter Verwendung von Fedora“, 2005
Yilmaz, Elena: „Aufbau und Anwendung einer flexiblen
Transformationsumgebung für SystemC-Beschreibungen“, 2005
Wang, Yuhui: „Untersuchung aktueller Methoden zur Verifikation von
hardwarenaher Software anhand eines Beispiels aus der Industrie“,
2006
64
Studienarbeiten
Altundal, Sevinal: „Modellierung und Integration von Reorder Buffer
und Register Renaming“, 2004
Autenrieth, Christof: „Motoransteuerung im Projekt Echem++“, 2004
Chiviny, Long-Marquardt: „Clock Gating”, 2004
Grosser, Thomas: „Implementierung einer SystemCSimulationsumgebung für eine 8-bit RISC-Architektur“, 2004
Gulan, Stefan: „Erstellen robuster Modelle mit SVM“, 2004
Hauser, Stefan: „Entwicklung einer SystemC-ModelSimCosimulationsumgebung mit integrierter XML-basierter
Schnittstellengenerierung“, 2004
Hermann, Michael: „Entwurf und Einrichtung einer Datenbank zur
Verwaltung von Messdaten und Benchmarks“, 2004
Hofmann, Matthias: „Realtime Spike Sorting“, 2004
Rörig, Rebecca: „Untersuchung der Robustheit des SVMKlassifikationsalgorithmus bezüglich fehlender Eingabedimensionen
für kontinuierliches BCI-Feedback“, 2004
Seidel, Ingo: „Konzeption eines Praktikums zur Vorlesung
Signalverarbeitung“, 2004
Sinz, Fabian: „Kamerakalibrierung und Tiefenschätzung“, 2004
Wang, Yuhui: „Eine Verifikationsmethode vom Softwaremodell bis zur
FPGA-basierten Emulationsumgebung“, 2004
Willman, Jörg: „Aufbau einer Simulationsumgebung zur Korrektheitsprüfung von Technologiemigrationsschritten“, 2004
Bauer, Johanna: „Untersuchung des Zeitverhaltens des GSM
Teledienstes SMS“, 2005
Blocher, Kai: „FPGA Power Dissipation“, 2005
Chen, Jingkai: „Effiziente Synthese temporaler
Eigenschaftsspezifikationen“, 2005
Christensen, Andrea: „Dynamische Synapsen für künstliche neuronale
Netze“, 2005
65
Claßen, Henning: „Evaluation of the FFT on CRC”, 2005
Ehlers, Sabrina: „Plug-in-Integration des Modellprüfers RAVEN in
Eclipse”, 2005
Eisenhardt, Sven: „Documentation for the OOAS using UML (IBM
Rational Rose)”, 2005
Ergin, Tamer: „Entwurf und Implementierung von XSL-Stylesheets zur
Transformation von Hardware-Entwurfsdarstellungen“, 2005
Gebhard, Clemens: „Konflikterkennung zu Ressourcenallokation in
eingebetteten Systemen“, 2005
Haq, Wadood: „Darstellung der Schallkeule von Fledermäusen“, 2005
Hollmann, Lars: „Von der Idee bis zur DVD“, 2005
Hütter, Maximilian: „Automatische AltiVec – Die SIMD-Einheit der
PowerPC Prozessoren“, 2005
Kramer, Simon: „Entwicklung einer SystemC-Umgebung für Eclipse“,
2005
Masekowsky, Stephan: „Modellierung & Integration von Caches und
Write Buffern für superskalare Prozessoren“, 2005
Maslow, Christina: „Entwicklung und Test von Softwarekomponenten
zur Klassifikation von Halbleiterproduktionsdaten“, 2005
Moritz, Sandra, steinhilber Ingrid: „Automatische GUI-Generierung zur
Konfiguration von Simulationspaketen“, 2005
Renner, Christian: „Verhaltensvisualisierung eingebetteter Systeme
durch UML2 Sequenz-Diagramme“, 2005
Steffal, Michael: „Low-Power Entwicklungswerkzeuge“, 2005
Tikhonova, Marina: „Block-Fetch Modelle für superskalare
Prozessoren”, 2005
Waldert, Stephan: „Real-time Access to MEG Data and First
Applications”, 2005
Weinberger, Katharina: „Integration eines USB-IP-Kerns zur
emulationsbasierten Software-Entwicklung auf dem TriCore1“, 2005
66
Yilmaz, Elena: „Anwendung von Clock-Gating für XML-basierte LowPower-Optimierung von digitalen Schaltungen“, 2005
Kebede, Dereje: „Entwicklung eines Werkzeuges zur Transformation
von UML2.0 State-Machines für die Systembewertung“, 2006
67
Liste der Projektpartner 2004-2005
AMD Saxony LLC & Co. KG, Dresden, Uranos
Arexsys S., Meylan, France, Speac
Amtel Germany GmbH, Ulm, AIS
Bull S., Les Clayes-sous-Bois, France, Speac
Cadence Design Systems GmbH, Feldkirchen/München, Speac, AIS
CATENA Software GmbH, Frankfurt/Oder, AIS
Concept Engineering GmbH, Freiburg, AIS
CoWare, Leuven, Belgien, DiSCo
Design&Reuse, Grenoble, France, DiSCo
EADS Astrium GmbH, Friedrichshafen, Speac
ESG Elektroniksystem- und Logistik GmbH, München, DaiSY
ELMOS Semiconductor AG, Dortmund, Vertrag im Rahmen des BMBFVerbundvorhabens „Overall Equipment Effectiveness (OEE)“,
Teilvorhaben „Konzeption zu einbeziehenden Gestaltung des
Faktors Mensch in den Produktionsprozess“
Euro Telematik AG, Ulm, Speac
Fraunhofer-Gesellschaft (IIS/EAS), Dresden, Uranos
GreenSocs Ltd., Cambridge, United Kingdom, GS_GUB
IBM Deutschland Entwicklung GmbH, Böblingen, Kooperationsvertrag
zur Anfertigung und Betreuung von einer „externen“
Dissertation
Projekt Workload Prediction for Workload Management zum
Rahmenvertrag mit IBM über Forschungs- und
Entwicklungsarbeiten vom 29. Juli 2005
IBM Research, Rüschlikon, Schweiz, SPYDER
Infineon Technologies AG, München, Projekt BMBF-Verbundsprojekt
SpeAC
zum
Thema
„System-levelPerformanzabschätzungsmethoden für Modelle unterschiedlicher
Abstraktionsebenen, sowie befehlszyklengenaue Emulation eines
controllers auf einem Prototypingsystem“, AIS, Uranos
Italtel S.p.A., Castelletto di Settimo Milanese, Italien, Speac
Lucent Technologies Network Systems GmbH, Nürnberg, AIS
Melexis GmbH, Erfurt, Speac, AIS
Memscap S., Ismier, France, Speac
MunEDA, GmbH, München, AIS
Netmodule AG, Niederwangen, Schweiz, Speac
Nokia GmbH, Bochum, AIS
PDF Solutions GmbH, AIS
Philips Semiconductors GmbH, Hamburg, AIS
Politecnio di Milano, Milano, Italien, Speac
Prodesign, München, Valse XT
Robert Bosch GmbH, Reutlingen, Projekt Rahmenvertrag B-4009
„Entwurf mikroelektronischer Schaltungen“, Einzelauftrag
„SpeAC“, Einzelauftrag „Valse XT“, Studie SystemC, AIS
Robert Bosch GmbH, Schwieberdingen, „SystemC-Studie“
68
Robert Bosch GmbH, Stuttgart, Vertrag im Rahmen des BMBFVerbundvorhabens „Overall Equipment Effectiveness (OEE)“,
Teilvorhaben „Konzeption zu einbeziehenden Gestaltung des
Faktors Mensch in den Produktionsprozess“
RWTH Aachen, Lehrstuhl für Wärmeübertragung und Klimatechnik,
SFB382
RWTH Aachen, Lehrstuhl für Wärmeübertragung und Klimatechnik,
SPP241
sci-worx GmbH, Hannover, Speac, Uranos
STMicrolectronics S.1, Agrate Brianza, Italien, Speac
Swiss Federal Institute of Technology Zurich (ETH), Zürich, Schweiz,
Speac
Synopsys GmbH, Herzogenrath, Speac
Synopsys, USA, Speac
Tecnotron Elektronik GmbH, Weissensberg, Speac
Thales Communications S. (Thomson-CSF), Gennevilliers, Frankreich,
Speac
TU Chemnitz (SSE), Chemnitz, Uranos
TU Chemnitz (TI), Chemnitz, Uranos
TU München, München, AIS
UJF/TIMA, Grenoble, Frankreich, Speac
TU Braunschweig, Braunschweig, Speac, AIS
Universität Bremen, Bremen, Uranos
Universität Erlangen-Nürnberg, Erlangen-Nürnberg, AIS
Universität Kaiserslautern, Kaiserslautern, AIS
Universität
Mannheim,
Institut
für
Informatik,
Lehrstuhl
Rechnerarchitektur, ATOLL
Universität München, Höchstleistungsrechenzentrum Bayern, LeibnizRechenzentrum, SFB 382
Universität München, Lehrstuhl Integrierte Systeme, Institut für
System- und Schaltungstechnik, Fakultät für Elektrotechnik und
Informationstechnik
Universität Paderborn, Paderborn, AIS
Universität Stuttgart, Höchstleistungsrechenzentrum Stuttgart, SFB
382
Universität Stuttgart, ICA 1, Computational Physics, SFB 382
Universität Stuttgart, Institut für Theoretische und Angewandte
Physik, SFB 382
Universität Stuttgart, Visualisierung und Interaktive Systeme, SFB 382
Universität Trier, Trier, Uranos
Universität Tübingen, Computational Physics, SFB 382
Universität
Tübingen,
Wilhelm-Schickard-Institut,
Graphisch
Interaktive Systeme, SFB 382
Universität Tübingen, Interfakultäres Institut für Zellbiologie,
Landesschwerpunktprogramm Gensequenzanalyse auf PCClustern
Universität Tübingen, Mathematisches Institut, SFB 382
Universität Tübingen, Theoretische Astrophysik, SFB 382
69
Universität Tübingen, Wilhelm-Schickard-Institut, SFB 382,
Landesschwerpunktprogramm Gensequenzanalyse auf PCClustern
VISHAY Semiconductor GmbH, Heilbronn, Entwicklung InfrarotDemonstrator basiert auf Spyder-Plattform
Wirtschaftsministerium
Baden-Württemberg,
ITund
Medienprogramm des Landes Baden-Württemberg, Stuttgart,
Kompetenzvertiefung Embedded Systems
Woodward Governor Company, Stuttgart, Low-Cost-Ethernet
X2E, Kandel, Most Integration
70
Abbildungsverzeichnis
Abb. 1: Plattformbasierter Entwurf von verteilten
eingebettetenSystemen und Systems-on-Chip..........................12
Abb. 2: Designflow zur Modellierung und Analyse von
eingebetteten Systemen mit UML2/SysML ................................13
Abb. 3: Problemaufteilung in Kommunikationsstruktur und
Kontrollflussgraphen zwischen Kommunikationspunkten ......15
Abb. 4: Werkzeugkette ...........................................................................16
Abb. 5: Verfeinerungs-Flow ....................................................................20
Abb. 6: Abbildung von Funktionsblöcken auf NoC-Plattform ..............22
Abb. 7: Autonomes System on Chip mit zwei Ebenen, einer
herkömmlichen funktionalen Ebene und einer autonomen
Ebene, welche die funktionale Ebene überwacht und
gegebenenfalls rekonfigurieren kann.......................................25
Abb. 8: Aufbau des sph2000-Frameworks mit Schnittstellen zur
Konfiguration und Visualisierung..............................................30
Abb. 9: Druckverteilung bei einer Dieselsimulation nach 1200
und 3000 Zeitschritten................................................................31
Abb. 10: Datenfluss der erstellten Software ..........................................34
Abb. 11: Entwurfsablauf: Gemeinsame Verfeinerung von Architektur
und Compiler getrieben durch Anwendungen.......................36
Abb. 12: Extraktion von Simulationsdaten und
Datenbank-Anbindung ............................................................41
Abb. 13: Modulares Systemmodell mit mehreren RTOSInstanzen...................................................................................43
Abb. 14: BT APs Bluetooth Verbindungspunkte....................................46
Abb. 15: Verifikationsebenen .................................................................49
Abb. 16: Entwurf für die barrierefreie Startseite der Technischen
Informatik .................................................................................52
Abb. 17: Benutzeroberfläche der Anwendung JImPeR zur
Verwaltung von Portraits .........................................................53
71
Kontaktadressen
FZI Forschungszentrum Informatik
Systementwurf in der Mikroelektronik (SiM)
Haid-und-Neu-St 10-14
D-76131 Karlsruhe
Tel.: ++49/721/9654-401
Fax: ++49/721/9654-409
E-Mail: [email protected]
URL: http://www.fzi.de/sim
Universität Tübingen
Fakultät für Informatik
Arbeitsbereich Technische Informatik
Sand 13
D-72076 Tübingen
Tel.: ++49/7071/29-78956
Fax: ++49/7071/29-5062
E-Mail: [email protected]
URL: http://www-ti.informatik.uni-tuebingen.de
72