Embedded systems design (2017/2018)

Course code
Name of lecturer
Franco Fummi
Franco Fummi
Number of ECTS credits allocated
Academic sector
Language of instruction
I sem. dal Oct 2, 2017 al Jan 31, 2018.

Lesson timetable

Go to lesson schedule

Learning outcomes

The aim of this course is the presentation of some design automation techniques for embedded systems covering the entire design flow through modeling, verification, synthesis and testing. The most important design languages are introduced such as the most advanced EDA tools.
At the end of the course, the students will be able to understand the main components of an embedded system and they will know how to:
- identify the best architecture of an ambedded system starting from specification;
- partition among HW and SW an high-level functionality with emphasis on the interaction with network and operating system;
- model, design and verify a complex digital device;
- develop embedded software interacting with IoT and cloud architectures.


* Introduction to embedded systems.
* Embedded systems modeling.
* Embedded systems design alternatives.
* System-level design.
* Transactional Level Modeling (TLM) and AMS by using SystemC.
* Introduction to Assertion-based verification (ABV).
* Platform-based design.
* Embedded software design.
* HW/SW/NET co-simulation.
* Register transfer level (RTL) hardware description languages (VHDL/SystemC).
* Automatic synthesis from RTL designs.
* The problem of testing.
* The problem of dependability.

Reference books
Author Title Publisher Year ISBN Note
Daniel D. Gajski Embedded system design: modeling, synthesis and verification Springer 2009 978-1-4419-0504-8
Soonhoi Ha, Jürgen Teich Handbook of Hardware/Software Codesign (Edizione 1) Springer Netherlands 2017 ISBN 978-94-017-7266-2

Assessment methods and criteria

The exam is composed of two parts: theory and laboratory report.
To pass the exam, the students must show:
- they have understood the principles of embedded system architectures;
- they are able to model and simulate a complex embedded system;
- they are able to design, verify and test a complex digital device;
- they are able to develop embedded software interacting with network and operating system;
- they are able to apply the acquired knowledge to solve application scenarios described by means of exercises, questions and projects.

The final exam consists of a written test containing questions and exercises.
A report of all laboratoty classes must be provided to complete the exam.

Teaching aids