85730 - Architectures and Firmware M

Academic Year 2022/2023

Learning outcomes

The main objective of the class is to give a practical knowledge of hardware-software platforms and a clear understanding of the design tradeoffs in energy-efficient embedded systems. The class is divided in three blocks of lectures: (I) system-on-chip hardware design - fundamental concepts, (II) microcontroller systems design-hardware and software, (III) Parallel software and programming for advanced embedded systems.

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)

Readings/Bibliography

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