Learning outcomes of the course unit
The aim of the course is to provide students with the skills and metodologies necessary for the design of systems dedicated to specific applications. The presence of such systems, often "invisible" compared to general-purpose systems such as PCs, is increasing and covers approximately two-thirds of the market of processor-based systems. Examples of such systems are the biomedical equipment units, the automotive systems, equipment for telecom, industrial control systems, set-top-box and a large part of consumer electronics.
The design of such systems requires coordinated use of different skills and technologies in order to identify the best solution under a large variety of aspects such as flexibility, standardization, cost, size, power dissipation and performance, the methodological aspects related to the flow of the design, and so on.
The content of the course considers these needs first systematizing the skills on hardware architectures, communication and basic software used for the realization of embedded systems, with reference to existing standards and to the peculiarities of the system to be designed. It is then shown how to run a design flow leading to an "optimal" solution both in terms of the constraints of traditional project (such as dissipated power or performance), and considering the impact that technological solutions have under the profile of the design flow (eg. cost or development time) The insights related to software development of system for real-time embedded applications is the main object of the course of Real Time Operating Systems, which develops in parallel and complement the course in Embedded Systems.
The course will be offered job placements and topics to be addressed as thesis
Basic courses on design of digital systems and programming
Course contents summary
- Features of an embedded system
- Hardware Architectures for Embedded Systems
- Software Architecture for Embedded Systems
- Analysis and optimization of mixed Hw / Sw architectures
- Case Studies
- Features of an embedded system
- Requirements and constraints of the various application fields
- The trend of the market and of the design
- Development workflows (Hw / Sw)
- Problems of energy consumption optimization
* Hardware Architectures for Embedded Systems
- Features of the softwareexecutors : general-purpose processors, dedicated processors, DSP, Network Processors, Microcontrollers, Multiprocessor Systems and Clusters, many multi-core architectures.
- Communication Architectures: the standard buses, the Network-on- Chip (NoC), field buses, wireless interfaces. Examples.
- Hardware: characteristics of Application Specific IC and their design flow, systems for fast prototyping, reconfigurable systems, examples of off-the-shelf components, wireless sensor networks.
* Software Architecture for Embedded Systems
- Levels of abstraction: assembler, source, library, basic software, middleware
- Tools and environments for software development for embedded applications
- General information on real-time operating systems: general characteristics, the scheduler, the configuration, dynamic resource management
- Analysis of embedded software: formalisms and analysis tools / code profiling, energy optimization
- Examples: RT extensions for Linux, Android, operating systems for sensor networks
* Analysis and optimization of mixed architectures Hw / Sw
- The analysis of the design constraints and the choice of the final architecture.
- Estimates of performance/power_loss at different levels of abstraction.
- Optimization of performance/power/cost at various levels of abstraction.
- Analysis and modeling of thermal and reliability issues with an emphasis towards multi-core architectures with communication-based NoC
- Management and planning of the design of embedded systems: models for the flow of development of the implementation of systems, design-for-resuse, problems of project management.
* Case Studies
- Examples of analysis and realization choices at the various stages of a project. We consider examples related to the development of applications with different granularity, such as sensor networks, clusters, multiprocessor systems and SoC systems based on RFID, always putting out the various trade-offs to be addressed.
- Carlo Brandolese, William Fornaciari, Sistemi embedded, Editore: Pearson, Anno edizione: 2007, ISBN: 9788871923420
Lectures with in-depth studies and case studies.
Students will be asked to develop, on the basis of their interests and skills, a little research or an experimental project
Assessment methods and criteria
One written overall test. Oral presentation of the research conducted or of the project developed.