Navigation

Hardware-Software-Co-Design

Dozenten:

Prof. Dr.-Ing. J. Teich

Modulbeschreibung:

Hardware-Software-Co-Design (VU) und
Hardware-Software-Co-Design mit erweiterter Übung (VEU)

Umfang/Stunden:

V2 + Ü2 (zusammen 5 ECTS), mit erweiterter Übung (7,5 ECTS)

Ort und Zeit der Vorlesung:

Dienstag, 10:15 – 11:45 Uhr, Raum H8 Anmeldung über StudOn

23. April 2019: voraussichtlicher Beginn der Vorlesungen

Ort und Zeit der Übungen:

Donnerstag, 10:15 – 11:45 Uhr, Raum 00.152-113 (Behnaz Pourmohseni) Anmeldung über StudOn

Freitag, 10:15 – 11:45 Uhr, Raum 01.255-128 (Franz-Josef Streit) Anmeldung über StudOn

2. Mai 2019: voraussichtlicher Beginn der Übungen

Ort und Zeit der erweiterten Übung:

Ankündigung folgt

Unterlagen (Folien, Übungen, sonstige Dateien):

Alle Unterlagen zur Vorlesung und Übung finden sich in StudOn

Zielsetzung:

Zahlreiche Realisierungen eingebetteter Systeme (z.B. Mobiltelephone, Faxgeräte, Industriesteuerungen) zeichnen sich durch kooperierende Hardware- und Softwarekomponenten aus. Die Popularität solcher Realisierungsformen lässt sich begründen durch 1) die steigende Vielfalt und Komplexität heterogener Systeme, 2) die Notwendigkeit, Entwurfs- und Testkosten zu senken und 3) Fortschritte in Schlüsseltechnologien (Mikroelektronik, formale Entwurfsmethoden). Zum Beispiel bieten Halbleiterhersteller kostengünstige ASICs an, die einen Mikrocontroller und benutzerspezifische Peripherie und Datenpfade auf einem Chip integrieren.

Die Synthese solcher Systeme wirft jedoch eine Reihe neuartiger Entwurfsprobleme auf, insbesondere 1) die Frage der Auswahl von Hardware- und Softwarekomponenten, 2) die Partitionierung einer Spezifikation in Hard- und Software, 3) die automatische Synthese von Interface- und Kommunikationsstrukturen und 4) die Verifikation und Cosimulation. Diese Themen decken damit zusammen mit dem Stoff der einführenden Vorlesung Architektur und Entwurf eingebetteter Systeme (5. Semester) den Bereich eingebetteter Systeme ab.

Inhalt:

  1. Überblick und Vergleich von Architekturen und Komponenten in Hardware/Software-Systemen.
  2. Aufbau eines Compilers und Codeoptimierungsverfahren für Hardware und Software
  3. Hardware/Software-Partitionierung (Partitionierung komplexer Systeme, Schätzungsverfahren, Performanzanalyse, Codegenerierung)
  4. Interfacesynthese (Kommunikationsarten, Synchronisation, Synthese)
  5. Verifikation und Cosimulation
  6. Übungen, Demonstrationen mit rechnergestützten Entwurfswerkzeugen