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