Hardware Software CoDesign Vorbesprechung A. Steininger J. Lechner T. Polzer
A. Steininger TU Vienna 2 Organisatorisches Betreuer: A. Steininger VO Teil T. Polzer, J. Lechner Übungsteil 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 Vienna 3 Voraussetzungen Inhaltlich: gute Kenntnisse in VHDL günstig: HW-Modellierung Kenntnis des FPGA-Design Flow günstig: DiDeVO & DiDeLU Formal: VO, LU und Vorauss. formal unabhängig im Magister-Studienplan Techn. Informatik
A. Steininger TU Vienna 4 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 Vienna 5 Aufgabenstellung Übungsbeispiel Image Processing Ausgangspunkt: Funktionierendes System Optimieren hinsichtlich vordefinierter Kriterien Vergleich und Diskussion der Lösungen Di 22. Juni 2010jeweils – Do 24. Juni 2010im EI8
A. Steininger TU Vienna 6 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: – Anmeldung im myTI
A. Steininger TU Vienna 7 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 Vienna 8 Abwicklung VO 9 fixe Termine: Do Di Do Di jeweils Di :15 bis 14:00 Do im EI8 Do Di Do 24.6.
A. Steininger TU Vienna 9 Termine Vorlesung Do 22.4.VB + allg. Einführung Di 27.4.Erklärung der Übungsaufgabe Do Kostenfaktoren & Constraints, Trends Di Hardware vs. Software Di Trends Do Gastvortrag DI. Scheurer Do Gastvortrag Dr. Armengaud Di 22.6.Diskussion der Übungsergebnisse Do 24.6.Diskussion der Übungsergebnisse
A. Steininger TU Vienna 10 Gastvortrag Dipl.-Ing. Dieter Scheurer Managing Director Gleichmann Electronics Research Austria Debugging mittels Semulator
A. Steininger TU Vienna 11 Gastvortrag Dr. Eric Armengaud Projektleiter Das Virtuelle Fahrzeug (Graz) Detailed simulation on application level
A. Steininger TU Vienna 12 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 Vienna 13 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 Vienna 14 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 Vienna 15 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 Vienna 16 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 Vienna 17 The Current State no unified theory to predict the dynamic properties of a SW running on a given execution platform complex systems are built through a suc- cession of incremental developments exploding validation costs [Joseph Sifakis, Workshop on Strategies for Embedded Systems 2005]
A. Steininger TU Vienna 18 Anwendungsbeispiele Consumer-Products unglaubliche Features kleiner Preis, kleine Größe, lange Akku-Lebensdauer Mobiltelefonie zusätzlich Mixed-Signal Design Automotive extreme Anforderungen bezügl. Sicherheit & Preis
A. Steininger TU Vienna 19 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 Vienna 20 Das zentrale Problem globale Optimierung der Gesamtlösung optimale SW + optimale HW ist zu wenig! => optimale Aufteilung (Partitioning) ist nötig Abhängigkeit von den Randbedingungen hier gibt es derzeit keinen Tool-Support Tools optimieren nur HW bzw. SW allein Problem ist extrem komplex (Lösungsraum!) Wie formuliere ich Optimalität überhaupt? Interfaces zwischen Tools ungeeignet viele Entscheidungen (Partitioning!) trifft ein Entwickler aus Erfahrung
A. Steininger TU Vienna 21 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 Vienna 22 Prinzip einer Optimierung Mittels eines Algorithmus soll eine Kostenfunktion minimiert oder eine 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 Vienna 23 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 Vienna 24 Optimaler Tradeoff Wie vergleicht man quantitativ Speicherverbrauch physikalische Größe Performance Preis
A. Steininger TU Vienna 25 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 Vienna 26 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 Vienna 27 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?