Course Unit Page

Academic Year 2022/2023

Learning outcomes

The main goal of the class is to enable students to specify, configure, program and verify complex embedded electronic systems for the Internet of Things and for Artificial Intelligence. The importance of hardware-software interaction will be emphasized, as all practical IoT and AI systems are programmable. The class will provide working knowledge on state-of-the-art hardware platforms used in embedded AI and IoT applications - spanning a wide range of power and cost vs. performance tradeoffs. A detailed coverage will be given of software abstractions and methodologies for developing applications leveraging the capabilities of the above mentioned platforms. Design automation tools and flows will also be covered.

Course contents

1. Introduction to Hardware/Software design and System-on-Chip Architectures.

2. Microcontroller systems design – Hardware and Software

  • Microcontroller architecture based on the ARM Cortex M family and RISC-V. Microcontroller peripherals. Microcontroller programming for maximum Energy efficiency
  • Analog and Digital sensor interfaces, MEMS sensors – Smart sensors – Wireless sensor Networks. System power management
3. Parallel Architecture and Parallel programming for advanced embedded systems
  • Multicore architectures and their use in energy efficient embedded Systems with examples from consumer and industrial market segments.
  • Programming shared memory multicore systems using the OpenMP programming model – with practical examples based on open-source multicore RISC-V system (PULP platform)


Refer to Virtuale

Teaching methods

Frontal lectures for theory. In addition, there will be in-class hands-on practical lectures requiring a laptop.

Assessment methods

Written exam with optional oral discussion (or presentation of a project)

Teaching tools

Refer to Virtuale

Office hours

See the website of Luca Benini