Università degli studi di Pavia Facoltà di Ingegneria

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Università degli studi di Pavia Facoltà di Ingegneria"

Transcript

1 Università degli studi di Pavia Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Elettronica INTERFACCIA I 2 C PER LA LETTURA E LA PROGRAMMAZIONE DEL CIRCUITO INTEGRATO DI CONTROLLO DI UNA MATRICE DI SENSORI DI GAS Relatore: Chiar.mo Prof. Piero Malcovati Correlatori: Dott. Ing. Marco Grassi Ing. Fabrizio Conso Tesi di Laurea di Claudio De Berti Anno Accademico 2010/2011

2

3 Indice Elenco delle figure 5 Elenco delle tabelle 7 Introduzione 9 1 Descrizione del Sistema Matrice di sensori Interfaccia di controllo e lettura dei sensori Circuito per la lettura dei sensori Interfaccia seriale Linguaggi HDL VHDL Livelli di astrazione Verilog Macchina a stati finiti FSM adottata Interfaccia seriale Protocollo I 2 C Regole di comunicazione Temporizzazioni Registri Registri di controllo Registri di lettura Realizzazione dell interfaccia Sequenze di trasmissione Schema a blocchi dell interfaccia Sistema descritto in VHDL Simulazioni Claudio De Berti 3

4 INDICE 4 Sintesi e Place and Route Sintesi Esecuzione della sintesi Risultati della sintesi Simulazioni post-sintesi Place and Route Realizzazione del layout Simulazioni post-layout Simulazioni in Cadence Virtuoso Simulazioni con segnali misti Programmazione del master I 2 C Test Bench per l interfaccia I 2 C Simulazioni Valutazione dei consumi Inserimento dell interfaccia nel microsistema Simulazione dell intero sistema Conclusioni 67 Bibliografia 69 Ringraziamenti 71 A Codici HDL 73 A.1 Codici VHDL A.1.1 Descrizione dell interfaccia A.1.2 Test Bench A.1.3 Package A.2 Codici Verilog A.2.1 Descrizione della cella master A.2.2 Descrizione della cella altri segnali B Script 99 B.1 Script per l esecuzione della sintesi B.2 Script per la realizzazione del layout Claudio De Berti

5 Elenco delle figure 1.1 Schema semplificato della griglia di sensori di gas Schema a blocchi del circuito di lettura e di controllo della temperatura Schematico semplificato del circuito di misura di resistenza Schema a blocchi del microsistema con interfaccia I 2 C Diagramma a bolle di una FSM Condizione di Start e condizione di Stop Trasferimento di un bit Invio di un byte sul bus Sequenza di scrittura di un singolo registro (sopra) e di registri con indirizzi consecutivi (sotto) Sequenza di lettura di un singolo registro (sopra) e di registri con indirizzi consecutivi (sotto) Temporizzazioni del protocollo Sequenza di trasmissione per la lettura dei registri OUT REG Sequenza di trasmissione per la lettura dei registri CTRL REG Sequenza di trasmissione per la scrittura dei registri CTRL REG Schema a blocchi dell algoritmo per l interfaccia Il processo rilevatore condizioni Il processo registri lettura Il processo FSM Buffer linea SDA Il processo registri scrittura Sistema digitale Simulazione della lettura della misura di default Simulazione della scrittura dei registri di controllo Schematico generato da Encounter Un dettaglio dello schematico Floorplanning del circuito Layout delle alimentazioni Posizionamento delle celle Layout completato Claudio De Berti 5

6 ELENCO DELLE FIGURE 4.7 Simulazione con annotazione SDF, prima parte Simulazione con annotazione SDF, seconda parte Simulazione con annotazione SDF, terza parte Cella master Schematico del Test Bench Schematico del sistema Segnale di controllo e oscillazioni generate dal circuito di misura (sopra) - Lettura della misura e scrittura dei registri di controllo (sotto) Claudio De Berti

7 Elenco delle tabelle 3.1 Specifiche di temporizzazione dei segnali Set di registri Bit del registro SET REG Bit del registro SET REG Bit dei registri TEMP REGx Bit del registro CTRL REG Bit del registro CTRL REG Bit dei registri OUT REGx Bit dei registri OUT TEMP1 e OUT TEMP Claudio De Berti 7

8

9 Introduzione Il progetto di tesi è stato realizzato nel laboratorio di Sensori e Microsistemi (SMS) dell Università degli Studi di Pavia. L attività si è svolta all interno del Programma di ricerca di Rilevante Interesse Nazionale (PRIN) 20085AJSEB intitolato Nuova metodologia per la rivelazione di gas basata su una griglia bidimensionale di microsensori interconnessi. L attività è finanziata dal Ministero dell Istruzione, dell Università e della Ricerca della Repubblica Italiana. I sensori per la rivelazione di gas sono ampiamente utilizzati in diverse applicazioni, ad esempio per il monitoraggio della qualità dell aria o il controllo di processi industriali. Recenti direttive del Parlamento Europeo, volte alla protezione della salute umana, mirano a collocare un maggior numero di punti di campionamento sul territorio per una migliore valutazione della qualità dell aria e prevedono anche il monitoraggio delle aree rurali per la protezione della vegetazione e degli ecosistemi naturali [1]. Queste sono alcune delle ragioni per cui è divenuto molto importante lo sviluppo di sistemi per il rilevamento di gas caratterizzati da dimensioni contenute, consumi ridotti, un alta efficienza e un basso costo di produzione. Per raggiungere questi obiettivi, è possibile adottare soluzioni tecnologiche tipiche della fabbricazione dei circuiti integrati. Tale scelta progettuale permette la miniaturizzazione dei sensori e l abbattimento dei costi di produzione. I microsistemi per il rilevamento di gas, oggetto di continuo sviluppo da parte dei ricercatori, sono costituiti principalmente da tre componenti: una serie di sensori di gas, un circuito elettronico di lettura e un elaboratore digitale delle misure acquisite. L innovazione di questo progetto consiste nell utilizzo di una matrice di microsensori interconnessi, soluzione mai adottata prima nel campo dei rivelatori di gas. Per semplificare il futuro utilizzo del microsistema in sistemi embedded, si è deciso di implementare al suo interno un interfaccia seriale con protocollo I 2 C, attraverso la quale poter leggere e programmare il circuito di controllo del sensore. Il progetto di tesi ha avuto come obiettivo la realizzazione della suddetta interfaccia seriale. Nella presente tesi si andranno ad esporre le fasi che hanno caratterizzato il conseguimento dei risultati richiesti dal progetto. Lo scritto è così strutturato: Il Capitolo 1 è dedicato alla descrizione dei componenti del microsistema. In particolare, viene approfondita la struttura del circuito d interfaccia della matrice di sensori. Il circuito è in sviluppo nel laboratorio SMS dell Università di Pavia. Claudio De Berti 9

10 INTRODUZIONE Il Capitolo 2 è dedicato all illustrazione dei linguaggi di descrizione hardware che sono stati adottati nella realizzazione del progetto di tesi. Nel Capitolo 3, il primo paragrafo è dedicato allo studio del protocollo I 2 C. Nel secondo paragrafo vengono definiti i registri ideati per leggere e controllare il sistema. Nel terzo paragrafo viene illustrato il lavoro svolto per la descrizione comportamentale dell interfaccia seriale. La prima sezione del Capitolo 4 è dedicata alla sintesi in standard cells della descrizione hardware programmata. La seconda parte del capito è dedicata alla realizzazione del layout del circuito ottenuto dalla sintesi. Il Capitolo 5 è dedicato alle simulazioni dell interfaccia progettata in ambiente Cadence Virtuoso. 10 Claudio De Berti

11 Capitolo 1 Descrizione del Sistema Il progetto PRIN 20085AJSEB, finanziato dal Governo Italiano, prevede lo sviluppo di una nuova metodologia a basso costo per la rivelazione di gas basata su un microsistema integrato. Esso è composto da una matrice di sensori di gas, da un circuito integrato di lettura della matrice, che include anche il circuito di controllo della temperatura dei sensori, e infine da algoritmi di elaborazione dei dati raccolti. Sono tre le unità di ricerca a partecipare al progetto: lo studio e la realizzazione della matrice di sensori di gas è stato assegnato al CNR di Lecce; l Università degli Studi di Pavia si occupa della progettazione dell interfaccia di lettura per la matrice, nonché del circuito di controllo della temperatura; all Università degli Studi di Roma Tor Vergata spetta la programmazione di algoritmi per l elaborazione dei dati acquisiti. 1.1 Matrice di sensori In natura sono diffuse strutture ricettive in cui selettività e sensibilità elevate sono ottenute con l interconnessione di elementi di per sé poco sensibili o selettivi. Ad esempio, il senso del gusto nell essere umano ha come recettori funzionali migliaia di gemme gustative; ognuna di queste è in grado di distinguere una delle cinque sensazioni gustative [2]. Di conseguenza, il senso del gusto dipende dalla percezione sinergica di cinque gusti fondamentali. Una matrice di sensori di gas interconnessi può quindi considerarsi un dispositivo bio-ispirato. L unità di Lecce ha sviluppato una matrice 5 5, per un totale di 25 sensori. La schematizzazione della matrice è rappresentata in Figura 1.1. I sensori di gas sono di tipo resistivo e vengono realizzati con micromembrane in silicio; su ogni membrana viene deposto un materiale sensibile a particolari concentrazioni di gas che viene contattato tramite quattro elettrodi. Ogni sensore è dotato di un riscaldatore, realizzato con una resistenza in platino (indicata con la lettera H nello schema), ed è dotato di un sensore di temperatura, anch esso realizzato con una resistenza in platino (indicata con la lettera T nello schema). Gli elettrodi di ciascuna micromembrana sono direttamente connessi agli elettrodi delle micromembrane adiacenti, andando così a creare la struttura matriciale. Le micromembrane posizionate ai bordi della griglia presentano uno o due elettrodi connessi Claudio De Berti 11

12 CAPITOLO 1. DESCRIZIONE DEL SISTEMA Figura 1.1: Schema semplificato della griglia di sensori di gas direttamente ai terminali del dispositivo. Ciascuna riga della matrice presenta le resistenze del riscaldatore e del sensore di temperatura delle cinque micromembrane connesse in serie, permettendo così di controllare indipendentemente la temperatura di lavoro di ciascuna riga. Il dispositivo è quindi in grado di rispondere in modo diverso ai gas da rilevare non solo per l utilizzo di differenti strati sensibili applicati ai sensori, ma anche grazie al funzionamento a temperature differenti. È possibile utilizzare come materiale sensibile, da deporre su una micromembrana, sia un composto inorganico, sia un composto organico. Per quel che riguarda i materiali inorganici si adoperano i seguenti ossidi metallici: Ossido di stagno (SnO 2 ); Ossido di stagno drogato (SnO 2 /X); Ossido di indio (In 3 O 3 ); Ossido di tungsteno (WO 3 ). Gli ossidi di metallo vengono sintetizzati mediante opportuni metodi chimici che consentono di ottenere nanopolveri del materiale. Queste polveri vengono utilizzate nella preparazione delle paste serigrafiche che in seguito sono deposte per drop-coating sulle aree sensibili della matrice. Il processo di deposizione viene concluso sottoponendo il dispositivo a trattamenti termici. Per quel che riguarda i materiali organici si possono prendere in considerazione: Polimeri conduttori; 12 Claudio De Berti

13 1.2. INTERFACCIA DI CONTROLLO E LETTURA DEI SENSORI Figura 1.2: Schema a blocchi del circuito di lettura e di controllo della temperatura Materiali molecolari basati su ftalocianine e porfirine. La deposizione dei materiali organici avviene con tecniche standard come lo spray casting o con tecniche più avanzate basate su ink-jet. Lo studio della deposizione dei materiali organici è affinato all unità di ricerca di Roma. 1.2 Interfaccia di controllo e lettura dei sensori Lo schema a blocchi del circuito integrato di controllo e lettura per la matrice, realizzato dall unità di Pavia, è mostrato in Figura 1.2. Il blocco digitale (Digital Control) è finalizzato al controllo della sequenza di misure; in particolare agisce sui multiplexer (Mux) che permettono di selezionare i terminali della matrice da utilizzare per ogni singola misura. I multiplexer connettono i terminali selezionati del dispositivo al circuito di lettura vero e proprio. All interno del sistema è presente anche un blocco per il controllo della temperatura, effettuato separatamente per ogni riga della matrice di sensori Circuito per la lettura dei sensori I sensori di gas considerati si comportano elettricamente come resistenze di valore variabile con la concentrazione del misurando [3]. Il circuito integrato di interfaccia per sensori deve essere in grado di leggere il valore di resistenza tra qualunque coppia di terminali della griglia. Questa resistenza è data dalla combinazione delle resistenze dei sensori interconnessi e il suo valore dipende dal misurando e dalla coppia di terminali scelti per la misura, in quanto la resistenza presente tra ciascuna coppia di terminali è data da una diversa combinazione di sensori con diversi strati sensibili e funzionanti a temperatura diversa. La matrice presenta in tutto 20 terminali, quindi le coppie di terminali che si ottengono sono = 380; siccome la resistenza equivalente tra due terminali dipende anche dal verso di misurazione, in tutto le resistenze da considerare sono 380. Ne deriva che per ogni composto chimico da rilevare si può contare su un insieme di 380 Claudio De Berti 13

14 CAPITOLO 1. DESCRIZIONE DEL SISTEMA Figura 1.3: Schematico semplificato del circuito di misura di resistenza misure individuali. Ogni singolo valore di resistenza (R sens ) è dato dalla combinazione di tre variabili indipendenti: la prima è la resistenza di base R bl che dipende dalla tecnologia di fabbricazione utilizzata; la seconda è la variazione della resistenza di base R bl che è in funzione sia della temperatura di utilizzo, sia delle alterazioni del dispositivo dovute all invecchiamento o al processo produttivo; la terza è la resistenza R gas che è in funzione della concentrazione di gas sotto esame ed ha una dinamica di un paio di decadi. Quindi la i-esimia resistenza tra due terminali, con i = [0 379], vale: R sens,i = R bl + R bl + R gas (1.1) La resistenza equivalente R sens che si ottiene dalla (1.1) ha un range dinamico estremamente elevato, con valori che possono variare da 1 kω a 1 GΩ. Questo implica che il circuito di lettura deve avere una dinamica operativa di almeno 5 decadi. L unità di Pavia ha progettato un circuito di interfaccia basato su un oscillatore controllato in corrente, il cui periodo di oscillazione dipende in maniera direttamente proporzionale dalla resistenza del sensore [4]. L architettura, mostrata in Figura 1.3 nel caso di un singolo sensore, presenta una tensione costante V re f applicata alla resistenza R sens in modo da garantire il corretto funzionamento del dispositivo. La corrente che si ottiene (I sens = V re f /R sens ) viene specchiata e in seguito iniettata, con verso positivo o negativo, in un integratore sigle-ended. L uscita dell integratore è mantenuta in un intervallo di tensione V = V H V L grazie ai due comparatori. Essa viene quindi squadrata tramite dei flip-flop set-reset dotati di due uscite, l una l inverso dell altra. Le forme d onda quadra ottenute (CTR H e CTR L ) pilotano gli interruttori dello specchio che determinano il verso della corrente applicata all integratore. Come risultato si ottiene, all uscita dell integratore, un onda triangolare con periodo dato da: T = 2 V R sens V re f (1.2) 14 Claudio De Berti

15 1.2. INTERFACCIA DI CONTROLLO E LETTURA DEI SENSORI I componenti del circuito sono stati dimensionati per ottenere il miglior trade-off tra velocità di conversione e consumo di potenza; ne risulta una frequenza di oscillazione dell onda compresa tra 2.5 MHz e 2.5 Hz. La conversione in digitale del valore di R sens si ottiene dal rapporto tra l uscita di un contatore di riferimento, operante ad una frequenza intermedia f mind = f min f max = 2.5 khz, e l uscita di un contatore operante alla frequenza di oscillazione del circuito [5]. La conversione termina quando il più lento dei due contatori giunge a un valore N assegnato, sufficiente all ottenimento dell accuratezza necessaria (con N = 256 si ottiene una precisione equivalente a 8 bit per decade). Il valore di resistenza misurato R meas è quindi dato da: R meas = α R mid Nre f N osc + β (1.3) Nella (1.3) N re f indica il valore dell uscita del contatore di riferimento a fine conversione, mentre N osc indica il valore dell uscita del contatore pilotato dall oscillatore, sempre calcolato a fine conversione. La resistenza R mid è il valore centrale della scala logaritmica, mentre α e β rappresentano il guadagno e l offset del circuito di interfaccia. Non è necessario compensare questi due coefficienti perché non alterano la linearità della conversione; la conoscenza esatta del valore della resistenza equivalente è superflua al fine di valutare la concentrazione di gas. Il minimo numero di bit necessario per ogni contatore è dato da: ( ) ( N bit > log 2 N Rmax log GΩ ) > 18 (1.4) R mid 1MΩ Di conseguenza, ogni misura effettuata viene espressa da 19 bit, ottenendo una precisione intorno al 0.5%. Il tempo massimo di conversione, per ogni singolo sensore, vale 256 T max s, quindi la conversione completa della matrice, ottenuta effettuando 380 singole conversioni, richiederebbe un tempo inaccettabile (più di 10 ore). Per ovviare a questo problema, il circuito è dotato di un sistema per ridurre di un fattore 100 il tempo di conversione dei valori di resistenza più elevati; in pratica il circuito esegue una prima conversione a bassa risoluzione che impiega al massimo 12.8 ms (corrispondenti a 32 periodi del clock di riferimento). Se il risultato della conversione rapida satura verso valori alti, la capacità dell integratore viene diminuita, andando così ad aumentare la frequenza di oscillazione. Il circuito è stato progettato in tecnologia CMOS da 0.35 µm con una tensione di alimentazione nominale di 3.3 V. L utilizzo di una tecnologia diversa da quella impiegata per la realizzazione della matrice di sensori permette di abbattere i costi di produzione e di aumentare l efficienza del sistema. Questo soluzione è nota come approccio micromodulare Interfaccia seriale L obiettivo di questo lavoro di tesi è la progettazione e simulazione di un interfaccia seriale I 2 C da inserire all interno del sistema appena descritto (Figura 1.4). La lettura e il controllo del sensore dall esterno avverrebbero quindi secondo le regole del protocollo Claudio De Berti 15

16 CAPITOLO 1. DESCRIZIONE DEL SISTEMA MATRICE DI SENSORI CIRCUITO DI CONTROLLO REGISTRI I 2 C SDA SCL Figura 1.4: Schema a blocchi del microsistema con interfaccia I 2 C I 2 C, da anni utilizzato come standard di comunicazione in molti microsensori commerciali [6]; esso viene inoltre utilizzato spesso per la configurazione e il controllo di microsistemi integrati di elevata complessità [7]. L adozione di un protocollo seriale consente la riduzione dei costi di produzione legati al packaging, infatti l interfaccia I 2 C utilizza solo due pin oltre alle alimentazioni. Alla progettazione dell interfaccia seriale è associata anche la realizzazione di un set di registri, nei quali vengono raggruppati tutti i segnali necessari al funzionamento e alla programmazione del circuito di controllo e lettura della matrice di sensori. 16 Claudio De Berti

17 Capitolo 2 Linguaggi HDL Alla fine degli anni 70 i circuiti integrati digitali iniziarono ad avere un livello di complessità tale da evidenziare l inadeguatezza degli strumenti di progetto a livello di porte logiche (gate-level). Questo fatto diede inizio agli studi di linguaggi descrittivi astratti, in grado di aumentare l efficienza nella progettazione di sistemi digitali complessi. Gli HDL (Hardware Description Languages) sono linguaggi usati per descrivere un sistema in forma testuale. Rispetto al disegno schematico, gli HDL permettono di utilizzare livelli di astrazione più alti, estremamente utili nei progetti complessi. Il primo HDL è stato PALASM (PAL ASseMbler) che serviva a specificare reti logiche per dispositivi programmabili tipo PAL. Un linguaggio simile è ABEL (Advanced Boolean Equation Language). Questi linguaggi permettono di descrivere il sistema attraverso equazioni logiche, tabelle della verità e diagrammi a stati (in forma testuale). Tra gli HDL, quelli considerati di alto livello, principalmente VHDL e Verilog, permettono anche rappresentazioni astratte del sistema, e descrizioni algoritmiche simili a quelle dei linguaggi di programmazione software. Sia VHDL che Verilog sono linguaggi di descrizione dell hardware adatti a modellizzare sistemi digitali sia per scopi di sola simulazione, che per scopi di sintesi e successiva implementazione su dispositivi reali. La loro principale caratteristica è l indipendenza dalla tecnologia, ovvero la capacità di descrivere qualsiasi sistema digitale senza vincolare la descrizione ad una specifica tecnologia di integrazione. Questa è la base per costruire codice portabile e riutilizzabile permettendo una progettazione più efficiente. 2.1 VHDL Il linguaggio VHDL viene utilizzato per la descrizione di sistemi hardware digitali. È simile ai linguaggi di programmazione per la costruzione di programmi software, ma è dotato di caratteristiche particolari, necessarie alla diversa natura dell oggetto da descrivere. La prima versione standard del VHDL fu definita nel 1987 da IEEE (Institute of Electrical and Electronics Engineers) con il nome IEEE Nel 1993 è stata aggiornata in IEEE Le due versioni principali del linguaggio definite da questi standard sono pubblicate nel Language Reference Manual (LRM). Claudio De Berti 17

18 CAPITOLO 2. LINGUAGGI HDL Il principio su cui si basa il VHDL è che un sistema hardware di qualsiasi livello di complessità può essere schematizzato come un dispositivo che riceve degli ingressi (input), li elabora secondo precise operazioni e produce delle uscite (output) legate alle operazioni svolte. Inoltre, ogni sistema può essere scomposto in più sottosistemi, ognuno schematizzabile nel modo precedentemente descritto. In VHDL il modello di un sottosistema è detto design entity ed è costituito da due parti: una entity (che descrive l interfaccia esterna) ed una architecture (che descrive il funzionamento interno). Per descrivere un sistema si devono, quindi, definire: la sua interfaccia esterna, ovvero gli ingressi e le uscite che mettono in comunicazioni l entity con l esterno; il suo funzionamento interno, ovvero le operazioni che l entity deve svolgere sui segnali di ingresso per generare i segnali d uscita. Nella descrizione hanno un ruolo fondamentale i segnali che mettono in comunicazione parti diverse del sistema. Le porte sono segnali particolari poiché permettono ai dati l ingresso e l uscita dall entity. Package e library sono parole chiave che permettono di creare dei contenitori di porzioni di codice. Questa tecnica è usata sia per isolare porzioni di codice dal resto della descrizione sia per riutilizzarle in più ambiti Livelli di astrazione Una descrizione più astratta si limita ad indicare cosa debba fare il sistema senza specificare come, ed è quindi più vicina alle esigenze descrittive del progettista. Una descrizione meno astratta invece contiene dettagli implementativi e specifica come è effettivamente costituito il sistema. Il VHDL supporta tre livelli di astrazione: il livello di astrazione più basso è la Descrizione Strutturale: il sistema viene rappresentato direttamente nella sua struttura come rete di porte logiche. Si indicano i componenti del sistema e le interconnessioni tra di essi. Questa descrizione è l equivalente testuale di un disegno schematico; la Descrizione Funzionale o Comportamentale (behavioural) è il livello di astrazione più alto. Il progettista tramite il linguaggio VHDL definisce come il dispositivo debba agire. Nel definire cosa il sistema debba fare, il progettista utilizza descrizioni algoritmiche tramite istruzioni simili a quelle dei linguaggi di programmazione software; ad un livello intermedio di astrazione troviamo la Descrizione Dataflow, che contiene una rappresentazione del flusso dei dati: per mezzo di equazioni logiche si descrive l effetto sui segnali in uscita di un flusso di segnali in ingresso. Efficacia ed efficienza sono due aspetti contrapposti da valutare per la scelta del livello di astrazione da utilizzare. L efficacia rappresenta esigenza che il modello possa essere 18 Claudio De Berti

19 2.2. VERILOG interpretato correttamente dallo strumento di sviluppo in fase di sintesi, mentre l efficienza rappresenta l esigenza del progettista di poter utilizzare un linguaggio descrittivo il più possibile vicino alla propria visione del sistema da modellizzare. Nella fase di programmazione le istruzioni vengono spesso scritte in sequenza, ma, a differenza di quanto accade per i linguaggi di programmazione software, in VHDL questo non implica che esse agiranno in sequenza. I concetti di concorrenzialità e sequenzialità vengono in aiuto: più elementi si definiscono concorrenti quando la loro esecuzione è parallela o contemporanea, si dicono invece sequenziali se la loro esecuzione avviene un elemento dopo l altro, ossia in serie. I processi raggruppano un insieme di istruzioni e sono concorrenti fra loro; il loro scopo è quello di contenere istruzioni sequenziali per la descrizione del sistema. 2.2 Verilog Il linguaggio Verilog attualmente si spartisce con il VHDL il mercato dei linguaggi destinati alla progettazione e simulazione digitale. Lo sviluppo del linguaggio Verilog venne avviato nel 1984 nei laboratori della Gateway Design Automation Inc. Venne ideato ispirandosi alle funzionalità dei linguaggi HDL al tempo più diffusi e alle caratteristiche di linguaggi di programmazione tradizionali, come il C. Essendo un linguaggio proprietario, il Verilog non venne subito standardizzato e subì diverse modifiche in occasione delle numerose revisioni effettuate fino alla fine degli anni 80. Nel 1990 Cadence Design System, tutt oggi il principale produttore di software per la progettazione hardware, acquisì la Gateway Design Automation Inc., divenendo così proprietaria del linguaggio Verilog. Cadence riconobbe che se il Verilog fosse rimasto un linguaggio proprietario chiuso, le altre aziende di progettazione hardware avrebbero utilizzato un linguaggio più flessibile, come il VHDL. Di conseguenza Cadence creò l Open Verilog International (OVI) e nel 1991 fornì la documentazione del Verilog, evento che sancì l apertura del linguaggio di descrizione hardware. Il linguaggio venne poi standardizzato nel 1995 con il nome IEEE Il linguaggio verilog è in grado di descrivere un sistema digitale come un insieme di moduli (modules). Ogni modulo è dotato di un interfaccia con altri moduli in base alla descrizione del suo contenuto. Un modulo rappresenta un unità logica che può essere descritta sia specificando la sua struttura logica interna, sia descrivendo il suo comportamento logico con un linguaggio più simile alla programmazione informatica. Nel primo caso, la descrizione permette la sintesi a livello di gate del sistema digitale, nel secondo caso ci si concentra sul comportamento che il sistema deve avere [8]. I moduli sono interconnessi con delle nets che ne permettono la comunicazione. 2.3 Macchina a stati finiti Se il sistema da descrivere ha una certa complessità, l utilizzo di macchine a stati finiti (FSM) permette di semplificare dal punto di vista logico la programmazione. Una Claudio De Berti 19

20 CAPITOLO 2. LINGUAGGI HDL reset START X=go_mid MIDDLE X=go_start X=go_stop STOP Figura 2.1: Diagramma a bolle di una FSM macchina a stati finiti consiste in un insieme di stati e di direzioni di evoluzione degli stati. Il funzionamento di questi sistemi, sensibili ad un segnale di temporizzazione (clock), si basa sulla valutazione degli ingressi che determinano l evoluzione degli stati della macchina. Esistono due tipologie di FSM [9]: la macchina di Moore e la macchina di Mealy. Nella macchina di Moore ad ogni istante il valore delle uscite dipende esclusivamente dallo stato attuale. Nella macchina di Mealy ad ogni istante il valore delle uscite dipende sia dallo stato attuale che dall attuale valore degli ingressi. Durante la permanenza in uno stato, una variazione dell ingresso di una macchina di Mealy può ripercuotersi immediatamente sull uscita. La macchina a stati viene a formarsi dall unione di un processo sequenziale e di uno o più combinatori; il processo combinatorio ha il compito di valutare i segnali in ingresso e in base a questi gestire il segnale che indica il prossimo stato (stato futuro) della macchina; il processo sequenziale dovrà occuparsi di far commutare lo stato presente nello stato futuro, permettendo l avanzamento di stato FSM adottata La struttura della macchina a stati utilizzata in questo lavoro di tesi viene definita come One State Process [10]. Il codice VHDL basilare di una macchina di tale tipologia è riportato qui di seguito: 1 FSM FF : p r o c e s s (CLK, RESET) 2 begin 3 i f RESET= 1 then 4 STATE <= START ; 20 Claudio De Berti

21 2.3. MACCHINA A STATI FINITI 5 e l s i f CLK e v e n t and CLK= 1 then 6 case STATE i s 7 when START => i f X=GO MID then 8 STATE <= MIDDLE ; 9 end i f ; 10 when MIDDLE => i f X=GO STOP then 11 STATE <= STOP ; 12 end i f ; 13 when STOP => i f X=GO START then 14 STATE <= START ; 15 end i f ; 16 when o t h e r s => STATE <= START ; 17 end case ; 18 end i f ; 19 end p r o c e s s FSM FF ; Il comportamento del codice è mostrato nel diagramma a bolle di Figura 2.1: se la condizione associata alla freccia è vera in corrispondenza di un fronte positivo di clock, la macchina cambia di stato. Il comportamento è quindi sincrono con il clock. Solo il reset agisce in modo asincrono e, se attivo, riporta la macchina allo stato iniziale immediatamente. Claudio De Berti 21

22

23 Capitolo 3 Interfaccia seriale La fase iniziale del progetto di tesi è stata caratterizzata dalla programmazione in VHDL dell interfaccia seriale con cui il sensore sarà in grado di fornire informazioni verso l esterno. Nell interfaccia progettata non solo si rispettano le regole del protocollo I 2 C, ma si sono adottate soluzioni comportamentali specifiche per il corretto controllo del dispositivo, che verranno esposte in dettaglio nei paragrafi seguenti. Inoltre, in questa fase di progettazione, si sono definiti, in numero e in tipologia, i registri necessari al controllo e alla lettura del circuito d interfaccia della matrice. 3.1 Protocollo I 2 C Il sistema di comunicazione seriale I 2 C, acronimo di Inter Integrated Circuit, è stato sviluppato dalla Philips come interfaccia seriale utilizzata nei propri circuiti integrati. Il rilascio della prima versione del protocollo risale al Nel corso degli anni essa ha subito diversi aggiornamenti e dall Ottobre del 2006 può essere usato liberamente. L I 2 C è un sistema di comunicazione seriale bifiliare che permette l interconnessione con più dispositivi, quindi si può definire un bus di comunicazione. Trattandosi di un protocollo seriale, ha il vantaggio di utilizzare solo due linee, ovvero occupa solo due pin del package, mentre ha come svantaggio una limitata velocità di comunicazione. La velocità di trasferimento dati previsto dallo Standard-Mode, utilizzato in questo progetto, ha un bitrate massimo di 100 Kbit/s. Le linee seriali sono: SDA (Serial Data Line) che viene utilizzata per la trasmissione dei dati; SCL (Serial Clock Line) che viene utilizzata per il segnale di clock di trasmissione. La trasmissione del clock rende il sistema un bus sincrono. Entrambe le linee devono essere connesse all alimentazione tramite resistenze di pullup [11]. Un bus I 2 C è composto da almeno un master ed uno slave; un dispositivo di tipo master emette il segnale di clock, mentre un dispositivo di tipo slave si sincronizza sul segnale di clock senza poterlo controllare. Ogni dispositivo collegato al bus è identificato da un indirizzo univoco a 7 bit. Claudio De Berti 23

24 CAPITOLO 3. INTERFACCIA SERIALE Figura 3.1: Condizione di Start e condizione di Stop Figura 3.2: Trasferimento di un bit L interfaccia I 2 C realizzata in questa tesi è di tipo slave, dato che si vorrà leggere e controllare il sensore tramite un dispositivo master, soluzione universalmente adottata per tutti i sensori che utilizzano tale protocollo Regole di comunicazione Il protocollo prevede una condizione di inizio trasmissione ed una di fine della stessa (Figura 3.1): condizione di Start: con SCL alto, SDA passa dallo stato alto a quello basso; condizione di Stop: con SCL alto, SDA passa dallo stato basso a quello alto. Un bit, per essere valido, deve essere tale da mantenere la linea SDA stabile per l intera durata del periodo positivo di SCL (Figura 3.2). I dati sulle linee SDA e SCL vengono trasmessi un byte alla volta Ad ogni byte trasmesso segue sul bus una conferma di avvenuta ricezione da parte del dispositivo interessato; in pratica vengono trasmessi otto bit di dati, mentre il nono ha la funzione di acknowledgement (Figura 3.3). Durante il bit di acknowledge, il trasmittente lascia la linea SDA alta ed il ricevente l abbassa in caso di avvenuta ricezione o la lascia alta in caso contrario. Un mancato acknowledge può avvenire, quindi, nel caso in cui il byte immediatamente precedente non sia stato ricevuto correttamente: questo può essere un byte di dati effettivo, l indirizzo di un registro in cui scrivere o leggere il dato, oppure l indirizzo stesso del dispositivo. Nel caso di mancato acknowledgement, è necessario ripetere la trasmissione. 24 Claudio De Berti

25 3.1. PROTOCOLLO I 2 C Figura 3.3: Invio di un byte sul bus Sequenze di lettura e scrittura dei registri L indirizzo slave a 7 bit viene completato a 8 bit con l aggiunta del bit di lettura/scrittura che va ad occupare la posizione meno significativa nel byte: il bit 0 determina la scrittura (W) da parte del master sullo slave; il bit 1 determina la lettura (R) da parte del master dallo slave. L indirizzo dello slave con il bit di scrittura viene inviato dopo la condizione di Start (ST). Se la ricezione avviene con successo, lo slave invia il bit di acknowledgement (SAK). Si può quindi passare all invio dell indirizzo del registro (SUB) in cui si vuole andare a scrivere/leggere. I registri, di cui si parlerà in dettaglio più avanti, hanno indirizzi a 6 bit e vengono completati a 8 bit con l aggiunta di due bit più significativi (MSB): se i due bit MSB sono 00 si potrà leggere/scrivere solo nel registro associato all indirizzo; se i due bit MSB sono 10, l indirizzo verrà automaticamente incrementato permettendo di leggere/scrivere in più registri consecutivi. Per poter leggere il contenuto di un registro è necessario effettuare, dopo l invio del suo indirizzo, una condizione di Start ripetuta (SR): con SCL alto, SDA passa dallo stato alto a quello basso. A questa condizione segue l invio dell indirizzo dello slave con il bit di lettura (R). In lettura è il master a inviare il bit di acknowledgement (MAK) in risposta ad ogni byte ricevuto. Per fermare l invio di byte da parte dello slave, il master non effettua l invio del bit di acknowledgement (NMAK). Sia la lettura che la scrittura terminano con la condizione di Stop (SP). Le procedure appena descritte sono schematizzate nella Figura 3.4 per la scrittura e nella Figura 3.5 per la lettura Temporizzazioni L interfaccia I 2 C deve rispettare i valori di temporizzazione imposti dal protocollo. Per la realizzazione del progetto si è scelto di adottare il modello standard del bus di comunicazione, dato che per la lettura e il controllo del sensore la velocità offerta da tale Claudio De Berti 25

26 CAPITOLO 3. INTERFACCIA SERIALE Master ST SAD + W SUB DATA SP Slave SAK SAK SAK Master ST SAD + W SUB DATA DATA SP Slave SAK SAK SAK SAK Figura 3.4: Sequenza di scrittura di un singolo registro (sopra) e di registri con indirizzi consecutivi (sotto) Master ST SAD + W SUB SR SAD + R NMAK SP Slave SAK SAK SAK DATA Master ST SAD + W SUB SR SAD + R MAK NMAK SP Slave SAK SAK SAK DATA DATA Figura 3.5: Sequenza di lettura di un singolo registro (sopra) e di registri con indirizzi consecutivi (sotto) soluzione è più che sufficiente. In fase progettuale è necessario adottare soluzioni tali da poter garantire il rispetto totale delle regole di temporizzazione imposte dal protocollo; in particolare, durante le simulazioni, si andrà a valutare il comportamento dell interfaccia in presenza di segnali caratterizzati da temporizzazioni corrispondenti al limite teorico di velocità imposto dal protocollo. Le specifiche di temporizzazione sono riportate nella Tabella 3.1 e fanno riferimento alla Figura Registri Per poter interagire con il circuito d interfaccia del sensore, si è creato un set di registri accessibile dall esterno tramite il bus I 2 C. Un registro di un dispositivo slave può essere di sola lettura (r), di sola scrittura (w), oppure di lettura/scrittura (rw). Per il controllo dell interfaccia del sensore è risultato necessario l utilizzo di 10 registri, mentre per fornire le misure di gas e temperatura ne sono stati utilizzati altri 5. Ai registri sono stati assegnati indirizzi a 6 bit, anche se per la loro identificazione ne basterebbero 4: nell ipotesi di sviluppi futuri, si è scelto di poter avere la possibilità di aumentare il numero di registri senza apportare radicali modifiche all interfaccia I 2 C. L elenco dei registri è mostrato nella Tabella 3.2. Gli indirizzi dei registri di controllo hanno valori consecutivi, come pure gli indirizzi dei registri di lettura: questa caratteristica permette l utilizzo delle sequenze di lettura o scrittura di più byte di dati mostrate nel paragrafo precedente. 26 Claudio De Berti

27 3.2. REGISTRI START REPEATED START SDA t su(sr) t w(sp:sr) START t f(sda) t r(sda) t su(sda) t h(sda) t su(sp) STOP SCL t h(st) t w(scll) t w(sclh) t r(scl) t f(scl) Figura 3.6: Temporizzazioni del protocollo I 2 C standard mode Symbol Parameter Min Max f (SCL) SCL clock frequency t w(scll) SCL clock low time 4. 7 t w(sclh) SCL clock high time 4. 0 Unit KHz µs t su(sda) SDA setup time 250 ns t h(sda) SDA data hold time t r(sda) t r(scl) SDA and SCL rise time 1000 t f(sda) t f(scl) SDA and SCL fall time 300 µs ns t h(st) START condition hold time 4 t su(sr) Repeated START condition setup time 4.7 t su(sp) STOP condition setup time 4 t w(sp:sr) Bus free time between STOP and START condition 4.7 µs Tabella 3.1: Specifiche di temporizzazione dei segnali Claudio De Berti 27

28 CAPITOLO 3. INTERFACCIA SERIALE Nome del registro Tipo Indirizzo del registro Binario Esadecimale TEMP_REG1 w TEMP_REG2 w TEMP_REG3 w TEMP_REG4 w TEMP_REG5 w TEMP_REG6 w SET_REG1 w SET_REG2 w CTRL_REG1 rw CTRL_REG2 rw OUT_REG1 r OUT_REG2 OUT_REG3 r r OUT_TEMP1 r OUT_TEMP2 r Registri di controllo Tabella 3.2: Set di registri Variando il contenuto dei registri di controllo, è possibile modificare le modalità operative del circuito d interfaccia del sensore; in pratica, i bit dei registri andranno a pilotare le porte logiche dei blocchi digitali di controllo del circuito. All accensione del dispositivo i bit devono assumere valori di default. Le funzionalità di ogni singolo registro verranno esposte di seguito. Registro SET REG1 GRE VEL res res res TM2 TM1 TM0 Tabella 3.3: Bit del registro SET REG1 GRE: bit che permette di selezionare la modalità di conversione delle misure di gas effettuate dalla matrice : modalità di conversione con risoluzione massima; 2. 1 : modalità di conversione grezza, ovvero a bassa risoluzione. 28 Claudio De Berti

29 3.2. REGISTRI Il valore di default assegnato al bit GRE è 0. VEL: bit che permette di selezionare la velocità con cui effettuare la conversione 1. 0 : velocità di conversione normale; 2. 1 : conversione in modalità rapida. Anche per il bit VEL il valore di default è 0. TM0, TM1 e TM3: bit utilizzati per selezionare, pilotando un multiplexer, un valore di temperatura sui cinque rilevati dal circuito, ognuno corrispondente a una riga di sensori della matrice. Il valore selezionato viene così reso disponibile nei registri d uscita dedicati alla temperatura : temperatura relativa alla prima riga di sensori; : temperatura relativa alla seconda riga di sensori; : temperatura relativa alla terza riga di sensori; : temperatura relativa alla quarta riga di sensori; : temperatura relativa alla quinta riga di sensori. I tre bit hanno come valore di default 001. I bit res non assumono alcuna funzione. Potranno essere utilizzati in eventuali sviluppi futuri. Registro SET REG2 SW7 SW6 SW5 SW4 SW3 SW2 SW1 SW0 Tabella 3.4: Bit del registro SET REG2 Ogni bit del registro SET REG2 può essere utilizzato per pilotare uno switch che consente di abilitare l uscita, su pin del package, di tensioni analogiche provenienti dal circuito d interfaccia del sensore. Le tensioni che si vorranno avere in uscita verranno decise nelle fasi finali di progettazione del sistema integrato e serviranno nelle operazione di test del dispositivo dopo la sua realizzazione. Registri TEMP REGx Con i registri TEMP REGx è possibile impostare la temperatura di funzionamento delle cinque serie di riscaldatori della matrice. La temperatura che si vuole ottenere dai riscaldatori è espressa con 9 bit di risoluzione. Bit da TE1 8 a TE1 0: temperatura dei riscaldatori della prima riga di sensori. Claudio De Berti 29

30 CAPITOLO 3. INTERFACCIA SERIALE TEMP_REG1: res res res TE5_8 TE5_7 TE5_6 TE5_5 TE5_4 TEMP_REG2: TE5_3 TE5_2 TE5_1 TE5_0 TE4_8 TE4_7 TE4_6 TE4_5 TEMP_REG3: TE4_4 TE4_3 TE4_2 TE4_1 TE4_0 TE3_8 TE3_7 TE3_6 TEMP_REG4: TE3_5 TE3_4 TE3_3 TE3_2 TE3_1 TE3_0 TE2_8 TE2_7 TEMP_REG5: TE2_6 TE2_5 TE2_4 TE2_3 TE2_2 TE2_1 TE2_0 TE1_8 TEMP_REG6: TE1_7 TE1_6 TE1_5 TE1_4 TE1_3 TE1_2 TE1_1 TE1_0 Tabella 3.5: Bit dei registri TEMP REGx Bit da TE2 8 a TE2 0: temperatura dei riscaldatori della seconda riga di sensori. Bit da TE3 8 a TE3 0: temperatura dei riscaldatori della terza riga di sensori. Bit da TE4 8 a TE4 0: temperatura dei riscaldatori della quarta riga di sensori. Bit da TE5 8 a TE5 0: temperatura dei riscaldatori della quinta riga di sensori. I valori di default verranno assegnati nelle fasi finali di progettazione del microsistema. Registri CTRL REG1 e CTRL REG2 I registri CTRL REG1 e CTRL REG2 sono gli unici due registri che possono essere sia scritti che letti. MC8 MC7 MC6 MC5 MC4 MC3 MC2 RM1 Tabella 3.6: Bit del registro CTRL REG1 MC1 MC0 res res res res res RM2 Tabella 3.7: Bit del registro CTRL REG2 30 Claudio De Berti

31 3.2. REGISTRI Bit da MC8 a MC0: il contenuto di questi 9 bit permette di scegliere una tra le 380 misure effettuabili con la matrice di sensori di gas. Il valore scritto nei registri viene inviato al blocco digitale di controllo del circuito d interfaccia del sensore; il blocco, in base al valore ricevuto, andrà a pilotare i multiplexer che consentono la selezione dei terminali della matrice. Il valore di default di questi bit corrisponde alla prima misura effettuata in automatico all accensione del dispositivo. Bit RM1 e RM2: questi due bit determinano l avvio di una nuova procedura di misurazione di gas: 1. se entrambi sono a 1, il circuito di interfaccia inizia ad effettuare la misura selezionata dai bit MC; 2. se entrambi sono a 0, una nuova misura di concentrazione di gas è disponibile nei registri di lettura. I due bit sono di default a 1 e vengono abbassati a 0 quando la misura è terminata; una nuova procedura di misura non verrà avviata finché i due bit saranno reimpostati a 1 attraverso la scrittura di entrambi i registri con un idonea trasmissione sul bus I 2 C Registri di lettura I registri di lettura permettono l acquisizione dall esterno di tutte le misure effettuate dal sistema; il loro contenuto viene letto dal dispositivo master che stabilisce la connessione I 2 C con il sensore. Registri OUT REG1, OUT REG2 e OUT REG3 OUT_REG1: CNT res res res res GM18 GM17 GM16 OUT_REG2: GM15 GM14 GM13 GM12 GM11 GM10 GM9 GM8 OUT_REG3: GM7 GM6 GM5 GM4 GM3 GM2 GM1 GM0 Tabella 3.8: Bit dei registri OUT REGx Bit da MC18 a MC0: rappresentano il valore della concentrazione di gas rivelata dal sensore, relativa alla misura effettuata secondo il contenuto dei registri di controllo. Claudio De Berti 31

32 CAPITOLO 3. INTERFACCIA SERIALE Bit CNT: la sua lettura permette di conoscere quale dei due contatori è stato utilizzato per determinare il risultato della conversione A/D : è stato utilizzato il risultato del contatore operante alla frequenza intermedia di riferimento; 2. 1 : è stato utilizzato il risultato del contatore operante alla frequenza di oscillazione del circuito. Registri OUT TEMP1 e OUT TEMP2 I registri OUT TEMP1 e OUT TEMP2 offrono in uscita dal sistema la temperatura di funzionamento della riga di sensori selezionata dai registri di controllo. Il valore è espresso con una risoluzione di 9 bit (da OT8 a OT0). OUT_TEMP1: res res res res res res res OT8 OUT_TEMP2: OT7 OT6 OT5 OT4 OT3 OT2 OT1 OT0 Tabella 3.9: Bit dei registri OUT TEMP1 e OUT TEMP2 3.3 Realizzazione dell interfaccia L interfaccia I 2 C di tipo slave e la gestione dei registri che si vogliono implementare nel microsistema integrato sono stati descritti in VHDL. La scrittura dei codici e la loro simulazione è stata effettuata utilizzando il programma ModelSim della Mentor Graphics Sequenze di trasmissione Prima della scrittura del codice, si è stabilito quali debbano essere le sequenze di trasmissione che un generico dispositivo master dovrà generare per dialogare con il dispositivo slave che si vuole progettare. Lettura della misura di default All accensione del sistema, viene effettuata in automatico da parte del sensore la misura selezionata dal valore di default dei registri di controllo. Un dispositivo I 2 C master ha due opzioni: 1. attendere, dall accessione del sensore, per almeno il tempo massimo necessario al completamento della conversione del valore di concentrazione di gas e, in seguito, andare a leggere il contenuto dei registri d uscita; 32 Claudio De Berti

33 3.3. REALIZZAZIONE DELL INTERFACCIA Master ST SAD + W SUB SR SAD + R MAK MAK NMAK SP Slave SAK SAK SAK OUT_REG1 OUT_REG2 OUT_REG2 Figura 3.7: Sequenza di trasmissione per la lettura dei registri OUT REG Master ST SAD + W SUB SR SAD + R MAK NMAK SP Slave SAK SAK SAK CTRL_REG1 CTRL_REG2 Figura 3.8: Sequenza di trasmissione per la lettura dei registri CTRL REG 2. leggere ripetutamente il contenuto dei registri CTRL REG; quando i due bit RM1 e RM2 passano da 1 a 0, si potrà andare a leggere il contenuto dei registri d uscita. Durante le fasi di misurazione e conversione, la lettura dei registri d uscita OUT REGx è interdetta, come anche la scrittura dei registri di controllo. Questo permette di non acquisire valori di gas che non corrispondono alla misurazione desiderata. La sequenza di trasmissione che si avrà sul bus I 2 C per il primo caso è mostrata nella Figura 3.7. Nel secondo caso, verrà ripetuta la sequenza della Figura 3.8 fino all abbassamento dei due bit; seguirà poi la sequenza mostrata per il primo caso. Scrittura dei registri di controllo Completata la prima misura di default, è possibile andare a modificare il contenuto di tutti i registri di controllo. Condizione necessaria e sufficiente per avviare una nuova misurazione, è la scrittura dei registri CTRL REG1 e CTRL REG2 (Figura 3.9) che permette di riportare a 1 i bit RM1 e RM2. La scrittura di registri di controllo con indirizzi consecutivi ha una sequenza di trasmissione analoga. Master ST SAD + W SUB CTRL_REG1 CTRL_REG2 SP Slave SAK SAK SAK SAK Figura 3.9: Sequenza di trasmissione per la scrittura dei registri CTRL REG Lettura della misura effuttuata Effettuata la scrittura dei registri di controllo CTRL REG1 e CTRL REG2, una nuova procedura di misurazione viene avviata da parte dell interfaccia del sensore. Per la lettura dei valori ottenuti, si ha una sequenza di trasmissione identica a quella illustrata per la misura di default. Claudio De Berti 33

34 CAPITOLO 3. INTERFACCIA SERIALE Lettura della temperatura La lettura dei registri OUT TEMP può essere effettuata in qualsiasi momento dal completamento della misurazione di default. La sequenza di trasmissione sul bus è analoga a quella della lettura dei registri OUT REG, basta cambiare l indirizzo del primo registro in cui leggere (SUB) Schema a blocchi dell interfaccia Le sequenze di trasmissioni sul bus I 2 C, descritte nel paragrafo precedente, devono essere interpretate e rispettate dal dispositivo slave che si vuole andare a programmare. Si è quindi pensato ad un algoritmo per l interfaccia che il codice VHDL dovrà descrivere; il suo schema a blocchi è mostrato in Figura Nel disegno si è omesso il comportamento dello slave nel caso di ricezione della sequenza di stop: se si presenta, in qualsiasi momento, tale condizione sul bus, l interfaccia deve ritornare nella fase di attesa condizione start. Inoltre, nella fase in cui si stabilisce se l indirizzo del registro ricevuto è corretto, si deve tener conto anche dei permessi di lettura e scrittura dei registri che dipendono dall esecuzione della conversione della misura di gas: se un dispositivo master non rispetta le sequenze di trasmissioni descritte precedentemente, lo slave deve interrompere la trasmissione non inviando l acknowledge Sistema descritto in VHDL Il sistema digitale è stato descritto con una entity al cui interno sono stati creati quattro processi paralleli. Tutti i processi utilizzano un clock con frequenza di 1 MHz e sono dotati di un reset attivo basso. Nella Figura 3.16 viene mostrata l entity dello slave. Le porte dell entity sono le seguenti: clock e reset sono segnali in ingresso che verranno generati all interno del microsistema integrato; sda e scl sono le porte per i segnali del bus e verranno direttamente connesse ai pin del package; il primo è un segnale di tipo inout, mentre scl è solo d ingresso. data ready è una porta connessa al circuito d interfaccia della matrice e ha in ingresso un segnale che viene alzato quando la conversione della misura di gas è terminata; le porte da 8 bit OUT REGx e OUT TEMPx vengono connesse alla parte digitale del circuito d interfaccia per acquisire i valori da inserire negli omonimi registri di lettura; essi sono segnali in ingresso all entity; le porte da 8 bit TEMP REGx, SET REGx e CTRL REGx vengono anch esse connesse alla parte digitale del circuito d interfaccia e i loro segnali corrispondono al contenuto dei registri di controllo; essi sono segnali in uscita dall entity. 34 Claudio De Berti

35 3.3. REALIZZAZIONE DELL INTERFACCIA ACCENSIONE SLAVE ATTESA CONDIZIONE START START RILEVATA? NO SI LETTURA INDIRIZZO SLAVE NO INDIRIZZO CORRETTO? SI INVIO SAK LETTURA INDIRIZZO REGISTRO NO INDIRIZZO CORRETTO? SI INVIO SAK LETTURA BYTE NO MASTER VUOLE LEGGERE? SI ATTESA CONDIZIONE START NO BYTE RICEVUTO? START RILEVATA? NO SI SI INVIO SAK LETTURA INDIRIZZO SLAVE INDIRIZZO CORRETTO? NO SI INVIO SAK INVIO BYTE SI NACK RICEVUTO? NO Figura 3.10: Schema a blocchi dell algoritmo per l interfaccia Claudio De Berti 35

36 CAPITOLO 3. INTERFACCIA SERIALE Nelle porte da 8 bit, quelle che corrispondono a dei bit res non andranno connesse a nessun altra porta. Per la consultazione del codice scritto si rimanda alla lettura dell appendice A, invece di seguito viene descritto il comportamento di ogni processo. Processi dell entity Il processo rilevatore condizioni (Figura 3.11) ha lo scopo di analizzare l andamento temporale dei sagnali SDA e SCL che ha in ingresso; l analisi fornisce in uscita cinque segnali: rilevatore_condizioni sda scl start_cnd stop_cnd scl_f clock reset scl_r sda_d Figura 3.11: Il processo rilevatore condizioni 1. start cnd: viene alzato per un periodo di clock quando il processo rileva una condizione di start trasmessa sul bus; 2. stop cnd: iene alzato per un periodo di clock quando il processo rileva una condizione di stop trasmessa sul bus; 3. scl f: segnale tenuto alto per un periodo di clock quando viene rivelato un fronte negativo del segnale SCL; 4. scl r:segnale tenuto alto per un periodo di clock quando viene rivelato un fronte positivo del segnale SCL; 5. sda q: fornisce il segnale della linea SDA sincronizzato con i fronti di clock del sistema. Il processo registri lettura (Figura 3.12) gestisce e fornisce il contenuto dei registri di lettura all interfaccia I 2 C. Il segnale register adr, ovvero l indirizzo espresso su 6 bit di un registro, seleziona il contenuto del corrispondente registro e lo rende disponibile sul segnale in uscita byte out. Il processo registri scrittura (Figura 3.15) consente la scrittura dei registri da parte dell interfaccia I 2 C. Il segnale byte in contiene il byte ricevuto dal master e viene scritto 36 Claudio De Berti

37 3.3. REALIZZAZIONE DELL INTERFACCIA 8 bit 8 bit 8 bit 8 bit 8 bit 8 bit 8 bit 6 bit registri_lettura OUT_REG1 OUT_REG2 OUT_REG3 OUT_TEMP1 OUT_TEMP2 byte_out CTRL_REG1 CTRL_REG2 register_adr 8 bit clock reset Figura 3.12: Il processo registri lettura nel registro selezionato dal segnale register adr. In uscita dal processo si ha il contenuto dei registri di controllo che all accensione del dispositivo avranno i valori di default. Il segnale in uscita mis ended si abbassa quando viene ricevuta la condizione di fine conversione sul segnale data ready e ritorna alto quando viene effettuata la scrittura corretta dei registri CTRL REG1 e CTRL REG2. Il processo FSM (Figura 3.13) è il cuore dell entity descritta. È caratterizzato da un macchina a stati finiti che permette di controllare le fasi di trasmissione sul bus secondo le regole del protocollo I 2 C, seguendo la logica mostrata nel diagramma a blocchi di Figura Per regolare le fasi della trasmissione, esso utilizza i segnali provenienti dal processo rilevatore condizioni e il segnale mis ended generato dal processo registri scrittura. In uscita offre l indirizzo del registro su cui si sta operando e, in caso di scrittura da parte del master, il byte ricevuto. Per la lettura dei bit trasmessi sul bus esso utilizza il segnale sda q. Il blocco logico controllo sda (Figura 3.14) permette il controllo della linea di trasmissione da parte dello slave: si tratta di un buffer tri-state. In pratica lo slave accede alla linea sda solo quando deve inviare sul bus un livello logico basso attivando il buffer tri-state [12]. Quando il buffer non è attivo, offre in uscita un valore d alta impedenza, consentendo l utilizzo della linea da parte di un altro dispositivo (in questo caso il master) Simulazioni Le simulazioni sono state eseguite utilizzando un Test bench appositamente scritto per il sistema descritto in VHDL. Il Test bench ha il compito di simulare sia il comportamento di un dispositivo I 2 C master, sia i segnali che proverrebbero dal microsistema integrato. Claudio De Berti 37

38 CAPITOLO 3. INTERFACCIA SERIALE FSM 8 bit byte_out start_cnd register_adr byte_in 6 bit 8 bit stop_cnd scl_f sda_out scl_r sda_ack sda_d mis_ended clock reset Figura 3.13: Il processo FSM controllo_sda sda_out scl_ack sda Figura 3.14: Buffer linea SDA 8 bit 6 bit byte_in register_adr data_ready clock registri_scrittura TEMP_REG1 TEMP_REG2 TEMP_REG3 TEMP_REG4 TEMP_REG5 TEMP_REG6 SET_REG1 SET_REG2 CTRL_REG1 CTRL_REG2 reset mis_ended 8 bit 8 bit 8 bit 8 bit 8 bit 8 bit 8 bit 8 bit 8 bit 8 bit Figura 3.15: Il processo registri scrittura 38 Claudio De Berti

39 3.3. REALIZZAZIONE DELL INTERFACCIA sda scl clock OUT_TEMP2 reset OUT_TEMP1 OUT_REG3 OUT_REG2 clock reset sda_d scl_r scl_f scl stop_cnd sda start_cnd rilevatore_condizioni clock reset register_adr 6 bit 8 bit 8 bit 8 bit 8 bit 8 bit 8 bit 8 bit registri_lettura OUT_REG1 OUT_REG2 OUT_REG3 OUT_TEMP1 OUT_TEMP2 byte_out CTRL_REG1 CTRL_REG2 OUT_REG1 8 bit 8 bit byte_out start_cnd stop_cnd scl_f scl_r sda_d mis_ended clock reset FSM sda_ack sda_out byte_in register_adr data_ready 6 bit 8 bit 8 bit 6 bit scl_ack sda sda_out controllo_sda reset clock CTRL_REG2 mis_ended CTRL_REG1 SET_REG2 data_ready SET_REG1 TEMP_REG6 register_adr TEMP_REG5 TEMP_REG4 byte_in TEMP_REG3 TEMP_REG2 TEMP_REG1 registri_scrittura 8 bit 8 bit 8 bit 8 bit 8 bit 8 bit 8 bit 8 bit 8 bit 8 bit TEMP_REG1 TEMP_REG2 TEMP_REG3 TEMP_REG4 TEMP_REG5 TEMP_REG6 SET_REG1 SET_REG2 CTRL_REG1 CTRL_REG2 Figura 3.16: Sistema digitale Claudio De Berti 39

40 CAPITOLO 3. INTERFACCIA SERIALE Per la simulazione delle sequenze di trasmissione del master, è stato realizzato un apposito Package VHDL che viene richiamato all inizio del Test bench. Il Package racchiude al suo interno delle procedure che applicano le varie condizioni del protocollo ai segnali SDA e SCL. In base alla trasmissione che si vuole simulare, si richiamano nel Test bench le procedure da utilizzare. La soluzione adottata rende flessibile la programmazione del Test bench, permettendo rapide modifiche del codice in funzione alla trasmissione che si vuole simulare. I codici del Test bench e del Package sono riportati nell appendice A. Simulazioni delle sequenze di trasmissione In questo paragrafo vengono riportate le simulazioni svolte relative alle sequenze di trasmissione, descritte precedentemente nel capitolo. La prima simulazione effettuata è relativa alla lettura della misura svolta di default all accensione del sensore. Il Test bench è in grado di stampare alcune informazioni utili alla verifica della simulazione: 1 # ** Note : b y t e CTRL REG1 : # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t 3 # ** Note : b y t e CTRL REG2 : 85 4 # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t 5 # ** Note : b y t e CTRL REG1 : # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t 7 # ** Note : b y t e CTRL REG2 : 85 8 # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t 9 # ** Note : b y t e CTRL REG1 : # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t 11 # ** Note : b y t e CTRL REG2 : # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t 13 # ** Note : Misura d i s p o n i b i l e n e i r e g i s t r i 14 # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t 15 # ** Note : b y t e OUT REG1 : # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t 17 # ** Note : b y t e OUT REG2 : # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t 19 # ** Note : b y t e OUT REG3 : # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t Il Test bench legge dallo slave, ovvero il codice sotto test, il contenuto dei registri CTRL REG1 e CTRL REG2 (i valori sono stati assegnati arbitrariamente). I bit meno significativi dei due registri vengono posti a 0 quando viene ricevuto un 1 dal segnale data ready. Qundo il Test bench riceve i contenuti dei registri decrementati di un unità e passa alla lettura dei registri OUT REG1, OUT REG2 e OUT REG3 (contenenti anch essi valori arbitrari). L andamento temporale dei segnali sotto analisi è riportato in Figura La seconda simulazione riguarda la scrittura dei registri di controllo CTRL REG1 e CTRL REG2, necessaria a far eseguire una nuova conversione della misura di gas. 40 Claudio De Berti

41 3.3. REALIZZAZIONE DELL INTERFACCIA SDA SCL data_ready CTRL_REG1 CTRL_REG2 SDA SCL data_ready CTRL_REG1 CTRL_REG2 SDA SCL data_ready CTRL_REG1 CTRL_REG2 SDA SCL data_ready CTRL_REG1 CTRL_REG2 Figura 3.17: Simulazione della lettura della misura di default Claudio De Berti 41

42 CAPITOLO 3. INTERFACCIA SERIALE SDA SCL data_ready CTRL_REG1 CTRL_REG2 SDA SCL data_ready CTRL_REG1 CTRL_REG2 Figura 3.18: Simulazione della scrittura dei registri di controllo All avvio viene eseguita anche la sequenza di trasmissione utilizzata nella precedente simulazione dal Test bench, dato che bisogna attendere il completamento della misura di default. Le note generate, relative alla parte di trasmissione aggiunta, sono le seguenti: 21 # ** Note : b y t e s c r i t t o in CTRL REG1 : # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t 23 # ** Note : b y t e s c r i t t o in CTRL REG2 : # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t Il grafico dei segnali per questa simulazione è riportato in figura Figura 3.18: si nota immediatamente la variazione del contenuto dei registri CTRL REG1 e CTRL REG2. Completata la seconda simulazione, si è aggiunto un altro segmento alla trasmissione: la sequenza di lettura della misura effettuata. La terza simulazione ha generato le seguenti righe di note: 25 # ** Note : b y t e CTRL REG1 : # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t 27 # ** Note : b y t e CTRL REG2 : # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t 29 # ** Note : b y t e CTRL REG1 : # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t 31 # ** Note : b y t e CTRL REG2 : # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t 33 # ** Note : b y t e CTRL REG1 : # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t 35 # ** Note : b y t e CTRL REG2 : # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t 37 # ** Note : b y t e CTRL REG1 : # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t 39 # ** Note : b y t e CTRL REG2 : # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t 42 Claudio De Berti

43 3.3. REALIZZAZIONE DELL INTERFACCIA 41 # ** Note : Misura d i s p o n i b i l e n e i r e g i s t r i 42 # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t 43 # ** Note : b y t e OUT REG1 : # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t 45 # ** Note : b y t e OUT REG2 : # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t 47 # ** Note : b y t e OUT REG3 : # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t In pratica il Test bench ripete nuovamente le sequenze di trasmissione della prima simulazione: anche in questo caso, al decremento del contenuto dei registri di controllo corrisponde una nuova misura disponibile. Per l andamento temporale dei segnali si può fare riferimento alla Figura 3.18, dato che la sequenza di trasmissione è analoga. Simulazioni di trasmissioni errate Sono state eseguite diverse simulazioni per verificare il corretto comportamento del dispositivo slave in caso di sequenze sul bus non corrette: Se il master invia, dopo la condizione di start, un indirizzo diverso da quello assegnato allo slave, questo non deve inviare l acknowledgement. La simulazione della trasmissione per questo caso ha generato la seguente stampa: 1 # ** Note : Ack non r i c e v u t o d a l l o s l a v e. 2 # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t Il comportamento del dispositivo progettato è corretto. Se si cerca di eseguire la scrittura dei registri di controllo quando è in corso una conversione da parte del microsistema, lo slave deve terminare la trasmissione non inviando l ack. L esecuzione all accensione della seconda simulazione, descritta nel sotto-paragrafo precedente, genera le seguenti note: 1 # ** Note : Ack non r i c e v u t o d a l l o s l a v e. 2 # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t La trasmissione termina per mancata ricezione dell ack a circa 280 µs dall avvio. Il contenuto dei registri non viene modificato. In maniera analoga, se il master richiede la lettura dei registri OUT REGx quando una misura non è stata completata, lo slave deve interrompere la trasmissione. Eseguendo immediatamente la lettura dei registri all accensione del sistema, la simulazione riporta: 1 # ** Note : Ack non r i c e v u t o d a l l o s l a v e. 2 # Time : ns I t e r a t i o n : 0 I n s t a n c e : / t e s t Claudio De Berti 43

44 CAPITOLO 3. INTERFACCIA SERIALE La trasmissione viene terminata dallo slave a circa 190 µs dall avvio: la lettura dei registri viene correttamente inibita quando il loro contenuto è in elaborazione dal circuito. Le simulazioni svolte confermano il corretto funzionamento del codice VHDL che è in grado di rispettare pienamente l algoritmo logico mostrato nella Figura Si può ora passare, nel capitolo successivo, alla descrizione delle fasi di progettazione necessarie alla sintesi, con la tecnologia CMOS adottata, del codice scritto. 44 Claudio De Berti

45 Capitolo 4 Sintesi e Place and Route La prima parte di questo capitolo riguarda la descrizione del processo di sintesi applicato al codice VHDL sviluppato. La seconda parte del capitolo è dedicata, invece, alla descrizione del Place and Route del circuito, ovvero dell insieme delle operazioni da svolgere per ottenere il layout dell interfaccia. 4.1 Sintesi Nei programmi per la sintesi logica, al fine di ottenere uno schema a livello di porte logiche del circuito che deve essere progettato, l utente ne fornisce una descrizione realizzata in linguaggio HDL, corredata di tutti i vincoli e i requisiti richiesti: i vincoli di natura elettronica, che impongono limitazioni sul fanout delle porte e sul carico d uscita; i vincoli sull area, che permettono di imporre dei limiti sulle dimensioni di un determinato componente o dell intero circuito integrato; i vincoli sulla velocità, che specificano i valori massimi di ritardo ammessi per la propagazione dei segnali; anche in questo caso, si può sintetizzare il codice con una direttiva generale finalizzata alla massimizzazione della velocità in funzione del periodo di clock applicato. Un programma di sintesi necessita l accesso alle librerie tecnologiche (technology library) che elencano e descrivono gli elementi logici disponibili; ogni elemento è corredato dalle caratteristiche di ritardo e carico necessarie per consentire di soddisfare i vincoli imposti [13]. Il processo di sintesi logica trasforma una descrizione HDL di un circuito in un elenco (netlist) di elementi di memoria e componenti combinatori presenti nella libreria tecnologica utilizzata. La prima fase di un processo di sintesi consiste nella traduzione della descrizione HDL in una rappresentazione intermedia, che descrive il circuito come interconnessione tra porte ed elementi di memoria generici, non facenti parte delle librerie tecnologiche. Claudio De Berti 45

46 CAPITOLO 4. SINTESI E PLACE AND ROUTE La seconda fase consiste nella pre-ottimizzazione della rappresentazione intermedia del circuito: questa viene elaborata al fine di semplificarne la forma, ad esempio condividendo parti di circuito che erano separate nella descrizione di partenza. Infine, nella fase di ottimizzazione, ogni elemento logico è sostituito dall elemento corrispondente contenuto nelle librerie tecnologiche e, con opportune elaborazioni, il programma di sintesi tenta di soddisfare i vincoli specificati. Se il rispetto dei vincoli non è realizzabile, è necessario rivedere le specifiche progettuali o modificare la descrizione HDL di partenza. In questo progetto la sintesi è stata svolta usando il programma Encounter RTL Compiler prodotto da Cadence per ambiente Linux Esecuzione della sintesi Encounter RTL Compiler è un programma con un interfaccia grafica ridotta e i comandi da eseguire devono essere impartiti da riga di comando. Per semplificare il flusso di progetto, è stato realizzato uno script contenente tutti i comandi utilizzati [14]. L esecuzione dello script non solo avvia la sintesi, ma genera anche tutti i risultati utili alle successive analisi del circuito sintetizzato, riportate nel prossimo paragrafo. Per la consultazione dello script si rimanda all appendice B. La libreria tecnologica utilizzata è la c35 CORELIB 2.21 dell austriamicrosystem. La libreria è sviluppata sullo stesso processo produttivo a 0.35 µm con cui è stato progettato il circuito d interfaccia della matrice. Per la sintesi non si sono assegnati vincoli specifici sull area e la velocità: Encounter utilizza direttive generali per calcolare il migliore trade-off tra area occupata e velocità del circuito. La scelta e il dimensionamento dei componenti logici vengono unicamente svolti in funzione della frequenza operativa del segnale di clock, parametro descritto, con l opportuno comando, all interno dello script Risultati della sintesi Se la sintesi avviene con successo, Encounter genera lo schematico del circuito descritto come interconnessione di componenti logici provenienti dalla libreria tecnologica (Figura 4.1); a scopo esemplificativo, nella Figura 4.2 viene riportato un dettaglio dello schematico che mostra alcune porte logiche utilizzate e il registro d ingresso del segnale scl. L elenco dei componenti utilizzati nel circuito generato è il seguente: Gate I n s t a n c e s Area L i b r a r y ADD c35 CORELIB AOI c35 CORELIB AOI c35 CORELIB AOI c35 CORELIB AOI c35 CORELIB BUFE c35 CORELIB 46 Claudio De Berti

47 4.1. SINTESI Figura 4.1: Schematico generato da Encounter Figura 4.2: Un dettaglio dello schematico Claudio De Berti 47

48 CAPITOLO 4. SINTESI E PLACE AND ROUTE CLKIN c35 CORELIB CLKIN c35 CORELIB CLKIN c35 CORELIB DFC c35 CORELIB DFCP c35 CORELIB DFEC c35 CORELIB DFECP c35 CORELIB DFEP c35 CORELIB DFP c35 CORELIB IMUX c35 CORELIB IMUX c35 CORELIB INV c35 CORELIB INV c35 CORELIB INV c35 CORELIB NAND c35 CORELIB NAND c35 CORELIB NAND c35 CORELIB NAND c35 CORELIB NOR c35 CORELIB NOR c35 CORELIB NOR c35 CORELIB OAI c35 CORELIB OAI c35 CORELIB OAI c35 CORELIB OAI c35 CORELIB XNR c35 CORELIB XOR c35 CORELIB t o t a l Nello schematico ottenuto non è presente alcun tipo di latch: questo significa che il codice VHDL di partenza permette una corretta sintesi in logica sequenziale sincrona. L area totale occupata è di circa 0,065 mm 2, ed è così suddivisa: Type I n s t a n c e s Area Area % s e q u e n t i a l i n v e r t e r t r i s t a t e l o g i c t o t a l Circa tre quarti dell area sono occupati da componenti di logica sequenziale, inverter e porte logiche occupano lo spazio restante; il componente tristate è il buffer utilizzato per il controllo del segnale sulla linea SDA del bus. Completata la sintesi, Encounter genera un file Verilog che descrive la netlist del circuito ottenuto: questo file è fondamentale nella successiva fase di layout del sistema. Il programma inoltre genera un file SDF (Standard Delay Format), al cui interno vengono specificati tutti i ritardi introdotti dai componenti logici utilizzati Simulazioni post-sintesi Il file Verilog e il relativo file SDF possono essere utilizzati per simulare il comportamento del circuito sintetizzato. Le simulazioni sono state svolte in ModelSim. Il programma 48 Claudio De Berti

49 4.1. SINTESI consente l utilizzo della libreria tecnologica c35 CORELIB che rende possibile la corretta interpretazione delle netlist generate da Encounter. Nonostante la netlist sia descritta in Verilog, è possibile riutilizzare il Test bench precedentemente scritto in VHDL. L esecuzione di una simulazione con le annotazioni del file SDF permette di verificare, in prima approssimazione, l effettivo funzionamento del circuito. La simulazione riportata in questo paragrafo comprende le esecuzioni della sequenza per la lettura della misura di default, della sequenza per la scrittura di tutti i registri di controllo e della sequenza per la lettura di tutti i registri contenenti misure. L elenco delle note generate dal Test bench è il seguente: 1 # ** Note : ( vsim 3587) SDF B a c k a n n o t a t i o n S u c c e s s f u l l y Completed. 2 # Time : 0 f s I t e r a t i o n : 0 Region : / t e s t F i l e : D : / VHDL/ I 2 C S l a v e p o s t s i n t e s i / t e s t s l a v e. vhd 3 # ** Note : b y t e CTRL REG1 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 5 # ** Note : b y t e CTRL REG2 : 85 6 # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 7 # ** Note : b y t e CTRL REG1 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 9 # ** Note : b y t e CTRL REG2 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 11 # ** Note : b y t e CTRL REG1 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 13 # ** Note : b y t e CTRL REG2 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 15 # ** Note : Misura d i s p o n i b i l e n e i r e g i s t r i 16 # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 17 # ** Note : b y t e OUT REG1 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 19 # ** Note : b y t e OUT REG2 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 21 # ** Note : b y t e OUT REG3 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 23 # ** Note : b y t e s c r i t t o in TEMP REG1 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 25 # ** Note : b y t e s c r i t t o in TEMP REG2 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 27 # ** Note : b y t e s c r i t t o in TEMP REG3 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 29 # ** Note : b y t e s c r i t t o in TEMP REG4 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 31 # ** Note : b y t e s c r i t t o in TEMP REG5 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 33 # ** Note : b y t e s c r i t t o in TEMP REG6 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 35 # ** Note : b y t e s c r i t t o in SET REG1 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 37 # ** Note : b y t e s c r i t t o in SET REG2 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 39 # ** Note : b y t e s c r i t t o in CTRL REG1 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 41 # ** Note : b y t e s c r i t t o in CTRL REG2 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 43 # ** Note : b y t e CTRL REG1 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 45 # ** Note : b y t e CTRL REG2 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 47 # ** Note : Misura d i s p o n i b i l e n e i r e g i s t r i 48 # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 49 # ** Note : b y t e OUT REG1 : 15 Claudio De Berti 49

50 CAPITOLO 4. SINTESI E PLACE AND ROUTE 50 # Time : ps I t e r a t i o n : 0 I n s t a n c e : / t e s t 51 # ** Note : b y t e OUT REG2 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 53 # ** Note : b y t e OUT REG3 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 55 # ** Note : b y t e OUT TEMP1 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t 57 # ** Note : b y t e OUT TEMP2 : # Time : f s I t e r a t i o n : 0 I n s t a n c e : / t e s t Dai risultati ottenuti, consegue che il codice VHDL è stato correttamente sintetizzato e la netlist generata può essere utilizzata nella successiva fase del progetto, ovvero la realizzazione del layout del circuito. 4.2 Place and Route Con il processo di Place and Route si ottiene il layout di un circuito partendo dalla netlist generata da un programma di sintesi. Il processo è composto dalle seguenti fasi [15]: 1. Floorplanning. In questa fase si determina quale debba essere l area occupata su silicio dal circuito, nonché il rapporto tra altezza e larghezza di quest ultima. Inoltre, si stabilisce il posizionamento dei pin e la loro tipologia. È possibile anche suddividere lo spazio a disposizione in blocchi, nel caso si voglia svolgere il layout di più netlist. 2. Placement. In questa fase vengono posizionati, all interno dell area a disposizione, i componenti logici presenti nella netlist, prelevati dalla libreria tecnologica utilizzata; è possibile posizionare anche macro blocchi non descritti con celle standard, ma di cui si è già eseguito il layout. Il posizionamento è ottimizzato per minimizzare l area occupata e per rispettare eventuali vincoli sulle temporizzazioni di specifici segnali. 3. Routing. In questa fase vengono generate le interconnessioni tra celle e le connessioni dalle celle ai pin. Le piste vengono realizzate utilizzando i livelli di metal a disposizione. 4. Layout Completion. In questa fase viene perfezionato il layout. Ad esempio, il programma può inserire, negli spazi rimasti liberi, delle capacità di disaccoppiamento per migliorare la distribuzione dell alimentazione; oppure può inserire sezioni dummy di metal per migliorare la resa del processo produttivo del circuito; è anche possibile verificare violazioni sulle lunghezze delle linee che potrebbero causare l imprigionamento di cariche elettriche nelle metal durante la realizzazione fisica dell integrato, danneggiando così l ossido dei gate. 5. Layout Verification. Ottenuto il layout del circuito, il programma verifica che le regole di layout siano state rispettate. In questa fase è possibile calcolare le resistenze e le capacità parassite introdotte nel circuito dalla realizzazione fisica delle celle e 50 Claudio De Berti

51 4.2. PLACE AND ROUTE Figura 4.3: Floorplanning del circuito delle interconnessioni; il calcolo delle RC parassite consente di simulare la netlist estratta dal layout con la giusta accuratezza delle temporizzazioni dei segnali Realizzazione del layout Per ottenere il layout del circuito si è utilizzato il programma Encounter Ditital Implementation System RTL-to-GDSII sviluppato da Cadence. Come per il programma di sintesi, anche in questo tool di Enconter l interfaccia grafica è ridotta e tutti i comandi da impartire per l esecuzione del flusso sono testuali. Per questo motivo è stato realizzato uno script (appendice B), con la cui esecuzione si ottiene il layout finito del circuito e la generazione di tutti i file necessari alle successive fasi di progettazione e simulazione. I passaggi eseguiti per l ottenimento del layout dell interfaccia sono descritti di seguito in questo paragrafo. Floorplanning Al momento si è assegnata all area del circuito una forma quadrata. Quando verrà assemblato il layout di tutto il microsistema, probabilmente sarà necessario modificare la forma in funzione dell ottimizzazione della superficie totale occupata da tutti i componenti. L area è calcolata dal programma al fine di minimizzare lo spazio occupato e risulta essere di 0,075 mm 2. Ai bordi dell area del circuito vengono posizionati i pin, procedura svolta manualmente al primo avvio del processo di Place and Route ; il posizionamentod dei pin è poi salvato in uno specifico file che verrà richiamato dallo script. Anche l orientamento dei pin potrà subire modifiche in funzione delle richieste di layout del sistema. La struttura che si ottiene è mostrata in Figura 4.3. Il circuito presenta un area centrale suddivisa in righe che è dedicata al posizionamento delle celle. Claudio De Berti 51

52 CAPITOLO 4. SINTESI E PLACE AND ROUTE Figura 4.4: Layout delle alimentazioni Placement Il primo passo della fase di placement consiste nel posizionamento degli anelli di alimentazione (Power Ring) realizzati in metal: il più esterno per la vdd e il più interno per la gnd (blu=metal 1, rosso=metal 2). Le righe destinate alle celle vengono dotata delle alimentazioni tramite delle linee in Metal 1 (Power Stripes) che corrono per tutta la loro lunghezza. L adattamento tra gli anelli e le righe di alimentazione viene svolto da delle apposite celle posizionate all inizio e alla fine di ogni riga (End Cap Cells). Dopo questi passaggi, la struttura si presenta come in Figura 4.4. A questo punto viene effettuato il posizionamento dei componenti logici richiamati dalla netlist (Figura 4.5). Il programma cerca di trovare l ordine di posizionamento ottimale per ridurre al minimo le lunghezze delle successive interconnessioni tra le celle. Una volta posizionate le celle, viene eseguita la sintesi del clock tree (CTS) [16]. Le interconnessioni fisiche introducono capacità parassite e rumore sui segnali che trasportano; inoltre i carichi capacitivi sono distribuiti in maniera non uniforme. Nonostante questo inconveniente, il layout deve offrire un segnale di clock idealmente identico a tutti i componenti sincroni del circuito. Per questa ragione, il programma utilizza algoritmi per il calcolo della distribuzione ottimale del segnale di clock, in funzione dei vincoli assegnati sulle temporizzazioni. Il processo di sintesi introduce, dove necessario, dei buffer per ripristinare le caratteristiche del segnale e delle capacità per uniformare la distribuzione dei carichi. Il risultato della CTS è chiamato albero di distribuzione del clock: i buffer introdotti rappresentano le ramificazioni, mentre i carichi capacitivi e i componenti sincroni rappresentano le foglie. Terminata la CTS, nessun altro componete dovrà essere posizionato. Gli spazi rimasti liberi dell area a disposizione vengono riempiti da celle prive di alcuna funzione (Filler Cells) con lo scopo di aumentare l omogeneità superficiale del layout, andando a 52 Claudio De Berti

53 4.2. PLACE AND ROUTE Figura 4.5: Posizionamento delle celle migliorare la resa del processo produttivo. Routing Il passo finale per completare il layout è la realizzazione delle interconnessioni. Encounter calcola la migliore disposizione possibile per le linee dei segnali in funzione del posizionamento delle celle e dei pin, tenendo anche conto del clock tree calcolato nella CTS. Il layout del circuito, completo di interconnessioni, è mostrato in Figura 4.6. Figura 4.6: Layout completato Claudio De Berti 53

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

Dettagli

LABORATORIO DI SISTEMI

LABORATORIO DI SISTEMI ALUNNO: Fratto Claudio CLASSE: IV B Informatico ESERCITAZIONE N : 1 LABORATORIO DI SISTEMI OGGETTO: Progettare e collaudare un circuito digitale capace di copiare le informazioni di una memoria PROM in

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von

Dettagli

Reti sequenziali sincrone

Reti sequenziali sincrone Reti sequenziali sincrone Un approccio strutturato (7.1-7.3, 7.5-7.6) Modelli di reti sincrone Analisi di reti sincrone Descrizioni e sintesi di reti sequenziali sincrone Sintesi con flip-flop D, DE, T

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Premessa Con l analisi di sensitività il perito valutatore elabora un range di valori invece di un dato

Dettagli

ARCHITETTURA DI RETE FOLEGNANI ANDREA

ARCHITETTURA DI RETE FOLEGNANI ANDREA ARCHITETTURA DI RETE FOLEGNANI ANDREA INTRODUZIONE È denominata Architettura di rete un insieme di livelli e protocolli. Le reti sono organizzate gerarchicamente in livelli, ciascuno dei quali interagisce

Dettagli

Laurea Specialistica in Informatica

Laurea Specialistica in Informatica Corso di Laurea in FISICA Laurea Specialistica in Informatica Fisica dell informazione 1 Elementi di Architettura degli elaboratori Prof. Luca Gammaitoni Informazioni sul corso: www.fisica.unipg unipg.it/gammaitoni/fisinfoit/gammaitoni/fisinfo

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE INDUSTRIA E ARTIGIANATO TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI DESCRIZIONE DELLA FIGURA

Dettagli

Chapter 1. Circuiti sequenziali: macchine a stati

Chapter 1. Circuiti sequenziali: macchine a stati Chapter 1 Circuiti sequenziali: macchine a stati Nella prima parte del corso ci siamo occupati dei circuiti combinatori. In un circuito combinatorio con un ouput Z funzione degli input X 1 ; : : : X n,

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

ALGEBRA DELLE PROPOSIZIONI

ALGEBRA DELLE PROPOSIZIONI Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi.

IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi. IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi. Negli ultimi anni, il concetto di risparmio energetico sta diventando di fondamentale

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

L applicazione dei vettori di collaudo

L applicazione dei vettori di collaudo L applicazione dei vettori di collaudo Fulvio Corno Maurizio Rebaudengo Matteo Sonza Reorda Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Introduzione Gli ATE I programmi di collaudo.

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Dettagli

Corso di. Dott.ssa Donatella Cocca

Corso di. Dott.ssa Donatella Cocca Corso di Statistica medica e applicata Dott.ssa Donatella Cocca 1 a Lezione Cos'è la statistica? Come in tutta la ricerca scientifica sperimentale, anche nelle scienze mediche e biologiche è indispensabile

Dettagli

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC. Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC. Avviso di mancata consegna L avviso, emesso dal sistema, per indicare l anomalia

Dettagli

C. P. U. MEMORIA CENTRALE

C. P. U. MEMORIA CENTRALE C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

Calcolatori Elettronici B a.a. 2006/2007

Calcolatori Elettronici B a.a. 2006/2007 Calcolatori Elettronici B a.a. 2006/2007 RETI LOGICHE: RICHIAMI Massimiliano Giacomin 1 Due tipi di unità funzionali Elementi di tipo combinatorio: - valori di uscita dipendono solo da valori in ingresso

Dettagli

Introduzione all analisi dei segnali digitali.

Introduzione all analisi dei segnali digitali. Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza

Dettagli

LA PROGETTAZIONE DI UN NUOVO STRUMENTO PER IL WEB

LA PROGETTAZIONE DI UN NUOVO STRUMENTO PER IL WEB UNIVERSITÀ DEGLI STUDI DI PADOVA FACOLTÀ DI LETTERE E FILOSOFIA CORSO DI LAUREA MAGISTRALE IN STRATEGIE DI COMUNICAZIONE LA PROGETTAZIONE DI UN NUOVO STRUMENTO PER IL WEB LA PROPOSTA DI UN MODELLO MIRATO

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,

Dettagli

Calcolatori: Algebra Booleana e Reti Logiche

Calcolatori: Algebra Booleana e Reti Logiche Calcolatori: Algebra Booleana e Reti Logiche 1 Algebra Booleana e Variabili Logiche I fondamenti dell Algebra Booleana (o Algebra di Boole) furono delineati dal matematico George Boole, in un lavoro pubblicato

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

Gestione dei segnali analogici nei sistemi di automazione industriale con PLC.

Gestione dei segnali analogici nei sistemi di automazione industriale con PLC. Gestione dei segnali analogici nei sistemi di automazione industriale con PLC. Nelle automazioni e nell industria di processo si presenta spesso il problema di gestire segnali analogici come temperature,

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI Un utilizzatore a valle di sostanze chimiche dovrebbe informare i propri fornitori riguardo al suo utilizzo delle sostanze (come tali o all

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

Indice. pagina 2 di 10

Indice. pagina 2 di 10 LEZIONE PROGETTAZIONE ORGANIZZATIVA DOTT.SSA ROSAMARIA D AMORE Indice PROGETTAZIONE ORGANIZZATIVA---------------------------------------------------------------------------------------- 3 LA STRUTTURA

Dettagli

Gestione Risorse Umane Web

Gestione Risorse Umane Web La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...

Dettagli

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007

Macchine a stati finiti. Sommario. Sommario. M. Favalli. 5th June 2007 Sommario Macchine a stati finiti M. Favalli 5th June 27 4 Sommario () 5th June 27 / 35 () 5th June 27 2 / 35 4 Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

Dettagli

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE Pag. 1 di 16 SOFTWARE A SUPPORTO DELLA (VERS. 3.1) Specifica dei Requisiti Utente Funzionalità di associazione di più Richiedenti ad un procedimento Codice Identificativo VERIFICHE ED APPROVAZIONI CONTROLLO

Dettagli

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO

Macchine a stati finiti G. MARSELLA UNIVERSITÀ DEL SALENTO Macchine a stati finiti 1 G. MARSELLA UNIVERSITÀ DEL SALENTO Introduzione Al più alto livello di astrazione il progetto logico impiega un modello, la cosiddetta macchina a stati finiti, per descrivere

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

LA CORRENTE ELETTRICA

LA CORRENTE ELETTRICA L CORRENTE ELETTRIC H P h Prima che si raggiunga l equilibrio c è un intervallo di tempo dove il livello del fluido non è uguale. Il verso del movimento del fluido va dal vaso a livello maggiore () verso

Dettagli

SDD System design document

SDD System design document UNIVERSITA DEGLI STUDI DI PALERMO FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA TESINA DI INGEGNERIA DEL SOFTWARE Progetto DocS (Documents Sharing) http://www.magsoft.it/progettodocs

Dettagli

SymCAD/C.A.T.S. modulo Canali Schema

SymCAD/C.A.T.S. modulo Canali Schema SymCAD/C.A.T.S. modulo Canali Schema Il modulo Ventilazione Standard permette di effettuare la progettazione integrata (disegno e calcoli) in AutoCAD di reti di canali aria (mandata e ripresa). Il disegno

Dettagli

TECNICHE DI SIMULAZIONE

TECNICHE DI SIMULAZIONE TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante:

Macchine a stati finiti. Sommario. Sommario. M. Favalli. Le macchine a stati si utilizzano per modellare di sistemi fisici caratterizzabili mediante: Sommario Macchine a stati finiti M. Favalli Engineering Department in Ferrara 4 Sommario (ENDIF) Analisiesintesideicircuitidigitali / 35 (ENDIF) Analisiesintesideicircuitidigitali 2 / 35 4 Le macchine

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica I componenti di un Sistema di elaborazione. Memoria centrale Memorizza : istruzioni dati In forma BINARIA : 10001010101000110101... È costituita da una serie di CHIP disposti su una scheda elettronica

Dettagli

FIRESHOP.NET. Gestione del taglia e colore. www.firesoft.it

FIRESHOP.NET. Gestione del taglia e colore. www.firesoft.it FIRESHOP.NET Gestione del taglia e colore www.firesoft.it Sommario SOMMARIO Introduzione... 3 Configurazione iniziale... 5 Gestione delle varianti... 6 Raggruppamento delle varianti... 8 Gestire le varianti

Dettagli

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput Valutazione delle Prestazioni Architetture dei Calcolatori (Lettere A-I) Valutazione delle Prestazioni Prof. Francesco Lo Presti Misura/valutazione di un insieme di parametri quantitativi per caratterizzare

Dettagli

Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio

Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio Pillola operativa Integrazione Generazione Dettagli Contabili INFORMAZIONI

Dettagli

Dispositivi di rete. Ripetitori. Hub

Dispositivi di rete. Ripetitori. Hub Ripetitori Dispositivi di rete I ripetitori aumentano la distanza che può essere ragginta dai dispositivi Ethernet per trasmettere dati l'uno rispetto all'altro. Le distanze coperte dai cavi sono limitate

Dettagli

Sistema ATM con rete NetRail. Divisione elco srl

Sistema ATM con rete NetRail. Divisione elco srl Sistema ATM con rete NetRail Divisione elco srl Introduzione Verrà di seguito descritto un sistema di gestione degli impianti automotore di tipo evoluto. Questo sistema si basa sull'utilizzo di una rete

Dettagli

Il servizio di registrazione contabile. che consente di azzerare i tempi di registrazione delle fatture e dei relativi movimenti contabili

Il servizio di registrazione contabile. che consente di azzerare i tempi di registrazione delle fatture e dei relativi movimenti contabili Il servizio di registrazione contabile che consente di azzerare i tempi di registrazione delle fatture e dei relativi movimenti contabili Chi siamo Imprese giovani e dinamiche ITCluster nasce a Torino

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

Circuiti sequenziali e elementi di memoria

Circuiti sequenziali e elementi di memoria Il Livello Logicoigitale I circuiti sequenziali Corso ACSO prof. Cristina SILVANO Politecnico di Milano Sommario Circuiti sequenziali e elementi di memoria Bistabile SR asincrono Temporizzazione e clock

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

Trasmissione di dati al di fuori di un area locale avviene tramite la commutazione

Trasmissione di dati al di fuori di un area locale avviene tramite la commutazione Commutazione 05.2 Trasmissione di dati al di fuori di un area locale avviene tramite la Autunno 2002 Prof. Roberto De Prisco -05: Reti a di circuito Università degli studi di Salerno Laurea e Diploma in

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Dettagli

Manuale di Aggiornamento BOLLETTINO. Rel. 5.20.1H4. DATALOG Soluzioni Integrate a 32 Bit

Manuale di Aggiornamento BOLLETTINO. Rel. 5.20.1H4. DATALOG Soluzioni Integrate a 32 Bit Manuale di Aggiornamento BOLLETTINO Rel. 5.20.1H4 DATALOG Soluzioni Integrate a 32 Bit - 2 - Manuale di Aggiornamento Sommario 1 2 PER APPLICARE L AGGIORNAMENTO... 3 1.1 Aggiornamento Patch Storica...

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

Circuiti amplificatori

Circuiti amplificatori Circuiti amplificatori G. Traversi Strumentazione e Misure Elettroniche Corso Integrato di Elettrotecnica e Strumentazione e Misure Elettroniche 1 Amplificatori 2 Amplificatori Se A V è negativo, l amplificatore

Dettagli

ARTICOLO TECNICO Smart-MED-Parks: il Software

ARTICOLO TECNICO Smart-MED-Parks: il Software ARTICOLO TECNICO Smart-MED-Parks: il Software Introduzione Da Febbraio 2013, data di lancio del progetto Smart-MED-Parks, sono state realizzate un insieme di azioni al fine di: - Aumentare il livello di

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include

Dettagli

Raggruppamenti Conti Movimenti

Raggruppamenti Conti Movimenti ESERCITAZIONE PIANO DEI CONTI Vogliamo creare un programma che ci permetta di gestire, in un DB, il Piano dei conti di un azienda. Nel corso della gestione d esercizio, si potranno registrare gli articoli

Dettagli

Le fattispecie di riuso

Le fattispecie di riuso Le fattispecie di riuso Indice 1. PREMESSA...3 2. RIUSO IN CESSIONE SEMPLICE...4 3. RIUSO CON GESTIONE A CARICO DEL CEDENTE...5 4. RIUSO IN FACILITY MANAGEMENT...6 5. RIUSO IN ASP...7 1. Premessa Poiché

Dettagli

Introduzione alle misure con moduli multifunzione (DAQ)

Introduzione alle misure con moduli multifunzione (DAQ) Facoltà di Ingegneria Università degli Studi di Firenze Dipartimento di Elettronica e Telecomunicazioni Introduzione alle misure con moduli multifunzione (DAQ) Ing. Andrea Zanobini - Maggio 2012 Dipartimento

Dettagli

FIRESHOP.NET. Gestione completa degli ordini e degli impegni. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione completa degli ordini e degli impegni. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione completa degli ordini e degli impegni Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 3 Gli ordini a fornitore... 5 Gli impegni dei clienti... 7 Evadere gli ordini

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

CAPITOLO 20 AGGIORNAMENTO DEL CODICE DI STOCCAGGIO

CAPITOLO 20 AGGIORNAMENTO DEL CODICE DI STOCCAGGIO CAPITOLO 20 AGGIORNAMENTO DEL CODICE DI STOCCAGGIO 20.1 PREMESSA... 255 20.2 COMITATO DI CONSULTAZIONE... 255 20.3 SOGGETTI TITOLATI A PRESENTARE RICHIESTE DI MODIFICA... 255 20.4 REQUISITI DI RICEVIBILITA

Dettagli

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0 Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2

Dettagli

REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA UFFICIO SOCIETÀ DELL INFORMAZIONE

REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA UFFICIO SOCIETÀ DELL INFORMAZIONE REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA UFFICIO SOCIETÀ DELL INFORMAZIONE Bando pubblico per lo sviluppo della rete a Banda Larga nelle aree a fallimento di mercato finalizzato al superamento

Dettagli

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING Febbraio Inserto di Missione Impresa dedicato allo sviluppo pratico di progetti finalizzati ad aumentare la competitività delle imprese. COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING COS E UN

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

CATALOGO E-COMMERCE E NEGOZIO A GRIGLIA

CATALOGO E-COMMERCE E NEGOZIO A GRIGLIA CATALOGO E-COMMERCE E NEGOZIO A GRIGLIA In questo tutorial verrà illustrato come sfruttare la flessibilità del componente "Catalogo E-commerce" per realizzare un classico negozio a griglia, del tipo di

Dettagli

Misure di frequenza e di tempo

Misure di frequenza e di tempo Misure di frequenza e di tempo - 1 Misure di frequenza e di tempo 1 - Contatori universali Schemi e circuiti di riferimento Per la misura di frequenza e di intervalli di tempo vengono diffusamente impiegati

Dettagli

Macchine sequenziali

Macchine sequenziali Corso di Calcolatori Elettronici I A.A. 2010-2011 Macchine sequenziali Lezione 14 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Automa a Stati Finiti (ASF) E una prima astrazione di

Dettagli

CAPACITÀ DI PROCESSO (PROCESS CAPABILITY)

CAPACITÀ DI PROCESSO (PROCESS CAPABILITY) CICLO DI LEZIONI per Progetto e Gestione della Qualità Facoltà di Ingegneria CAPACITÀ DI PROCESSO (PROCESS CAPABILITY) Carlo Noè Università Carlo Cattaneo e-mail: cnoe@liuc.it 1 CAPACITÀ DI PROCESSO Il

Dettagli

PLC Programmable Logic Controller

PLC Programmable Logic Controller PLC Programmable Logic Controller Sistema elettronico, a funzionamento digitale, destinato all uso in ambito industriale, che utilizza una memoria programmabile per l archiviazione di istruzioni orientate

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X.

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X. Algebra Di Boole L algebra di Boole è un ramo della matematica basato sul calcolo logico a due valori di verità (vero, falso). Con alcune leggi particolari consente di operare su proposizioni allo stesso

Dettagli

CONVERTITORI DIGITALE/ANALOGICO (DAC)

CONVERTITORI DIGITALE/ANALOGICO (DAC) CONVERTITORI DIGITALE/ANALOGICO (DAC) Un convertitore digitale/analogico (DAC: digital to analog converter) è un circuito che fornisce in uscita una grandezza analogica proporzionale alla parola di n bit

Dettagli

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo Logica Numerica Approfondimento E. Barbuto Minimo Comune Multiplo e Massimo Comun Divisore Il concetto di multiplo e di divisore Considerato un numero intero n, se esso viene moltiplicato per un numero

Dettagli

Application note. CalBatt NomoStor per i sistemi di accumulo di energia

Application note. CalBatt NomoStor per i sistemi di accumulo di energia 1. Panoramica Application note CalBatt NomoStor per i sistemi di accumulo di energia Gli Energy Management Systems () sono dispositivi atti al controllo dei flussi di energia dalle sorgenti di produzione

Dettagli

Reti sequenziali. Esempio di rete sequenziale: distributore automatico.

Reti sequenziali. Esempio di rete sequenziale: distributore automatico. Reti sequenziali 1 Reti sequenziali Nelle RETI COMBINATORIE il valore logico delle variabili di uscita, in un dato istante, è funzione solo dei valori delle variabili di ingresso in quello stesso istante.

Dettagli

Project Management. Modulo: Introduzione. prof. ing. Guido Guizzi

Project Management. Modulo: Introduzione. prof. ing. Guido Guizzi Project Management Modulo: Introduzione prof. ing. Guido Guizzi Definizione di Project Management Processo unico consistente in un insieme di attività coordinate con scadenze iniziali e finali, intraprese

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014 Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi

Dettagli

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...

Dettagli

Mon Ami 3000 Conto Lavoro Gestione del C/Lavoro attivo e passivo

Mon Ami 3000 Conto Lavoro Gestione del C/Lavoro attivo e passivo Prerequisiti Mon Ami 3000 Conto Lavoro Gestione del C/Lavoro attivo e passivo L opzione Conto lavoro è disponibile per le versioni Azienda Light e Azienda Pro. Introduzione L opzione Conto lavoro permette

Dettagli

Testi di Esercizi e Quesiti 1

Testi di Esercizi e Quesiti 1 Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica

Dettagli

Sommario. Introduzione 1

Sommario. Introduzione 1 Sommario Introduzione 1 1 Il Telecontrollo 1.1 Introduzione... 4 1.2 Prestazioni di un sistema di Telecontrollo... 8 1.3 I mercati di riferimento... 10 1.3.1 Il Telecontrollo nella gestione dei processi

Dettagli

DISCIPLINA TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

DISCIPLINA TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI DISCIPLINA TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI INDIRIZZO DI INFORMATICA E TELECOMUNICAZIONI ARTICOLAZIONE TELECOMUNICAZIONI Utilizzare consapevolmente gli strumenti

Dettagli