The course of “Embedded System” section of the Master in Computer Engineering, positioned at the 1st term of the 2nd year.
This course describes and analyzes the main architectural and technological solutions for Embedded Systems automated design, with particular emphasis on multicore systems, hardware-software co-simulations platforms with reference to specific design metrics like temperature, process variability and aging.
The course of the "Embedded Systems" section of the Master in Computer Engineering, is positioned at the 1st semester of the 2nd year.
This course describes and analyses the main classical and emerging architectural and technological solutions for the automated design of embedded systems, with particular emphasis on multicore systems, heterogeneous architectures, emergent technologies and hardware-software co-simulation platforms.
During the course, we will introduce and discuss specific design metrics such as temperature, process variability and aging that are considered during the engineering process of embedded solutions designed to be applicable in IoT and Industry 4.0 applications.
- Knowledge of the main non-idealities of digital systems caused by technology scaling;
- Ability in the analysis of the non-idealities sources and skills in the design of solutions for compensating such non-idealities;
- Ability in the quantitative evaluation of the effectiveness of the design solutions;
- Knowledge of the main issues related to temperature, aging and process variation in modern embedded systems;
- Skills in the design of an embedded system;
- Knowledge of virtual platforms for the hardware-software co-simulation of an embedded system and the evaluation of the controlling software.
- Knowledge of the main non-idealities of digital systems caused by technology scaling;
- Ability to analyse the sources of non-idealities and skills in designing solutions to compensate for such non-idealities;
- Ability to quantitatively evaluate the effectiveness of design solutions;
- Knowledge of the main issues related to temperature, ageing and process variation in modern embedded systems;
- Ability to design an embedded system contextualised in the design process of an IoT application;
- Knowledge of virtual platforms for hardware-software co-simulation of an embedded system and evaluation of control software;
- Focus on new emerging technologies and computational paradigms well suited for embedded applications and edge computing.
The course requires the knowledge of C programming (data structures and algorithms), as well as basic knowledge of calculus, statistics, digital electronics and digital design, computer architecture and operating systems.
The course requires knowledge of C programming (data structures and algorithms), as well as basic knowledge of in calculus, statistics, digital electronics and digital design, computer architecture and operating systems.
- Introduction to Embedded Systems [2h]
- Architectural templates (single and multicore platforms) [4h]
- Embedded Systems implementation: Single core and multicore [2h]
- Overview of ARM and PowerPC processors: Application domains [2h]
- Embedded Buses: Parallel and Serial Busses. Most common Standards (AMBA, CoreConnect, STBus, I2C, SPI) [4h]
- Embedded Memories and Emerging Technologies Memories [4h]
- Overview of Real-Time Systems and RTOS [2h]
- Multicore Architectures [4h]
- Sensors and actuators [2h]
- Wireless Sensor Networks [6h]
- Design metrics & Optimization Techniques [8h]
o Temperature
o Process variability
o Aging and reliability
o Energy consumption
The course consists of frontal lectures and laboratories.
The course includes
- Introduction to Embedded Systems [2h]
- Architectural templates (single and multi-core platforms) [4h].
- Implementation of embedded systems: Single-Core and Multi-Core [4h]
- ARM and PowerPC processors: Application Domains [4h]
- Embedded buses: Parallel and serial buses. Common standards (AMBA, CoreConnect, STBus, I2C, SPI) [4h]
- Embedded Memory and Emerging Technologies Memory [2h]
- Multicore architectures [4h]
- Sensors and Actuators [2h]
- Wireless Sensor Networks [6h]
- Design Metrics & Optimisation Techniques [8h]
o Temperature
o Process variability
o Ageing and reliability
o Energy consumption
- State-of-the-art hardware-software co-simulation frameworks (such as Renode) [3h]
- Emerging technologies and computational paradigms for edge computing applications [6h]
o Brain-inspired computing
o Neuromorphic architectures
o Neuromorphic sensors
The "laboratories" include project-related activities on several case studies from the state-of-the-art work in the embedded systems domain, carried out in groups with the continuous support of the lecturers.
In addition to regular lectures, several lab classes will be carried out. Such labs will consist of exercises and projects, developed on "evaluation board" and simulation platforms, concerning the subjects discussed in the course.
In addition to the regular lectures, there will be several laboratory sessions. These labs will consist of exercises and projects developed on evaluation board and simulation platforms related to the topics covered in the course.
There is no official textbook. Class handouts and additional material (papers, links to websites, software and manuals) will be made available on the course webpage.
There is no official textbook. Handouts and additional material (papers, links to websites, software and manuals) will be made available on the course website. Scientific papers and documentation will be provided during the course.
Slides; Esercitazioni di laboratorio;
Lecture slides; Lab exercises;
E' possibile sostenere l’esame in anticipo rispetto all’acquisizione della frequenza
You can take this exam before attending the course
Modalità di esame: Prova orale obbligatoria; Elaborato progettuale in gruppo;
Exam: Compulsory oral exam; Group project;
...
The exam consists of two parts: the first is a written test including both numerical exercises and open-answer questions. The time allowed for the test is 2 hours, and the maximum achievable score is 24 points. The second part consists in the execution of projects / reports on the topics covered in the laboratory exercises. The maximum achievable score is 8 points. The final grade is the sum of the scores obtained in the two parts.
Gli studenti e le studentesse con disabilità o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unità Special Needs, al fine di permettere al/la docente la declinazione più idonea in riferimento alla specifica tipologia di esame.
Exam: Compulsory oral exam; Group project;
Compulsory oral exam; group project;
Students will be asked to select and read a technical paper (provided during the course) related to the topics covered in the course and to carry out a design project in a group (2-3 people), developed on a simulation platform and finally on an "evaluation board".
The exam consists of an individual presentation of the selected technical paper and a group presentation of the developed project.
Each group will be asked to submit the developed code as well as a report (6-10 pages, double-spaced) with a research paper-like description of their work, including challenges and motivations, state of the art, proposed solution and discussion of the results obtained. The project will then be presented and discussed by all members of the group in an oral session (either in person or via web conferencing). After the ppt
group presentation (approximately 15 minutes), each group member will be asked questions about the project and their individual contribution to the group activity, as well as general questions about the topics covered in the course.
Each student's final mark will consist of
- Evaluation of the group project (same for all group members, 70%). This evaluation will take into account: the complexity of the problem addressed; the originality and richness of the proposed solution; the methodological and technical correctness of the solution; the completeness and quality of the report; the completeness and quality of the oral presentation.
- Individual oral evaluation (30%). This evaluation takes into account: the quality of the individual presentation; the individual effort and contribution to the group activity; the correctness of the answers to the theoretical and technical questions; the individual communication skills.
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.