35152 - Hardware-software design of embedded systems M

Course Unit Page

Academic Year 2018/2019

Learning outcomes

Note: This course is taken from the Second-cycle Degree in Ingegneria Elettronica.

Course contents

Part 1 – System-on-chip (SoC) hardware design – fundamental concepts exemplified on reconfigurable SoCs (Xilinx Zynq)

  • Hardware design Languages (HDLs) and their use to specify and implement combinational and sequential circuits. The main concepts are exemplified though the use of the SystemVerilog HDL
  • Hardware design flow and tools – Synthesis, simulation, verification. The main concepts are illustrated with examples using commercial electronic design automation (EDA) tools
  • IP-based design – building a design from pre-designed components.
Part 2 – Microcontroller systems design – Hardware and Software
  • Microcontroller architecture based on the ARM Cortex M family. Microcontroller peripherals. Microcontroller programming for maximum Energy efficiency
  • Analog and Digital sensor interfaces, MEMS sensors – Smart sensors – Wireless sensor Networks. System power management
Part 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 based on the ARMv8 instruction set (Cortex A family).
  • Programming shared memory multicore systems using the OpenMP programming model – with practical examples based on multicore development boards (e.g. Tega's Jetson)


See course web site

Teaching methods

See course web site

Assessment methods

Written exam and Oral exam

Oral Exam

Project activity and oral discussion

Teaching tools

See course web Site

Links to further information


Office hours

See the website of Luca Benini