Insegnamento RETI LOGICHE E VHDL

Nome del corso di laurea Ingegneria informatica ed elettronica
Codice insegnamento A003160
Curriculum Ingegneria informatica
Docente responsabile Federico Alimenti
Docenti
  • Federico Alimenti
Ore
  • 81 Ore - Federico Alimenti
CFU 9
Regolamento Coorte 2022
Erogato Erogato nel 2024/25
Attività Caratterizzante
Ambito Ingegneria elettronica
Settore ING-INF/01
Anno 3
Periodo Secondo Semestre
Tipo insegnamento Opzionale (Optional)
Tipo attività Attività formativa monodisciplinare
Lingua insegnamento ITALIANO
Contenuti Reti Logiche: parametri di merito dei circuiti logici, sistemi numerici, codici, algebra di Boole, analisi e sintesi di reti combinatorie, funzioni aritmetiche, analisi e sintesi di reti sequenziali.
Elementi base di VHDL.
Microcontrollore Arduino: concetti di base ed elementi di programmazione.

Testi di riferimento TESTI CONSIGLIATI:

Slides e dispense disponibili sul sito web UniPG Unistudium.

M. Morris Mano, Charles R. Kime, Tom Martin, “Reti logiche,” 5° Edizione, Pearson, ISBN 889190581X.

F. Fummi, M.G. Sami, C. Silvano, “Progettazione digitale,” McGraw-Hill Education, ISBN 8838663521.

Obiettivi formativi Conoscenze metodologiche: conoscenza di circuiti logici combinatori e sequenziali elementari, del flusso di progettazione dei circuiti digitali, di alcuni circuiti logici programmabili e degli elementi di base del linguaggio VHDL. Microcontrollore Arduino.

Capacità professionali: capacità di progettazione a livello logico di semplici circuiti e sistemi digitali; capacità di utilizzo di semplici strumenti di progettazione di sistemi digitali, analisi delle specifiche.

Prerequisiti Per apprendere in pieno i contenuti di questo insegnamento risultano utili le competenze fornite in “Fondamenti di informatica”, “Architetture dei calcolatori” ed “Elettromagnetismo e Circuiti Elettrici”.
Metodi didattici L’insegnamento è organizzato come segue:
- lezioni frontali in aula su tutti gli argomenti dell’insegnamento;
- esercizi in aula per la preparazione della prova scritta;
- laboratorio Arduino;
- homeworks e tesine.
Altre informazioni Ogni variazione delle informazioni riportate nel Syllabus di questo insegnamento verrà comunicata agli studenti e riportata nelle pagine web dedicate all’insegnamento nel sito https://www.unistudium.unipg.it/ .
Modalità di verifica dell'apprendimento L’esame prevede una prova scritta, punteggio massimo 32/30, tempo a disposizione 120 minuti. La prova scritta è di norma costituita da 2 esercizi sul programma di Reti logiche e da 1 esercizio relativo agli elementi di base di VHDL.

1) Il primo esercizio (punteggio massimo =10) richiede di progettare il circuito logico combinatorio come, per esempio, la rete di selezione (o decodifica) di un sistema di memoria.

2) Il secondo esercizio (punteggio massimo = 11) propone il progetto di una semplice macchina a stati finiti di tipo sincrono. È diviso in due parti, la prima di progetto del diagramma degli stati, la seconda dedicata a ricavare le equazioni delle reti logiche da impiegare nella macchina.

3) Segue una singola domanda a risposta aperta (punteggio massimo = 11) relativa ai concetti fondamentali del linguaggio VHDL, o a elementi del microcontrollore Arduino.

Programma esteso 1) Reti logiche

- Richiami su rappresentazione posizionale dei numeri (sistema numerico decimale e binario). Sistemi numerici ottale ed esadecimale. Conversione tra sistemi numerici. Operazioni aritmetiche su numeri interi. Codici binari e alfanumerici (BCD, Excess 3, Gray, ASCII, 7-segments).

- Esercizi di verifica del profitto sui sistemi numerici.

- Postulati e teoremi dell’algebra di commutazione. Classificazione delle reti logiche. Insiemi funzionalmente completi di reti logiche elementari. Criteri di costo. Semplificazioni a due livelli con l’uso di mappe di Karnaugh, minimizzazione del costo tramite manipolazione algebrica di espressioni (circuiti multi-livello). OR esclusivo e parità. Metodologia classica di progetto di reti logiche combinatori. Progettazione gerarchica. Convertitori di codice. Decoder, encoder, multiplexer. Limiti della metodologia classica di progetto di reti combinatorie: metodologia di progetto con componenti standard MSI e LSI: sintesi con decoder e OR e tramite multiplexer. Funzioni Aritmetiche. Richiami su rappresentazioni in complemento a 1 e in complemento a 2. Sommatori e sottrattori binari. Overflow.

- Esercizi di verifica del profitto su reti logiche combinatorie.

- Circuiti Sequenziali. Latch SR e D, flip-flop master-slave SR e JK, flip flop edge triggered D, JK e T. Classificazione secondo Mealy e Moore. Cenni sulle reti sequenziali asincrone e problema delle alee statiche (glitch). Metodologia di progetto di reti sequenziali sincrone. diagramma degli stati e tabella di flusso, codifica degli stati e tabella delle transizioni, mappa delle variabili di stato e di uscita, espressioni, schema logico. Reti sincrone con ingressi sincroni e asincroni. Moduli elementari di elaborazione sequenziale: registri e contatori. Cenni sull'interfaccia SPI.

- Esercizi di verifica del profitto sulle reti sequenziali sincrone.

- Memorie a semiconduttore. Architettura, Classificazione (RAM, ROM, EPROM, E2PROM, Flash), ROM e loro architettura. Metodologie di indirizzamento (decodifica degli indirizzi).

- Esercizi di verifica del profitto sulla decodifica degli indirizzi delle memorie.

2) Elementi base di VHDL.

- struttura dei linguaggi di descrizione hardware, caratteristiche generali, dichiarazione di entità, costrutti, sintesi automatica.

- esempi di progettazione ed esercizi; homeworks.

3) Laboratorio Arduino.

Introduzione all’uso di dispositivi elettronici di base e dei microcontrollori. Hardware della scheda Arduino Uno. Integrated Development Environment (IDE) e struttura del firmware. Funzioni setup() e loop(). Uscite e Ingressi digitali. Reti di pull-up; funzioni Arduino Uno per il controllo dei pin digitali: digitalRead(); digitalWrite(). Pulse Width Modulation (PWM); impiego di transistori esterni (MOSFET, BJT) per il controllo di carichi di potenza. Funzionamanto dell' ADC, circuito ad approssimazioni successive, pin AREF. Funzioni Arduino Uno per il controllo delle uscite PWM e per la lettura dell'ADC. Protocolli di comunicazione seriali (SPI e I2C). Prime esercitazioni di laboratorio: generazione di PWM e misura della forma d'onda con oscilloscopio digitale. Acquisizione di un segnale analogico (tensione DC) e confronto con il valore letto dal multimetro digitale. Fattore di conversione tra intero resitituito dall'ADC e tensione; medie nel tempo. Transitorio di carica di un condensatore e rappresentazione grafica mediante plotter seriale. Caratteristica del diodo pn ottenuta sfruttando il generatore di PWM (tensione variabile) e 2 input analogici, uno per la tensione e uno per la corrente. Determinazione della risposta impulsiva: caso del circuito RC; confronto con la teoria. Utilizzo dei transistori per la gestione di correnti elevate; MOSFET e BJT con PWM su un carico resistivo. Pilotaggio di carichi induttivi e diodo di ricircolo: caso del relé. Il problema del rimbalzo negli switch meccanici: metodi di debouncing. Interruzioni interne ed esterne. Interruzione associate ai pin esterni; interrupt mode: LOW, HIGH, CHANGE, RISING, FALLING. Routine di servizio delle interruzioni (ISR). Il timer/counter a 8-bit TC0: impiego del timer, prescaler e registri di controllo. Interrupt Mask e Interrupt Flag registers. Misure accurate di tempo; esempio: generazione di un'interruzione ogni ms.

Obiettivi Agenda 2030 per lo sviluppo sostenibile *) Industria, innovazione e infrastrutture
*) Istruzione di qualità
Condividi su