Learning objectives
1. Knowledge and understanding.
The course offers a wide knowledge on the topic of Embedded and IoT systems that represent the most widespread application sector for modern electronic devices.
During the course, the main features, the architectures, the most used HW components will be studied.
In particular, content will be offered on:
- Context of the SEs
- Subdivision into sub-systems
- Design flow
- Hw / Sw partitioning, namely the division of the main functions between dedicated circuits and firmware for microprocessors
- Knowledge of the main communication protocols used in the SEs.
2. Ability to apply knowledge and understanding.
The aim of the course is to provide the tools for the design of the Embedded and IoT System. For this reason, ample space will be devoted to design activities.
Furthermore, a fundamental part of the final verification exam consists in the design of a system and its implementation by using a prototype board based on FPGA programmable logic.
In particular, the student must acquire the following skills:
- define the technical specifications necessary for the realization of a project (I / O signals, processing elements, HW / SW partitioning)
- implement in Verilog the circuit part necessary for the development of the project
- program in C language the firmware required to carry out the project
- simulate, implement and test a system through the use of electronic boards based on FPGA.
3. Transversal skills.
During design activities, students are invited to work in small groups.
This facilitates students' development of transversal skills.
They must learn to confront, to solve problems by collaborating, to help each other in complex debugging activities.
They must also cooperate in writing the descriptive report of the final project.
Prerequisites
- - -
Course unit content
- Introduction to Embedded Systems (ES)
- Characteristics of an ES: design constraints, market and architecture
- Notions on ES design: Hw / Sw Partitioning, Hw / Sw Co-Design, Project Flow
- Typical components at the base of the ES: uP, uC, DSP, ASIC, FPGA
- Characteristics of IoT systems
- Examples of communication protocols used in the SEs: RS232 / RS485, SPI, I2C, JTAG, CANbus, Ethernet, TCP / IP, MQTT
- Introduction to the Verilog Hardware Description Language: constructs and basic circuits, arithmetic circuits, finite state machines.
- Introduction to FPGA programmable logics and SoC
- Introduction to the ARM processor
- Programming methods (in C language) oriented to the development of mixed Hw/Sw ES
- Design activities: devise of an Hw and Hw/Sw ES using fast prototyping boards.
Full programme
THEORY (40h):
- Introduction to the course, to the SE and to the design activities (2h)
- Main HW components of SEs (2h)
- The theme of HW and SW partitioning (2h)
- Circuits for I/O and introduction to the JTAG (2h)
- Introduction to SoC and SoC BUS (2h)
- SPI and I2C communication protocols (2h)
- The UART serial port - RS232, RS422, RS485 (2h) protocols
- Field buses: the CANBus protocol (2h)
- Introduction to the IP network and protocols (2h)
- Introduction to FPGA and Digital Design Flow (2h)
- Altera's Programmable FPGA Cyclone5 Logic: features analysis (2h)
- FPGA-Micro mixed architecture (2h)
- The Hardware Verilog description language (2h)
- Examples of circuits made in Verilog: FFD, Registers, Counters, SHR, FSM. (10h)
- Programming methodology oriented to mixed Hw/Sw ES (4h)
DESIGN ACTIVITIES (32):
- Description of the board ALTERA DEMO DE1 SoC (2h)
- The Quartus2 project flow (2h)
- Design and implementation of a Hexadecimal Counter that displays the output on a 7-segment display (4h)
- Design and implementation of a VGA interface (6h)
- Verilog description of the main arithmetic circuits (2h)
- Introduction to the ARM processor (2h)
- ARM based exercises (10h)
- Design activities related to the development of the examination project (14h)
PS: if due to the limitations imposed by Covid it is impossible to distribute and use the ALTERA form, alternative solutions will be considered to be evaluated together with the students.
Bibliography
- Designing Embedded Hardware, 2nd edition; John Catsoulis; O'Reilly Media
- Progetto di sistemi elettronici digitali basati su dispositivi FPGA; Ettore Napoli; Progetto Leonardo; Esculapio Bologna
- Embedded System Design: A Unified Hardware/Software Approach; Frank Vahid and Tony Givargis;
Teaching methods
The course is divided into theoretical lectures and design activities.
The lectures will address issues related to the theoretical knowledge of embedded systems.
In design activities, knowledge related to:
- development of dedicated digital circuits described using Verilog language
- writing of firmware code for microprocessor in C language
Work mode:
- design activities are aimed at the realization of a practical project
- students can work on the assigned project individually or in small groups
- each project must be described by a written report
Assessment methods and criteria
- During the course some exercises will be assigned to be carried out in hours of individual study.
- At the end of the course there will be an oral exam in which the knowledge of the theoretical topics studied in class will be discussed and evaluated in depth.
- The exam will be completed by a project and implementation of a real SE, carried out alone or with a small work group. The project will be discussed with the teacher after the presentation of a technical report.
The final evaluation will be given by a weighted evaluation of all the tests listed above.
Other information
Teaching material and further information can be found on the university portal dedicated to teaching: ELLY
2030 agenda goals for sustainable development
- - -