Hardware Software CoDesign
Vorbesprechung
A. SteiningerJ. LechnerT. Polzer
A. Steininger TU Vienna2
OrganisatorischesBetreuer: A. Steininger VO TeilT. Polzer, J. Lechner Übungsteil Email: [email protected]
Betreuung:„Sprechstunden“ nach Vereinbarung
VO Ort:
EI8, Gußhausstraße
VO Zeit: Geblockt von Do,22.04 bis Mi,27.05 Dienstag: 12:15 bis 14:00 Donnerstag: 12:15 bis 14:00
Anmeldung erforderlich
A. Steininger TU Vienna3
Voraussetzungen
Inhaltlich:gute Kenntnisse in VHDLgünstig: HW-Modellierung
Kenntnis des FPGA-Design Flowgünstig: DiDeVO & DiDeLU
Formal:VO, LU und Vorauss. formal unabhängigim Magister-Studienplan Techn. Informatik
A. Steininger TU Vienna4
Laborübung
Ziel: Hardware Software Codesign anhand eines
praktischen Beispiels erfahren
Zeiteinteilung: (weitgehend) frei
Arbeitsplatz: Remote und im TI-Labor (Download)
Gruppen: 3 Studenten pro Gruppe
Beginn: Di 27. April 2010 (Einführung)
Abgabe: Mo 21. Juni 2010
A. Steininger TU Vienna5
Aufgabenstellung
Übungsbeispiel „Image Processing“ Ausgangspunkt: Funktionierendes System
Optimieren hinsichtlich vordefinierter
Kriterien
Vergleich und Diskussion der Lösungen Di 22. Juni 2010 jeweils 12.00 – 14.00 Do 24. Juni 2010 im EI8
A. Steininger TU Vienna6
Benotung
Vorlesung: Teilnahme an der Diskussion Besprechung der Lösung aus der LU
Laborübung: praktisches Ergebnis Besprechung der Lösung aus der LU
Abgabegespräche: 22.06.2010 – 30.06.2010 Anmeldung im myTI
A. Steininger TU Vienna7
Vorlesung
Inhalte: Kostenfaktoren Optimierung Hardware vs. Software
interaktive Gestaltung: Frontalvorträge vorbereitete “Hausübung” gemeinsame Diskussionen Praxisvorträge Präsentation der Ergebnisse der LU
A. Steininger TU Vienna8
Abwicklung VO
9 fixe Termine: Do 22.4. Di 27.4. Do 29.4. Di 11.5. jeweils Di 18.5. 12:15 bis 14:00 Do 20.5. im EI8 Do 27.5. Di 22.6. Do 24.6.
A. Steininger TU Vienna9
Termine Vorlesung
Do 22.4. VB + allg. Einführung Di 27.4. Erklärung der Übungsaufgabe Do 29.4. Kostenfaktoren & Constraints, Trends Di 11.5. Hardware vs. Software Di 18.5. Trends Do 20.5. Gastvortrag DI. Scheurer Do 27.5. Gastvortrag Dr. Armengaud Di 22.6. Diskussion der Übungsergebnisse Do 24.6. Diskussion der Übungsergebnisse
A. Steininger TU Vienna10
Gastvortrag
Dipl.-Ing. Dieter Scheurer Managing Director Gleichmann Electronics Research Austria
„Debugging mittels Semulator“
A. Steininger TU Vienna11
Gastvortrag
Dr. Eric Armengaud Projektleiter Das Virtuelle Fahrzeug (Graz)
„Detailed simulation on application level“
A. Steininger TU Vienna12
Vorstellungen zur LVA
Was ist überhaupt HW/SW Codesign?
Was lerne ich in dieser LVA?
Wofür brauche ich das Wissen später?
A
A. Steininger TU Vienna13
Was ist HW/SW Codesign?
paralleler Entwurf HW/SW schneller Bugs früher sichtbar höherer Abstraktionsgrad
Partitionierung HW/SW übergreifende Optimierung
Integration v. Systemen aus/mittels HW/SW systematische Schnittstellendefinition Komplexitätsbewältigung
A. Steininger TU Vienna14
Embedded Systems: Challenges
„An exploding number of embedded reactive heterogeneous components in mass-market products“
„Massive seamless integration of heterogeneous components in a real-world environment“
„Building systems of guaranteed functionality and quality at an acceptable cost is a major technological and scientific challenge“
[Joseph Sifakis, Workshop on Strategies for Embedded Systems 2005]
A. Steininger TU Vienna15
The Constraints
Dependability safety, security, availability
Autonomy no humans in the loop
Low resource consumption memory, power, energy
Physical constraints weight size, heat dissipation, …
Market positioning optimal cost/quality, time to market
[Joseph Sifakis, Workshop on Strate-gies for Embedded Systems 2005]
A. Steininger TU Vienna16
The System-Centric Approach
Joint Design (HW, SW, Environment) to determine cost / quality tradeoffs
Requires a combination of competencies in SW, auto-mation, networks, electronics, man-machine interfaces
=> training, education
[Joseph Sifakis, Workshop on Strategies for Embedded Systems 2005]
A. Steininger TU Vienna17
The Current State
no unified theory to predict the dynamic properties of a SW running on a given execution platformcomplex systems are built through a suc-cession of incremental developmentsexploding validation costs
[Joseph Sifakis, Workshop on Strategies for Embedded Systems 2005]
A. Steininger TU Vienna18
Anwendungsbeispiele
Consumer-Productsunglaubliche Featureskleiner Preis, kleine Größe, lange Akku-Lebensdauer
Mobiltelefoniezusätzlich Mixed-Signal Design
Automotiveextreme Anforderungen bezügl. Sicherheit & Preis
A. Steininger TU Vienna19
Die Herausforderungen
Miniaturisierung mixed signal, dynamische Rekonfiguration,
Energiebudget Rekonfiguration, power management,…
Komplexität Interfaces, formale Verifikation
Produktivität / Time to market Abstraktionsebenen, Automatisierung
Fehlertoleranz
A. Steininger TU Vienna21
Ziel der VO + LU
Bewusst-Machen der Problematik Analysieren der Trade-offs Verständnis für den Optimierungsprozess, dessen Kriterien und Randbedingungen Vermitteln erster eigener Erfahrungen
Non-Target: Kennenlernen bestehender Tools
A. Steininger TU Vienna22
Prinzip einer Optimierung
Mittels eines Algorithmus soll
eine Kostenfunktion minimiert odereine Nutzenfunktion maximiert werden
und zwar unter Einhaltung von Randbedingungen
Als Voraussetzung müssen daher Kosten / Nutzen meßbar und alle Randbedingungen bekannt sein
A. Steininger TU Vienna23
Erfassen der Eigenschaften
die relevante Eigenschaften müssen erfasst werden quantitativ, hinreichend genau schon früh im Design Flow
Ist das realistisch möglich? Tools erstellen Schätzungen auf Basis von
vereinfachten Modellen Heuristiken
A. Steininger TU Vienna24
Optimaler Tradeoff
Wie vergleicht man quantitativ Speicherverbrauch physikalische Größe Performance Preis
A. Steininger TU Vienna25
Gegebene Plattform
Typisches Szenario gegeben ist Prozessor => SW FPGA für Spezialfunktionen => HW
Reales Problem optimale Nutzung des vorh. Prozessors
(„Einsparen“ bringt keinen Gewinn!) optimale Nutzung des FPGA Es geht um ein „optimales“ Verschieben von
Tasks zwischen FPGA und Prozessor
A. Steininger TU Vienna26
Diskussion Vor-Auswahl
Wählen Sie für die folgende Diskussion einen der Anwendungsbereiche (jede Gruppe eines) Automotive Telekom Industrie-Automation Raumfahrt Multimedia (MP3, Camcorder,…) Telebanking
A. Steininger TU Vienna27
Diskussion Fragen
Welche Anforderungen an das Produkt (= Embedded System, nicht Gesamtprodukt) bestehen? Was fällt in die Klasse „Kosten“/“Nutzen“ ? Was fällt in die Klasse Randbedingung ? Was ist speziell an Ihrem Anwendungsbereich?
Wie kann man sie zum Zeitpunkt des Partitioning quantitativ erfassen?