Academic Year 2019/2020
- Docente: Luca Benini
- Credits: 6
- SSD: ING-INF/01
- Language: English
- Teaching Mode: Traditional lectures
- Campus: Bologna
-
Corso:
Second cycle degree programme (LM) in
Computer Engineering (cod. 0937)
Also valid for Second cycle degree programme (LM) in Electronic Engineering (cod. 0934)
Second cycle degree programme (LM) in Automation Engineering (cod. 8891)
Second cycle degree programme (LM) in Telecommunications Engineering (cod. 9205)
Second cycle degree programme (LM) in Advanced Automotive Electronic Engineering (cod. 9238)
Learning outcomes
The class covers embedded system architectures and design methodologies and tools. The focus is on programmable (hardware-software) system. The main goal of the class is to provide an overview on several classes of systems and practical knowledge on how to design hardware and software for representative examples of state-of-the-art embedded systems used in a number of different industry segments.
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 exemplifiedthough 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.
- 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
- 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)
Readings/Bibliography
See course web site
Teaching methods
See course web site
Assessment methods
Written exam and optional oral exam (possibly as a project discussion on a project agreed with instructor)
Teaching tools
See course web site on
Office hours
See the website of Luca Benini