Linköping University: Students Alumni Trade and Industry/Society Internal Search

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.
Back to the course homepage