Skip to main content
If you continue browsing this website, you agree to our policies:
  • Condizioni di utilizzo e trattamento dei dati
Continue
x
e-Learning - UNIMIB
  • Home
  • My Media
  • More
Listen to this page using ReadSpeaker
English ‎(en)‎
English ‎(en)‎ Italiano ‎(it)‎
 Log in
e-Learning - UNIMIB
Home My Media
Percorso della pagina
  1. Science
  2. Master Degree
  3. Informatica [F1802Q - F1801Q]
  4. Courses
  5. A.A. 2024-2025
  6. 1st year
  1. Informatics for Industrial Applications
  2. Summary
Insegnamento Course full name
Informatics for Industrial Applications
Course ID number
2425-1-F1801Q139
Course summary SYLLABUS

Course Syllabus

  • Italiano ‎(it)‎
  • English ‎(en)‎
Export

Obiettivi



L’insegnamento ha l’obiettivo di fornire le competenze necessarie a risolvere le problematiche di progettazione di circuiti digitali su hardware programmabile. Al termine del corso gli studenti saranno in grado di sviluppare in autonomia un’applicazione embedded utilizzando un dispositivo logico programmabile (FPGA) e progettando circuiti logico digitali, effettuandone il debugging a livello di simulazione e utilizzando specifici strumenti di Computer Aided Design (CAD) per la simulazioni di circuiti digitali progettati attraverso Hardware Description Languages.



Contenuti sintetici

1 L'algebra di Boole
2 Circuiti digitali combinatori
3 Circuiti digitali sequenziali
4 Progettazione di Circuiti Digitali tramite Macchine a Stati Finiti
5 Introduzione al VHDL (Very High Speed Integrated Circuits Descritpion Language)
6 Circuiti combinatori e Sequenziali in VHDL
7 Progettazione di Circuiti digitali in VHDL
8 Programmazione di FPGA

Programma esteso

Codici Binari
o Introduzione e Notazione Posizionale
o Codici (Octal, Hexadecimal e Hamming Distance)
o Aritmetica Binaria

Operatori e Componenti Logici
o Operatori Logici Elementari, Teoremi di De Morgan e del Consenso
o Sintesi Combinatoria attraverso Sum-of-Products e Product-of-Sums
o Mappe di Karnaugh , Alee Statiche e Dinamiche

Logica Combinatoria
o Encoder, Decoder, Multiplexer, Demultiplexer, Comparatori, Parity Checker e Generatori di Parità
o Sommatori (Half-Adder e Full-Adder)

Logica Sequentiale
o Elementi di Memoria a 1 bit asincroni: Latches: D-Latch, SR-Latch
o Elementi di Memoria a 1 bit sincroni:Flip-Flop: D-Flip-Flop, JK-FLIP-FLOP, T-Flip-Flop
o Registri e Contatori
o Esercizio con il tool LTSPICE

Finite-State-Machines (FSM)
o Macchine di Mealy e Moore
o Esercizi

Il VHDL come Linguaggio di Descrizione Hardware
o Dispositivi Logici Programmabili e Dedicated CMOS Design (ASIC)
o VHDL. Un semplice esempio di progetto
o Dichiarazione di Entity e Architecture. Assegnazioni e Istruzioni concorrenti
o Il process in VHDL

Logica Combinatoria in VHDL
o Bus Slice e Swap, Operazioni logiche elementari, Stadi Logici Funzionali
o Decoder, Encoder, Multiplexer, Demultiplexer
o Stadi Logici Funzionali avanzati
o Sommatori (Half-Adder, Full-Adder)

Metodi di Progetto in VHDL
o Descrizioni VHDL e approcci possibili
o Data Flow (key word ‘<=’), Sequential (key word ‘process’), Structural (key word ‘component’)
o Segnali e Variabili
o Esercizio 1 – Full-adder
o Esercizio 2 – Binary-BCD Converter

Elementi di Memoria
o Latch D, SR
o Flip-Flop D, JK, T
o Master-slave
o Registri (PIPO, SIPO, SISO)
o Esercizio 3 – Latch e Flip-flop
o Esercizio 4 – Registri in VHDL
o Esercizio 5 – Contatori in VHDL
Esempio di Progetto di Macchine a Stati Finiti in VHDL

Serial Interfaces (I2C and SPI)

Esercizio in laboratorio con Opal-Kelly XEM6010 (Xilinx® Spartan 6 FPGA)

Prerequisiti

Programmazione C, programmazione a livello macchina (gestione I/O e interruzioni).

Modalità didattica

Le attività previste sono:

  • 27 ore di LEZIONI FRONTALI in modalità erogativa, in cui saranno presentati i concetti fondamentali della progettazione logica digitale.
  • 12 ore di ESERCITAZIONI in modalità erogativa, in aula con presentazione e discussione di esempi di circuiti digitali descritti in VHDL/Verilog.
  • 9 ore di LAVORO di GRUPPO in modalità interattiva, per sviluppo e simulazione di componenti e utilizzo di FPGA in semplici applicazioni.

La frequenza è fortemente raccomandata ed è essenziale per tutte le attività.

Il corso verrà erogato in Italiano.

Materiale didattico

- Appunti e Slide fornite dal docente
- "Introduzione al Progetto di Sistemi Digitali." Donzellini, Giuliano, Luca Oneto, Domenico Ponta, and Davide Anguita. (2017): 1-474.
- “Circuit Design with VHDL” Volnei A. Pedroni MIT Press

Periodo di erogazione dell'insegnamento

Secondo Semestre

Modalità di verifica del profitto e valutazione

L'esame consta di una PROVA SCRITTA e di una PROVA ORALE.

La PROVA SCRITTA è composta da TRE QUESITI:
Il quesito 1 richiede di studiare e/o sintetizzare semplici reti combinatorie.
Il quesito 2 verte sulla sintesi di semplici reti sequenziali.
Il quesito 3 si basa sulla sintesi di sistemi digitali misti (con componenti combinatori e componenti sequenziali).

Le competenze e conoscenze richieste per il superamento della prova scritta sono:
QUESITO 1

  • algebra di Boole, operatori logici e componenti logici di base;
  • sintesi di circuiti tramite mappa di karnaugh e/o Somme di Prodotti (Prodotti di Somme);
    QUESITO 2
  • schemi di base di elementi di memoria e logica sequenziale;
    QUESITO 3
  • Macchine a Stati Finiti e Circuiti Digitali Sequenziali

I CRITERI di valutazione della prova scritta sono:

  • correttezza formale e analitica dei circuiti logici soluzione dei quesiti proposti;
  • il livello di sintesi e chiarezza di esposizione dei circuiti logici.

La PROVA ORALE sarà caratterizzata da due fasi:

  • Colloquio di discussione della prova scritta;
  • Colloquio sulla Relazione relativa al LAVORO di GRUPPO per lo sviluppo di componenti e l’utilizzo di FPGA in semplici applicazioni.

Competenze e Criteri di valutazione della prova orale si basano sulla capacità di discutere criticamente la prova scritta (per esempio commentando correttamente le scelte circuitali in risposta ai quesiti e proponendo ulteriori interpretazioni di tali soluzioni).

Orario di ricevimento

Lunedi 10-12

Sustainable Development Goals

IMPRESE, INNOVAZIONE E INFRASTRUTTURE
Export

Aims

The course aims to provide the skills necessary to solve the problems of digital circuits design on programmable hardware. At the end of the course, students will be able to independently develop an embedded application using a programmable logic device (FPGA) and designing digital logic circuits, debugging them at the simulation level and using specific tools of Computer Aided Design (CAD) for the simulation of digital circuits designed through Hardware Description Languages.

Contents

1 Boole Algebra
2 Combinatory Digital Circuits
3 Sequential Digital Circuits
4 Finite-State-Machine Digital Circuit Design
5 Introduction to VHDL (Very High Speed Integrated Circuits Descritpion Language) Introduction
6 Combinatory and Sequential Circuits in VHDL
7 Design of Digital Circuits in VHDL
8 FPGA Design

Detailed program

Binary Code
o Introduction and Positional Notation
o Octal and Hexadecimal Code, Hamming Distance
o Binary Arithmetic (sum, difference, product and division)

Logic Operators and Logical Components
o Basic Logical Operators, De Morgan and Consensus theorems
o Combinatory Synthesis by Sum-of-Products or Product-of-Sums
o Karnaugh Maps, Static and Dynamic Hazards

Combinatory Logic
o Encoder and Decoder, Multiplexer and Demultiplexer, Comparator, Parity Checker and Generator
o Half-Adder and Full-Adder

Sequential Logic
o Latches: D-Latch, SR-Latch
o Flip-Flop: D-Flip-Flop, JK-FLIP-FLOP, T-Flip-Flop
o Registers and Counters
o Exercises
o LTSPICE Exercise

Finite-State-Machines (FSM)
o Mealy and Moore FSM
o Exercises

The VHDL as Hardware Description Languages: an Overview
o Programmable Logic Devices, Dedicated CMOS Design (ASIC)
o VHDL. A simple design example
o Entity Declaration. Architecture Declaration, Assignments, Concurrent Statements
o The Process

Combinatory Logic in VHDL
o Bus Slice and Swap, Basic Logical Operations, Functional Logical Stages
o Decoder, Encoder, Multiplexer, Demultiplexer
o Advanced Functional Logical Stages
o Half-Adder, Full-Adder

VHDL Design Methods
o VHDL Descriptions, Three possible approaches
o Data Flow (key word ‘<=’), Sequential (key word ‘process’), Structural (key word ‘component’)
o Signals and Variables
o Exercise 1 – Full-adder
o Exercise 2 – Binary-BCD Converter

Memory Components
o Latch D, SR
o Flip-Flop D, JK, T
o Master-slave
o Registers (PIPO, SIPO, SISO)
o Exercise 3 – Latch e Flip-flop
o Exercise 4 – Registers in VHDL
o Exercise 5 – Counters Design in VHDL
A Design Example of a FSM in VHDL

Serial Interfaces (I2C and SPI)

Lab Exercise with Opal-Kelly XEM6010 (Xilinx® Spartan 6 FPGA)

Prerequisites

C Programming, machine-level programming (I / O management and interrups).

Teaching form

The planned activities are:

  • 27 hours of LECTURES in delivery mode, in which the fundamental concepts of digital logic design will be presented.
  • 12 hours of EXERCISES in delivery mode, in the classroom with presentation and discussion of examples of digital circuits described in VHDL/Verilog.
  • 9 hours of GROUP WORK in interactive mode, for development and simulation of components and use of FPGAs in simple applications.

Attendance is strongly recommended and is essential for all activities.

The course will be delivered in Italian.

Textbook and teaching resource

- Notes and slides
- "Introduction to digital systems design". Donzellini, Giuliano, Luca Oneto, Domenico Ponta, and Davide Anguita. Cham: Springer, 2019.
- “Circuit Design with VHDL” Volnei A. Pedroni MIT Press

Semester

Second Semester

Assessment method

The exam consists of a WRITTEN TEST and an ORAL TEST.

The WRITTEN TEST consists of THREE QUESTIONS:
Question 1 requires studying and/or synthesizing simple combinatorial networks.
Question 2 focuses on the synthesis of simple sequential networks.
Question 3 is based on the synthesis of mixed digital systems (with combinatorial components and sequential components).

The skills and knowledge required to pass the written test are:
QUESTION 1

  • Boolean algebra, logical operators and basic logical components;
  • synthesis of circuits via Karnaugh map and/or Sums of Products (Products of Sums);
    QUESTION 2
  • basic schematics of memory elements and sequential logic;
    QUESTION 3
  • Finite State Machines and Sequential Digital Circuits

The evaluation CRITERIA for the written test are:

  • formal and analytical correctness of the logical circuits solution of the proposed questions;
  • the level of synthesis and clarity of exposition of the logic circuits.

The ORAL EXAM will be characterized by two phases:

  • Interview to discuss the written test;
  • Interview on the Report on GROUP WORK for the development of components and the use of FPGAs in simple applications.

Skills and evaluation criteria of the oral test are based on the ability to critically discuss the written test (for example correctly commenting on the circuit choices in response to the questions and proposing further interpretations of these solutions).

Office hours

Monday 10-12

Sustainable Development Goals

INDUSTRY, INNOVATION AND INFRASTRUCTURE
Enter

Key information

Field of research
ING-INF/05
ECTS
6
Term
Second semester
Activity type
Mandatory to be chosen
Course Length (Hours)
48
Degree Course Type
2-year Master Degreee
Language
Italian

Staff

    Teacher

  • Marcello De Matteis
    Marcello De Matteis

Students' opinion

View previous A.Y. opinion

Bibliography

Find the books for this course in the Library

Enrolment methods

Manual enrolments
Self enrolment (Student)

Sustainable Development Goals

INDUSTRY, INNOVATION AND INFRASTRUCTURE - Build resilient infrastructure, promote inclusive and sustainable industrialization and foster innovation
INDUSTRY, INNOVATION AND INFRASTRUCTURE

You are not logged in. (Log in)
Policies
Get the mobile app
Powered by Moodle
© 2025 Università degli Studi di Milano-Bicocca
  • Privacy policy
  • Accessibility
  • Statistics