Vinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.xVinaora Nivo Slider 3.x

ARCHITETTURA DEI SISTEMI DIGITALI

SCHEDA DELL'INSEGNAMENTO (SI)
SSD ING-INF/05

 

LAUREA MAGISTRALE IN INGEGNERIA INFORMATICA

ANNO ACCADEMICO: 2022-2023

 

INFORMAZIONI GENERALI - DOCENTE

DOCENTE: NICOLA MAZZOCCA
TELEFONO:
EMAIL: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.

 

INFORMAZIONI GENERALI - ATTIVITÀ

INSEGNAMENTO INTEGRATO (EVENTUALE):
MODULO (EVENTUALE):
CANALE (EVENTUALE):
ANNO DI CORSO (I, II, III): I
SEMESTRE (I, II): I
CFU: 9

 

INSEGNAMENTI PROPEDEUTICI

(se previsti dall'Ordinamento del CdS)

...................................................................................................................................................

 

EVENTUALI PREREQUISITI

Conoscenza dei principi di progettazione delle reti logiche combinatorie e sequenziali e dell’architettura generale di un calcolatore; conoscenze di programmazione.

 

OBIETTIVI FORMATIVI

Il corso si pone l’obiettivo di fornire un’impostazione metodologica e tecnologica per il progetto di architetture dei sistemi digitali dedicati e/o programmabili. Il corso prevede di analizzare le tecniche di progetto con riferimento allo sviluppo di: microcontrollori, processori dedicati, unità di I/O, sistemi di interconnessione, unità aritmetiche, unità dedicate ad applicazioni di IoT e multimediali. Le attività sono svolte con riferimento al linguaggio VHDL, mediante l’impiego di simulatori industriali e di sistemi FPGA (con i relativi ambienti di sviluppo), utilizzati per l’implementazione dei casi di studio proposti durante il corso. Sono inoltre presentati i principali elementi per la realizzazione della documentazione e per il testing di sistemi digitali in applicazioni industriali.

 

RISULTATI DI APPRENDIMENTO ATTESI

(Descrittori di Dublino)

Conoscenza e capacità di comprensione
Lo studente deve dimostrare di conoscere e comprendere le problematiche relative al progetto di sistemi digitali dedicati e programmabili, con riferimento alle metodologie generali di progetto e ai vincoli specifici derivanti dagli strumenti di sviluppo, dai linguaggi di programmazione e dalle piattaforme hardware coinvolti. Deve inoltre dimostrare di comprendere le caratteristiche fondamentali di diversi modelli di sistemi digitali e di saper individuare il modello o i modelli più appropriati per risolvere uno specifico problema di progettazione.

Capacità di applicare conoscenza e comprensione
Lo studente deve dimostrare di essere in grado di eseguire l’intero ciclo di progettazione e implementazione di sistemi digitali di base (ad es. macchine combinatorie o sequenziali notevoli) ed avanzati (macchine aritmetiche, reti di interconnessione, interfacce di I/O, processori), dalla fase di definizione dell’architettura e del comportamento funzionale alla descrizione mediante linguaggio VHDL, fino all’implementazione su dispositivi hardware programmabili (FPGA), utilizzando strumenti e ambienti di sviluppo di ampio utilizzo industriale.

 

PROGRAMMA-SYLLABUS

Principi di progetto di sistemi digitali: Sistemi general purpose, special purpose e embedded. Progettazione dei sistemi digitali: aspetti tecnologici, metodologici e ambienti a supporto. Il ciclo di sviluppo di un sistema digitale. I linguaggi HDL per la descrizione dell’hardware e gli ambienti di simulazione.
Richiami e approfondimenti sul progetto di macchine combinatorie: Realizzazione di funzioni booleane mediante circuiti digitali. Parametri e vincoli di progetto: ritardi, deformazioni dei segnali, dissipazioni di potenza. Minimizzazione di funzioni booleane. Progetto di macchine combinatorie notevoli (multiplexers/demultiplexer, decoder/encoder, reti di transcodifica).
Richiami e approfondimenti sul progetto di macchie sequenziali: Modelli di macchine sequenziali. Macchine impulsive, a livelli, sincrone, asincrone. Progetto di macchine sequenziali notevoli (registri, contatori).
Progetto di sistemi complessi: Modelli architetturali per lo sviluppo di sistemi complessi: sistemi di reti sequenziali, architettura a pipeline, problematiche di tempificazione, modello PO/PC, sistemi a controllo cablato e microprogrammato. Principi di progetto di un processore. Il processore MIC-1.
Protocolli e interfacce di comunicazione fra sistemi: Protocolli di comunicazione sincroni e asincroni; progetto di reti di interconnessione molti a molti; progetto e utilizzo di una interfaccia di comunicazione seriale secondo lo standard RS232.
Progetto di macchine aritmetiche combinatorie e sequenziali: Architetture parallele per addizionatori, sottrattori e moltiplicatori binari. Algoritmi ed architetture sequenziali per la moltiplicazione e la divisione.
Dispositivi per la sintesi di reti logiche: PAL, PLA, FPGA, ASIC. Approfondimento sull’architettura degli FPGA XIlinx delle famiglie Artix-7 e Spartan 3E.
Testing di sistemi digitali: Problematiche e tecniche di testing di dispositivi hardware.
Linguaggio VHDL e ambiente di sviluppo: Stili di descrizione dei sistemi digitali e principali costrutti del linguaggio a supporto. Linee guida per l’implementazione di macchine combinatorie e sequenziali notevoli. Processo di simulazione, sintesi, implementazione di un design digitale e strumenti a supporto. Timing analysis e strumenti a supporto.

 

MATERIALE DIDATTICO

Libro di testo: Conte, Mazzeo, Mazzocca, Prinetto. Architettura dei calcolatori. Edizioni CittàStudi. 2014. ISBN: 9788825173642.
Dispense e presentazioni fornite dal docente relative ad argomenti teorici e applicativi.
Manuali e datasheet dei dispositivi utilizzati per la sintesi dei progetti.
Codice VHDL relativo alle esercitazioni svolte in aula.

 

MODALITÀ DI SVOLGIMENTO DELL'INSEGNAMENTO

Il corso prevede circa il 70% di lezioni frontali in cui vengono affrontati gli argomenti teorici, mentre il restante 30% è riservato a lezioni pratiche ed esercitazioni riguardanti lo sviluppo di codice VHDL per l’implementazione di specifiche macchine e l’utilizzo degli ambienti di sviluppo.
La parte applicativa del corso si avvale di strumenti di sviluppo professionali di cui è disponibile una licenza ad uso gratuito e di board di sviluppo (dotate di FPGA e di diversi dispositivi di I/O) che vengono distribuiti agli studenti per l’implementazione dei propri progetti.

 

VERIFICA DI APPRENDIMENTO E CRITERI DI VALUTAZIONE

a) Modalità di esame:

L'esame si articola in prova:
 Scritta e orale
 Solo scritta   
 Solo orale  
 Discussione di elaborato progettuale 
 Altro  

 

In caso di prova scritta i quesiti sono (*):
 A risposta multipla  
 A risposta libera   
 Esercizi numerici  

  

La verifica dell’apprendimento prevede una prova scritta consistente in esercizi di progetto di sistemi digitali e una prova orale orientata alla verifica della comprensione dei concetti teorici del corso e alla discussione di un elaborato.

 

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.