cod. 1010581

Academic year 2023/24
3° year of course - First semester
- Stefano CASELLI
Academic discipline
Sistemi di elaborazione delle informazioni (ING-INF/05)
A scelta dello studente
Type of training activity
Student's choice
48 hours
of face-to-face activities
6 credits
hub: PARMA
course unit

Learning objectives

Course objective is to equip students with basic skills to address the design of digital systems comprising hardware and software components. These systems are increasingly relevant today for modern computer engineering systems interacting with the environment, and include Embedded, Cyber-physical, Edge, and IoT systems.
Emphasis is placed on the design and use or reuse of hardware and software components with standard and well-documented interfaces, adopting methodologies and patterns widely used in research and industry. Within the course, these components are then integrated into architectures suitable for specific case studies. Thereby, the course promotes development of problem solving skills, including partitioning in sub-problems, mapping of functions onto hardware and software components, adoption of proper methodologies to address sub-problems and individual component design.
A design project is assigned to students (typically in pairs), which will be guided in its development using hardware and software components provided by the instructor. This project will help the acquisition of skills and increase student’s self-confidence in designing hardware, software, and mixed technology digital systems. Students will be able to leverage these skills in advanced courses offered in the Computer Engineering Master degree classes as well as on the job.

At the end of the course, students will be able to directly apply the learned techniques in the following contexts:
- Design of combinational and sequential circuits using elementary components and functional modules such as registers, counters, memories, programmable logic devices;
- Acquisition and processing of different types of signals for sensor interfacing to digital systems;
- Using microcontrollers for sensor data acquisition, local processing, and data transmission via wireless network;
- Design of dedicated embedded or cyber-physical systems by decomposition into functional modules and function allocation to appropriate components according to suitable performance metrics.


Basic analysis and synthesis techniques for combinational and sequential digital systems (e.g. Karnaugh maps, state transition tables, digital logic implementation based on gates and flip-flops).

Programming in C or C++ language (required for labs and final project).

Course unit content

Introduction to digital systems interacting with the environment.
Computer as components. Examples of Embedded Systems, Cyber-physical Systems, Edge Systems, IoT Systems. Partitioning of hardware and software functions.

Models for embedded systems design.
State machines. State machine composition. Concurrent models. Petri nets.

Design and implementation techniques.
Logic synthesis of digital control units. State machine synthesis using standard MSI, LSI, and programmable components.
Embedded computational platforms. Microcontrollers. Memory architectures. I/O features.
Software for embedded systems. Embedded operating systems. Software patterns for monitoring and control applications. State machine implementation.
Real-time systems. Real-time scheduling algorithms. Static and dynamic scheduling. Protocols for concurrent access to shared resources.

Full programme

- - -


M. Wolf, "Computers as Components: Principles of Embedded Computing System Design", 4th ed., Morgan-Kaufmann, 2016.

E.A. Lee, S.A. Seshia, "Introduction to Embedded Systems", 2nd ed., MIT Press, 2017.

Instructor's slides available in the Elly web page of the class.

Teaching methods

Physical presence of students in classroom and lab required.

36 hours of lectures and exercises in classroom; 12 hours of presentation of development tools and guided project development. Students are accompanied into designing a microcontroller-based sensor acquisition system. Students must complete the implementation of a working system, which will be evaluated as part of the exam.

Assessment methods and criteria

Written test + project discussion.
Projects are assigned during Labs and must be operational and working during final discussion.
Projects are developed by students in pairs.

Other information

Course web site available at: for registered students.
Students must register to the course web site to receive all communications from the instructor.

Teaching material is reserved to students regularly attending classes. Its redistribution or publishing outside the class is prohibited.

Teaching material is published on the web site as course progresses.