Vai al contenuto principale
Se prosegui nella navigazione del sito, ne accetti le politiche:
  • Condizioni di utilizzo e trattamento dei dati
Prosegui
x
e-Learning - UNIMIB
  • Home
  • My Media
  • Altro
Ascolta questa pagina con ReadSpeaker
Italiano ‎(it)‎
English ‎(en)‎ Italiano ‎(it)‎
 Login
e-Learning - UNIMIB
Home My Media
Percorso della pagina
  1. Area di Scienze
  2. Corso di Laurea Magistrale
  3. Informatica [F1802Q - F1801Q]
  4. Insegnamenti
  5. A.A. 2024-2025
  6. 1° anno
  1. Informatica Industriale
  2. Introduzione
Insegnamento Titolo del corso
Informatica Industriale
Codice identificativo del corso
2425-1-F1801Q139
Descrizione del corso SYLLABUS

Syllabus del corso

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

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
Esporta

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
Entra

Scheda del corso

Settore disciplinare
ING-INF/05
CFU
6
Periodo
Secondo Semestre
Tipo di attività
Obbligatorio a scelta
Ore
48
Tipologia CdS
Laurea Magistrale
Lingua
Italiano

Staff

    Docente

  • Marcello De Matteis
    Marcello De Matteis

Opinione studenti

Vedi valutazione del precedente anno accademico

Bibliografia

Trova i libri per questo corso nella Biblioteca di Ateneo

Metodi di iscrizione

Iscrizione manuale
Iscrizione spontanea (Studente)

Obiettivi di sviluppo sostenibile

IMPRESE, INNOVAZIONE E INFRASTRUTTURE - Costruire una infrastruttura resiliente e promuovere l'innovazione ed una industrializzazione equa, responsabile e sostenibile
IMPRESE, INNOVAZIONE E INFRASTRUTTURE

Non sei collegato. (Login)
Politiche
Ottieni l'app mobile
Powered by Moodle
© 2025 Università degli Studi di Milano-Bicocca
  • Privacy
  • Accessibilità
  • Statistiche