ITCS Erasmo da Rotterdam Finalità Obiettivi cognitivi Curricolo formativo modulare sulla base delle competenze accertate (CFMCA) Disciplina: Sistemi Digitali Modulo n°: 3 Il terzo modulo di Controlli conclude la prima fase di approccio all’analisi e sintesi dei sistemi digitali semplici e si propone come finalità fondamentale quella di rafforzare le conoscenze di base acquisite nei due moduli precedenti e di estenderle in un ambito metodologico più generale nel quale, partendo da una descrizione ad alto livello del sistema e impiegando una piattaforma di sviluppo si possa espletare l’intero ciclo di progetto usando strumenti di CAD elettronico. Di fatto questo modulo funge anche da raccordo tra lo studio dei sistemi digitali in logica cablata e quelli programmabili sia dal punto di visto dell’approccio metodologico sia dei contenuti. Infatti partendo dalla sintesi canonica di reti combinatorie e sequenziali, realizzate con circuiti fondamentali di tipo generale, si giunge alla sintesi ad alto livello implementata su circuiti resi specifici per una particolare applicazione grazie alla possibilità di essere programmati dall’utente. Insomma, in questo passo intermedio lo studente impara a programmare e configurare gli algoritmi direttamente sull’hardware del sistema impiegando un metodo del tutto analogo a quello che utilizza poi per realizzare il software. Il tema principale del rapporto circolare “SPECIFICHE → MODELLO → CIRCUITO → VERIFICA → SPECIFICHE” si sviluppa nel terzo modulo con l’introduzione di un fattore importante quale l’impiego degli strumenti di simulazione e sintesi automatica, tramite computer, pur rimanendo nella stessa classe di sistemi. Lo studente avrà l’opportunità di conoscere il VHDL, le tipologie e la struttura delle principali famiglie di circuiti dedicati programmabili e operare in un ambiente di lavoro nel quale, utilizzando un sistema di sviluppo integrato EDA (Electronic Design Automation), potrà controllare il ciclo completo di progetto: dalla descrizione ad alto livello fino alla realizzazione effettiva del circuito, includendo la fase di simulazione e di verifica a priori del suo corretto funzionamento. Rafforzare le conoscenze apprese riguardo all’analisi e alla sintesi canonica di circuiti digitali sia combinatori che sequenziali. Acquisire l’idea della molteplicità delle soluzioni possibili ad un particolare problema circuitale e saper scegliere in funzione di un criterio di convenienza prestabilito. Apprendere il rapporto tra descrizione, modello e implementazione tecnologica di un circuito elettronico digitale. Conoscere le tecniche per la descrizione logica ad alto livello di un circuito. Comprendere le architetture dei componenti digitali ASIC programmabili dall’utente. Mod. 3 - Controlli: Finalità e obiettivi -1- Iniziare ad acquisire la cognizione dei costi effettivi associati alla realizzazione di un progetto, imparando a distinguere i costi non ricorrenti da quelli ripetitivi. Acquisire una pratica di lavoro basata anche sull’uso del personal computer come strumento di progettazione sia in fase di sintesi che di analisi e verifica dei risultati conseguiti. Obiettivi trasversali Acquisire le capacità logiche di individuazione delle relazioni di causa effetto nella modellizzazione di un sistema fisico Saper utilizzare gli schemi a blocchi per rappresentare relazioni tra enti interagenti Saper collaborare correttamente in una attività di gruppo sviluppando, comunque, una propria autonomia di lavoro Contribuire ad acquisire dimestichezza con gli strumenti fondamentali di un laboratorio di elettronica nella realizzazione di semplici circuiti, nella misura delle grandezze coinvolte e nella valutazione del suo corretto funzionamento Saper utilizzare una piattaforma standard di progettazione elettronica CAD Saper utilizzare gli ordinari strumenti di produttività informatici per redigere relazioni e documentazione tecnica del proprio lavoro Saper presentare agli altri il proprio lavora anche usando strumenti informatici multimediali Conoscenze da acquisire L'allievo deve essere in grado di: Saper classificare le tecniche fondamentali di realizzazione dei circuiti digitali. Comprendere la differenza tra circuito “general purpose” e ASIC. Saper impiegare le funzioni combinatorie disponibili come moduli standard (codificatori, decodificatori, multiplexer, demultiplexer, complementatori, comparatori, addizionatori, sottrattori) per la sintesi di circuiti generali. Conoscere la sintassi del linguaggio VHDL. Sapere quali sono i passi necessari del flusso di progetto di un circuito digitale. Comprendere la struttura di una rete microprogrammata e di un’unità di controllo. Abilità da sviluppare Alla fine del modulo l’allievo deve saper: Utilizzare il VHDL per descrivere i sistemi digitali di base da implementare con circuiti dedicati programmabili dall’utente. Impiegare gli strumenti software principali di un sistema di sviluppo EDA e condurre a compimento un progetto semplice ma completo, partendo dal file VHDL per giungere alla simulazione e alla programmazione del componente. Gestire un piccolo progetto completo. Creare modelli descrittivi sia di circuiti combinatori che sequenziali fondamentali. Verificare su prototipo il circuito progettato. Mod. 3 - Controlli: Finalità e obiettivi -2- Contenuti UD1: Le tecniche di sintesi modulare e i circuiti digitali dedicati – L’uso dei circuiti combinatori standard come moduli universali per la sintesi di reti combinatorie in generale: multiplexer, decoder più porte OR, le memorie ROM, le PLA e le PAL. – Ripresa degli automi a stati finiti come modello di sintesi delle reti sequenziali. – Le strutture ROM più registro. – Classificazione dei circuiti dedicati. – Qualche dettaglia sulla struttura delle PLD, CPLD e FPGA. – Flusso di progetto con circuiti dedicati. – Elementi fondamentali per la valutazione dei costi nello sviluppo di un progetto con circuiti dedicati. UD2: Il VHDL per le logiche programmabili – Origine e scopi del VHDL e suo impiego nella sintesi di logiche programmabili. – Gli elementi costitutivi di un modulo VHDL: Entity e Architecure. – Segnali e port: tipi e modi. – Identificatori, operatori ed elementi lessicali fondamentali. – Modelli descrittivi comportamentali e strutturali. – Semantica concorrente e sequenziale: strutture sintattiche di assegnazione concorrente e processi. – Il VHDL per descrivere logiche combinatorie, latch e registri. – Descrizione degli automi a stati finiti di Mealy e di Moore. – Organizzazione gerarchica dei moduli VHDL: realizzazione di componenti e package. – Strutture iterative. UD3: Le reti microprogrammate – Le strutture “ROM + registro” e “ROM + contatore” come generatori di sequenza microprogrammati – Soluzioni per l’implementazione di salti condizionati e incondizionati: come tenere in conto gli ingressi nella sintesi di una rete microprogrammata – I sequenziatori microprogrammati come elementi di controllo di una struttura “data flow” – Analisi di una semplice Unità di Controllo. Attività di laboratorio: – Introduzione all’uso di una piattaforma di sviluppo EDA. – Esercitazioni alla scrittura di programmi in VHDL. – Sintesi automatica e generazione del file di programmazione per le logiche programmabili. – Simulazione e verifica del progetto. – Programmazione dei componenti. – Verifica sperimentale su prototipo di piccoli progetti completi. Mod. 3 - Controlli: Finalità e obiettivi -3- Bibliografia: 1. N. Lorusso: “Moduli di Elettronica (Vol.1)”; Edizioni Zanichelli, Bologna 2001. 2. Slide Power Point redatte dal docente 3. E. Michelis, G. Paschetta, M: Tamburini: “Sistemi digitali, Vol.2”; Petrini Editore, Torino 1996 4. K: Shakill: “VHDL for programmable logic”; Addison Wesley Publishing, Menlo Park 1996 5. D.E. White: “Bit-slice design: controllers and ALUs”; Garland STPM Press, New York 1981 Mod. 3 - Controlli: Finalità e obiettivi -4-