- Docente: Angelo Garofalo
- Credits: 3
- Language: English
- Teaching Mode: In-person learning (entirely or partially)
- Campus: Bologna
- Corso: Second cycle degree programme (LM) in Electronic Engineering (cod. 6716)
-
from Sep 16, 2026 to Dec 16, 2026
Learning outcomes
Aim of this course is to enrich the practical experience of the students on advanced digital hardware design tools and methodologies. The students are expected to work on a practical project to deeper their knowledge in digital hardware design, integration of hardware modules into Systems on Chip, and prototyping of digital systems on FPGA devices. The course will also cover aspects related to interactions between software and hardware components in Systems on Chip.
Course contents
Part 1: Basics of Hardware Design – fundamental concepts
- Hardware Description Languages (HDL) concept and its usage to implement combinational and sequential logic, and Finite State Machines.
- Digital blocks simulation and verification with Mentor Modelsim.
- Mirocontroller architecture based on a synthesizable open-source RISC-V ISA core
- Programming microcontrollers
- Micrcontroller peripherals
- Partitioning of the SoC functionalities between hardware and software
- Extending SoCs with custom memory mapped peripherals
- C Programming
- Digital electronics
- Basics of computer architecture
- Basics of linux operating system
Readings/Bibliography
Logic Design and Verification Using SystemVerilog (Revised): https://www.amazon.com/Logic-Design-Verification-SystemVerilog-Revised/dp/1523364025
Teaching methods
Laboratory exercises
Assessment methods
Laboratory exercises plus oral presentation
Teaching tools
Power point slides and access to the tools necessary for RTL description, and functional simulations.
Office hours
See the website of Angelo Garofalo