SYDIC-Training Course on
Hardware/Software Codesign
Part I: Lectures
Lecture 1: Design of embedded systems (3 hours)
- Characteristics of embedded applications
- The traditional design flow
- What is bad with the traditional design flow
- System-level design of embedded systems
Lecture 2: Architectures and platforms for embedded systems (3 hours)
- General purpose vs. application specific architectures
- Typical architectures for embedded systems
- Architecture specialization techniques
- Component and platform-based Design
- Reconfigurable Systems
Lecture 3: Modeling techniques (3 hours)
- Models of computations
- Synchronous finite state machines
- Time and synchrony
- Globally asynchronous locally synchronous systems
- Codesign finite state machines
- System design with the POLIS system
Lecture 4: Performance analysis and co-simulation (3 hours)
- Static analysis techniques
- Worst case execution analysis
- Micro-architectural modeling and analysis
- Basic co-simulation approaches
- Co-simulation of heterogeneous systems with Ptolemy
Lecture 5: Optimization techniques for design space exploration (2 hours)
- Optimization problems in codesign
- Heuristic techniques
- Simulated annealing
- Tabu search
- Genetic algorithms
Lecture 6: Software synthesis and code generation (2 hours)
- Code selection techniques
- Code selection and optimization for irregular architectures
- Optimal storage assignment for DSP architectures
- Retargetable compilers
Main literature:
- Ahmed A. Jerraya, Jean Mermet, editors: "System-Level Synthesis," Kluwer Academic Publishers, 1999.
- Felice Balarin et. al.: "Hardware-Software Co-design of Embedded Systems. The POLIS Approach," Kluwer Academic Publishers, 1997.
- Lecture notes.
- Selected papers.