7. I linguaggi descrittivi HDL.
|
|
- Irene Volpe
- 6 anni fa
- Visualizzazioni
Transcript
1 Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo I linguaggi descrittivi HDL. Introduzione. I linguaggi descrittivi HDL (Hardware Description Language) nascono negli anni 80 con lo scopo di documentare progetti hardware complessi. L esigenza era essenzialmente quella di utilizzare una metodologia standard per descrivere il comportamento dei sistemi elettronici. Questi linguaggi sono molto simili ai linguaggi software, ma contemplano costrutti atti alla definizione di architetture e di funzionalità tipiche dell hardware, come la sincronizzazione ed il parallelismo tra processi. Se inizialmente questi linguaggi sono sfruttati al solo scopo di documentazione, ben presto essi vengono utilizzati anche per la simulazione al fine di verificare il corretto comportamento del sistema. Ciò naturalmente è molto importante per rendersi conto della correttezza dell algoritmo scelto per la risoluzione di un particolare problema. A questo livello nel programma che descrive il funzionamento possono essere introdotti costrutti sintattici che prescindono dalla vera e propria implementazione hardware del sistema. L aumento degli anni della complessità dei sistemi, permessa anche dal progredire incessante della tecnologia, ha reso sempre più stringente l esigenza di automatizzare al massimo le procedure di sintesi. Tecniche ed algoritmi sempre più sofisticati hanno permesso di sviluppare CAD che avessero capacità di tradurre descrizioni ad alto livello di sistemi elettronici in architetture che facessero riferimento direttamente a blocchi logici di libreria. Naturalmente il tipo di descrizione di sistemi, al fine della loro successiva sintesi, non può più prescindere dall implementazione e la sintassi del linguaggio deve rispettare alcuni vincoli precisi che ne rendano possibile l implementazione, primo tra questi la necessità che il sistema sia sincrono. Questo implica che qualsiasi blocco logico abbia le uscite registrate, ovvero che qualsiasi variazione in uscita sia sincrona con il fronte attivo del clock. Ciò si ottiene appunto attraverso l uso di un flip-flop. La tipologia di descrizione adatta ad essere sintetizzata è la descrizione RTL (Register Transfer Logic). In essa viene specificata l architettura del sistema con la descrizione del flusso di dati attraverso i registri che fungono da unità di memorizzazione delle informazioni. I linguaggi HDL attualmente più utilizzati sono il VHDL (VHSIC, Very High Speed Integrated Circuits HDL) diffuso soprattutto in Europa, la cui sintassi richiama quella del Pascal e soprattutto dell ADA, e il Verilog, più simile al C è attualmente in via di rapida diffusione a causa della sua maggiore semplicità rispetto al VHDL, in confronto molto più prolisso. Utilizzo dei linguaggi HDL. I campi di utilizzo dei linguaggi descrittivi HDL possono essere classificati, secondo la loro finalità, nelle seguenti categorie. 1. Descrizione di sistemi al fine di effettuarne la sintesi. 2. Descrizione di sistemi al fine di descriverne il comportamento. 3. Descrizione strutturale del sistema. 4. Descrizione del testbench.
2 Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 7-2 La descrizione al fine della sintesi deve essere una descrizione RTL e deve prevedere solo costrutti sintetizzabili. La descrizione comportamentale di blocchi logici è effettuata prima di prevedere la realizzazione RTL di un blocco da sintetizzare, oppure dopo la sintesi per descrivere il comportamento di un modulo già sintetizzato e mappato su una certa tecnologia. Ciò dà la possibilità di simulare insieme blocchi diversi, alcuni dei quali descritti in RTL ed altri in attraverso la loro funzionalità. Ciò può essere importantissimo quando alcuni dei blocchi hardware sono moduli esterni al sistema da progettare e quindi da sintetizzare, ma fanno parte integrante del sistema globale. Si pensi, ad esempio, di dover progettare un sistema che debba interagire con un microprocessore standard e una memoria. La descrizione strutturale del sistema consiste in un listato che contiene le istanze dei moduli e le loro interconnessioni. Ciò costituisce la netlist del sistema che viene utilizzata soprattutto nell interscambio di dati tra diversi pacchetti software. Esistono linguaggi appositamente studiati solo per questo scopo, come ad esempio l EDIF, ma possono essere utilizzati anche gli i comuni linguaggi HDL. La descrizione del testbench, ovvero del banco di prova, è una descrizione comportamentale degli stimoli esterni del sistema. Questo approccio permette di descrivere i segnali in ingresso e di controllare quelli in uscita per verificare se corrispondono a quello attesi semplificando notevolmente la fase di test. Questa descrizione, come illustrato in Figura 1, costituisce a tutti gli effetti un modulo del sistema. Testbench module Figura 1 Modulo di testbench Partizione del sistema. La partizione di un sistema elettronico è la fase che precede quella vera e propria di descrizione dei singoli moduli a livello RTL e consiste nella sua suddivisione in sottoblocchi. Questa è effettuata direttamente a livello di descrizione HDL dal progettista programmatore oppure dal compilatore che per effettuare particolari ottimizzazioni raggruppa moduli indipendenti o suddivide moduli singoli. Normalmente i criteri che orientano la partizione sono la suddivisione in moduli secondo la funzione espletata, l orientamento del progettista e l ottenimento dei migliori risultati dalla successiva fase di sintesi. Da una attenta analisi si riescono infatti a ottenere oggetti sintetizzati ottimali, più semplici ed in tempi più brevi.
3 Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 7-3 Si possono identificare alcune regole alla base dei criteri di partizione. L idea è sempre quella di rendere indipendenti parti del circuito per le quali esistono algoritmi di ottimizzazione specialistici. Alcune di queste regole inoltre sono del tutto generali e valgono non solo per l obiettivo di ottenere una sintesi ottimale, ma sono buone norme anche per la progettazione diretta di qualsiasi circuito elettronico. 1. Non introdurre gerarchie nei cammini combinatori. Questo implica il non portare su moduli differenti blocchi combinatori che potrebbero essere inglobati su un modulo singolo. Non possiamo infatti prevedere a priori quanto possa essere spinta l ottimizzazione sul blocco combinatorio intero. 2. Registrare tutte le uscite di ogni blocco. Porre ovvero un flip-flop comandato dal clock globale del sistema su tutte le uscite dei moduli. 3. Evitare di porre glue-logic (tipo poche porte di collegamento) tra blocchi. 4. Separare i progetti con differenti obiettivi di ottimizzazione. Ciò significa evitare di porre in un unico modulo due sottoblocchi per i quali sarebbero auspicabili criteri di ottimizzazione differenti. Ad esempio un blocco, molto critico, potrebbe essere ottimizzato per velocità, ed un secondo per area. 5. Isolare le macchine a stati. Esistono algoritmi molto efficienti per ottimizzare questo tipo di circuiti di controllo, ma questi funzionano solo se non sono presenti altri elementi combinatori e/o sequenziali che non ne fanno parte logicamente. 6. Mantenere una adeguata dimensione dei blocchi. Evitare di realizzare moduli che generano circuiti di dimensioni molto differenti tra loro. Ciò renderebbe difficile il floorplan e lunga la sintesi di blocchi troppo grandi. 7. Separare nel sistema la core-logic, i pads, i clock, e la logica JTAG. Ognuno di questi componenti ha sistemi specifici di sintesi e di ottimizzazione. Descrizione RTL di sistemi elettronici. La descrizione RTL è, come detto, la modalità tipica usata per la sintesi. Un modulo RTL sarà costituito da parti combinatorie le cui uscite sono registrate e i cui ingressi provengono dall esterno del modulo o dall uscita di altri registri interni al modulo stesso, come mostrato dall esempio di Figura 2. Figura 2 Schematico RTL di un sistema
4 Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 7-4 Tutti registri del modulo sono flip-flop, ovvero sono comandati su un fronte del clock (lo stesso per tutti i moduli del sistema) e sono ovviamente sincroni, ovvero il fronte attivo del clock comanda contemporaneamente tutti i flip-flop. Se dalla fase di sintesi risulterà che alcuni registri sono stati tradotti in hardware come latch, ovvero comandati sul livello anziché sul fronte, ciò significherà un errore in fase di descrizione del sistema. Una struttura così descritta agevola enormemente la fase di sintesi e, soprattutto, di ottimizzazione. Una volta stabilito infatti il tempo di clock, le procedure di ottimizzazione cercheranno di tradurre in hardware ogni blocco combinatorio in modo che il tempo di ritardo sul cammino critico aggiunto ai tempi di ritardo propri di setup e di hold dei flip-flop, sia minore del tempo di clock stesso. Ogni blocco combinatorio registrato può essere descritto in due sezioni separando la parte combinatoria da quella sequenziale come illustrato dallo schema in Figura 3. A B C clock Figura 3 Separazione della parte combinatoria e sequenziale La prima specifica le uscite B del solo blocco combinatorio al variare degli ingressi A, mentre la seconda sincronizza le uscite C del registro, eventualmente a più bit, i cui ingressi B provengono dalle uscite della parte combinatoria. Il Verilog. Il Verilog è un linguaggio di descrizione hardware che permette la descrizione di un sistema digitale in un ampio spettro di livelli di astrazione, dal comportamentale allo strutturale. Esso include inoltre costrutti gerarchici che permettono al progettista di controllare facilmente la complessità di un sistema. Il Verilog è stato originariamente sviluppato alla fine del 1983 come prodotto proprietario della Cadence per la simulazione e verifica, ma successivamente sono stati sviluppati numerosi strumenti per la simulazione dei guasti, l analisi temporale e la sintesi. Il linguaggio è attualmente standardizzato dallo standard IEEE ed è disponibile per l utilizzo con qualsiasi CAD elettronico. L organizzazione Open Verilog International ( ne promuove la diffusione. Per quanto riguarda la sintassi del linguaggio si rimanda ad un testo specifico.
5 Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 7-5 Calcolo delle capacità e dei tempi di ritardo. Il calcolo delle capacità è necessario al calcolo dei tempi di ritardo. La capacità di uscita può essere vista come la somma delle capacità di ingresso delle porte alle quali quella in questione è collegata e di quella relativa alle linee di connessione in uscita. In Synopsys di default la prima viene posta a zero, mentre la seconda è calcolata attraverso il Wireload Model. Si può specificare il carico in unità di carico, attraverso: un numero, il nome di una cella, un multiplo di una cella. Il compilatore usa il carico di fanout per regolare il fanout massimo. Se il fanout esterno più quello interno eccede il fanout massimo, verranno aggiunti dei buffer opportuni. Il compilatore ottimizza il progetto basandosi sulle condizioni operative del processo, della tensione e della temperatura come illustrato in Figura 4. Delay Delay Delay Processo Tensione Temperatura Figura 4 Variazioni del tempo di ritardo I ritardi relativi alle celle e alle linee verranno opportunamente scalati secondo le condizioni operative. Le librerie sono normalmente caratterizzate usando le condizioni operative nominali. L ottimizzatore usa i modelli di Wire Load per stimare la capacità, la resistenza e l area delle linee prima del floorplanning o del layout. Il modello di Wire Load è basato sulla lunghezza media statistica di una linea per un dato fanout per una certa area. Attraverso una opzione si può specificare quale Wire Load Model usare per linee che attraversano i confini gerarchici. I tre modelli possibili sono: top, enclosed e segmented. Il modello top ignora i livelli più bassi di wireloads. Il modello enclosed usa la migliore approssimazione per il wireload. Il modello segmented usa alcuni wireloads. Alcune variabili permettono di specificare: il tempo di transizione maggiore sulle porte, il massimo fanout sulle porte di ingresso, la massima capacità sulle porte. Le regole di progetto contengono i vincoli sulle linee, ma sono associate con le uscite delle celle per una certa libreria tecnologica. Molte librerie specificano le regole di progetto di default. Tali regole non devono essere assolutamente violate, poiché questo interferirebbe sui vincoli legati alle ottimizzazioni. Un progettista può pensare di eseguire il progetto con regole più restrittive di quelle dettate dalle regole di progetto, ma non meno restrittive. Le regole di progetto non sono applicate alle porte. Queste ereditano le regole delle celle che pilotano le uscite o che ricevono i segnali di ingresso.
6 Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 7-6 Il Wire Load Model descrive il modello per il calcolo della lunghezza e della capacità delle linee (vedi Figura 5). Lunghezza Fanout Figura 5 Calcolo delle capacità delle linee Esempio: wire_load ( 10x10 ) { resistance : 0.5 capacitance : 1.1 area : 0.05 slope : 0.5 fanout_length (1, 2.6) fanout_length (3, 2.9) fanout_length (5, 3.2) fanout_length (7, 3.9) fanout_length (9, 4.1) fanout_length (10, 4.7) } L ottimizzatore calcola la lunghezza attraverso l interpolazione tra due valori o lo slope. Attraverso il coefficiente di capacità viene dunque calcolata la capacità relativa e il coefficiente di area viene calcolata l area della linea. I ritardi delle celle sono calcolati usando uno dei seguenti quattro diversi modelli fornito dalla fonderia: 1. Modello lineare. 2. Modello lineare a due tratti. 3. Modello lineare a più tratti. 4. Modello non lineare.
Progettazione di circuiti integrati
Architetture e reti logiche Esercitazioni VHDL a.a. 2007/08 Progettazione di circuiti integrati Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari
DettagliProgettazione di circuiti integrati
Architetture e Reti logiche Esercitazioni VHDL a.a. 2003/04 Progettazione di circuiti integrati Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari
DettagliCos è il VHDL. Il VHDL è un linguaggio standard per la descrizione dell hardware
Cos è il VHDL Il VHDL è un linguaggio standard per la descrizione dell hardware E stato introdotto negli anni 80 nell ambito di un progetto del dipartimento della difesa statunitense denominato VHSIC (Very
DettagliIL VHDL. Perché si usa un linguaggio di descrizione dell'hardware? Permette di formalizzare il progetto di sistemi digitali complessi
IL VHDL Cosa è il VHDL? NON è un linguaggio di programmazione! E' uno standard IEEE per la descrizione dell'hardware VHDL: VHSIC Hardware Description Language VHSIC: Very High Speed Integrated Circuit
Dettagli(b) LOGIC SYNTHESIS DESIGN FLOW
1 (b) LOGIC SYNTHESIS DESIGN FLOW ASIC HDL DIGITAL CIRCUITS DESIGN FLOW FPGA HDL DESIGN FLOW SINTESI DI TENTATIVO E SIMULAZIONE POST SINTESI DEL PROCESSORE MU0 OTTIMIZZAZIONE DELLA SINTESI DEL PROCESSORE
Dettagliinterfacciamento statico e dinamico analisi di interconnessioni, driver e receiver
Elettronica per telecomunicazioni 1 Contenuto dell unità D Interconnessioni interfacciamento statico e dinamico Integrità di segnale analisi di interconnessioni, driver e receiver Diafonia accoppiamenti
DettagliReti logiche A All. Informatici (M-Z) Fabrizio Ferrandi a.a
Reti logiche A All. Informatici (M-Z) Fabrizio Ferrandi a.a. 2003-2004 Contenuti - Progetto logico di sistemi digitali Metodologie di progetto per la realizzazione dei dispositivi di elaborazione costruire
DettagliSommario. Modellizzazione Sintassi Classi di Oggetti Tipi di Dati e Operatori Package e Librerie Processi Esempi di codice VHDL VHDL Testbenches
Fondamenti di VHDL Sommario VHDL: premessa e introduzione Modellizzazione Sintassi Classi di Oggetti Tipi di Dati e Operatori Package e Librerie Processi Esempi di codice VHDL VHDL Testbenches Premessa
DettagliINTRODUZIONE ALLE LOGICHE PROGRAMMABILI
INTRODUZIONE ALLE LOGICHE PROGRAMMABILI TEMA: L DESCRIZIONE: Introduzione al linguaggio VHDL per la descrizione dell hardware e sintesi di un circuito logico. LUOGO: Laboratori Nazionali di Legnaro (PD)
DettagliRegole per la scrittura di VHDL Sintetizzabile. Fabio Campi. Corso di Elettronica dei Sistemi Digitali LS AA
Regole per la scrittura di VHDL Sintetizzabile Fabio Campi Corso di Elettronica dei Sistemi Digitali LS AA 2003-2004 2004 VHDL Sintetizzabile Obiettivo: Mappare su celle Hardware di libreria, riferite
DettagliIntroduzione al VHDL Lezione 1
Introduzione al VHDL Lezione 1 Cristina Silvano Università degli Studi di Milano Dipartimento di Scienze dell Informazione Via Comelico 39/41, I-20135 Milano (Italy) Tel.: +39-2-5835-6306 e-mail: silvano@elet.polimi.it
DettagliIntroduzione al Flusso di Progetto di Circuiti e Sistemi Digitali
Introduzione al Flusso di Progetto di Circuiti e Sistemi Digitali Cristina Silvano Università degli Studi di Milano Dipartimento di Scienze dell Informazione Via Comelico 39/41, I-20135 Milano (Italy)
DettagliMinimizzazione di Reti Logiche Combinatorie Multi-livello
Minimizzazione di Reti Logiche Combinatorie Multi-livello Maurizio Palesi Maurizio Palesi 1 Introduzione I circuiti logici combinatori sono molto spesso realizzati come reti multi-livello di porte logiche
DettagliMETODOLOGIE PROGETTUALI CMOS
METODOLOGIE PROGETTUALI CMOS Un sistema elettronico/circuito integrato può essere descritto in tre diversi domini, comportamentale (behavior), strutturale e fisico. All interno di ciascun dominio la descrizione
DettagliEsercitazione : REALIZZAZIONE IMPIANTO SEMAFORICO
Esercitazione : REALIZZAZIONE IMPIANTO SEMAFORICO Strumenti utilizzati Strumento Marca e modello Caratteristiche Alimentatore Scheda ALTERA Fotocamera digitale Topward electronics TPS- 4000 ALTERA Max
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 IL LIVELLO HARDWARE Introduzione alle reti logiche Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello del linguaggio specializzato Traduzione (compilatore) o interpretazione
DettagliProgetto di Contatori sincroni. Mariagiovanna Sami Corso di reti Logiche 8 Anno
Progetto di Contatori sincroni Mariagiovanna Sami Corso di reti Logiche 8 Anno 08 Introduzione Per le reti sequenziali esistono metodologie di progettazione generali, che partendo da una specifica a parole
DettagliUNIVERSITÀ DEGLI STUDI DI TRIESTE
UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dell Informazione Curriculum Elettronica Relatore: Professore Boscolo Antonio Laureanda: Giovanna Bernardi
DettagliFlusso di Progetto Mixed Signal in ambiente CADENCE. Approccio Analog Centric. Corso di Progettazione Mixed Signal 19/12/2013 Prof.
Flusso di Progetto Mixed Signal in ambiente CADENCE Approccio Analog Centric Ambiente per Progetto Analogico Full-Custom Ambiente CAD: CADENCE Virtuoso Schematic Virtuoso Schematic Editor Simulation ADE:
DettagliIndice. Prefazione. sommario.pdf 1 05/12/
Prefazione xi 1 Introduzione 1 1.1 Evoluzione della progettazione dei sistemi digitali 1 1.2 Flusso di progettazione dei sistemi digitali 2 1.3 Obiettivi del libro 6 1.4 Struttura ragionata del libro 7
Dettagliorario ricevimento via e-mail: orario ufficio risposta entro 3 giorni
FACOLTA : INGEGNERIA CORSO DI LAUREA: INFORMATICA INSEGNAMENTO: CONTROLLI DIGITALI Modulo 1 NOME DOCENTE: Prof. Giovanni Fedecostante indirizzo e-mail: giovanni.fedecostante@uniecampus.it orario ricevimento
DettagliI bistabili ed il register file
I bistabili ed il register file Prof. Alberto Borghese ipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano 1/32 Sommario I problemi dei latch trasparenti sincroni
DettagliMinimizzazione a più livelli di reti combinatorie Cristina Silvano
Minimizzazione a più livelli di reti combinatorie Cristina Silvano Università degli Studi di Milano Dipartimento di Scienze dell Informazione Milano (Italy) Sommario Modello booleano e modello algebrico
DettagliIl linguaggio di programmazione Python
Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)
DettagliIntroduzione al linguaggio VHDL
Introduzione al linguaggio VHDL Il VHDL è un linguaggio per la sintesi e la simulazione di circuiti digitali, uno standard per la descrizione dell hardware E stato introdotto negli anni 80 nell ambito
DettagliUniversità degli Studi di Cassino
di assino orso di alcolatori Elettronici I Elementi di memoria e registri Anno Accademico 27/28 Francesco Tortorella Elementi di memoria Nella realizzazione di un sistema digitale è necessario utilizzare
DettagliCircuiti sequenziali e latch
Circuiti sequenziali e latch Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano A.A. 23-24 /27 Sommario Circuiti sequenziali Latch asincroni
DettagliUn linguaggio per la descrizione dello hardware: il VHDL
Un linguaggio per la descrizione dello hardware: il VHDL Gli Hardware Description Languages Gli HDL consentono lo sviluppo di un modello del comportamento dei sistema digitali. Gli HDL permettono l eseguibilità
DettagliMODULO PREREQUISITI OBIETTIVI CONTENUTI ORE
1 ELETTRONICA DIGITALE Conoscenze di fisica del primo biennio biennio Nozioni di base di elettrotecnica ed elettronica analogica Uso di internet per ricerca materiali e cataloghi. Logica combinatoria Concetto
DettagliDavide Cervi Classe : 3E I.T.E Agostino Bassi - Lodi
INTRODUZIONE AI LINGUAGGI DI PROGRAMMAZIONE Davide Cervi Classe : 3E I.T.E Agostino Bassi - Lodi I LINGUAGGI DI PRIMA GENERAZIONE rientrano in questa categoria i vari linguaggi macchina proprietari, decisamente
DettagliCircuiti sincroni Circuiti sequenziali: i bistabili
Architettura degli Elaboratori e delle Reti Lezione 8 Circuiti sincroni Circuiti sequenziali: i bistabili Proff. A. Borghese, F. Pedersini ipartimento di Scienze dell Informazione Università degli Studi
DettagliMATERIALI PER LA DISCUSSIONE
SETTORE TECNOLOGICO MATERIALI PER LA DISCUSSIONE ISTITUTO TECNICO INDIRIZZO ARTICOLAZIONE TELECOMUNICAZIONI INFORMATICA E TELECOMUNICAZIONI ESITI DI APPRENDIMENTO Regolamento, Art. 5 comma 1 Nota: Le Competenze,
DettagliESAMI DI STATO PER L'ABILITAZIONE ALL'ESERCIZIO DELLA PROFESSIONE DI INGEGNERE SEZIONE A I SESSIONE - ANNO 2015 SEZIONE A- Settore Industriale
ESAMI DI STATO PER L'ABILITAZIONE ALL'ESERCIZIO DELLA PROFESSIONE DI INGEGNERE SEZIONE A SEZIONE A- Settore Industriale PRIMA PROVA TRACCIA N. 1: Impianti chimici Il Candidato illustri le problematiche
DettagliLINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione Fortran Cobol Basic Pascal Python C
DettagliAXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori
AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli
DettagliSQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:
SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i
DettagliI Bistabili. Maurizio Palesi. Maurizio Palesi 1
I Bistabili Maurizio Palesi Maurizio Palesi 1 Sistemi digitali Si possono distinguere due classi di sistemi digitali Sistemi combinatori Il valore delle uscite al generico istante t* dipende solo dal valore
DettagliLOGICA SEQUENZIALE. Un blocco di logica puramente combinatoria è un. blocco con N variabili di ingresso e M variabili di uscita
LOGICA SEQUENZIALE Logica combinatoria Un blocco di logica puramente combinatoria è un blocco con N variabili di ingresso e M variabili di uscita che sono funzione (booleana) degli ingressi in un certo
DettagliUn linguaggio per la descrizione dello hardware: il VHDL
Un linguaggio per la descrizione dello hardware: il VHDL Gli Hardware Description Languages Gli HDL consentono lo sviluppo di un modello del comportamento dei sistema digitali. Gli HDL permettono l eseguibilità
DettagliLaboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici
Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici Per ogni lezione, sintetizzare i circuiti combinatori o sequenziali che soddisfino le specifiche date e quindi implementarli e
DettagliLez. 5 La Programmazione. Prof. Salvatore CUOMO
Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente
DettagliCorso di Architettura (Prof. Scarano) 09/04/2002
Corso di Architettura (Prof. Scarano) 09/0/2002 Un quadro della situazione Lezione 15 Il Set di Istruzioni (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno
DettagliUniversità degli Studi di Cassino e del Lazio Meridionale Corso di Calcolatori Elettronici Elementi di memoria e Registri
di assino e del Lazio Meridionale orso di alcolatori Elettronici Elementi di memoria e Registri Anno Accademico Francesco Tortorella Elementi di memoria Nella realizzazione di un sistema digitale è necessario
DettagliReti Logiche 1. Prof. B. Buttarazzi A.A. 2009/2010. Reti Sequenziali
Reti Logiche Prof. B. Buttarazzi A.A. 29/2 Reti Sequenziali Sommario Analisi di Reti Sequenziali Sintesi di Reti Sequenziali Esercizi 3/6/2 Corso di Reti Logiche 29/ 2 Analisi di Reti Sequenziali Passare
DettagliComponenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni
Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria
DettagliCorso Programmazione
Corso Programmazione 2008-2009 (docente) Fabio Aiolli E-mail: aiolli@math.unipd.it Web: www.math.unipd.it/~aiolli (docenti laboratorio) A. Ceccato, F. Di Palma, M. Gelain Dipartimento di Matematica Pura
DettagliMinimizzazione di Reti Logiche Combinatorie Multi-livello. livello
Minimizzazione di Reti Logiche Combinatorie Multi-livello livello Maurizio Palesi Maurizio Palesi 1 Introduzione I circuiti logici combinatori sono molto spesso realizzati come reti multi-livello di porte
DettagliCap. 2 - Rappresentazione in base 2 dei numeri interi
Cap. 2 - Rappresentazione in base 2 dei numeri interi 2.1 I NUMERI INTERI RELATIVI I numeri relativi sono numeri con il segno: essi possono essere quindi positivi e negativi. Si dividono in due categorie:
DettagliTecniche di Progettazione Digitale Logiche programmabili; standard cells; generazione automatica del layout: algoritmi di partitioning p.
Tecniche di Progettazione Digitale Logiche programmabili; standard cells; generazione automatica del layout: algoritmi di partitioning Valentino Liberali Dipartimento di Tecnologie dell Informazione Università
DettagliDefinizione e ambito della disciplina ARCHITETTURA DEI CALCOLATORI
Definizione e ambito della disciplina ARCHITETTURA DEI CALCOLATORI La struttura gerarchica dei sistemi di elaborazione I sistemi di elaborazione sono dei tipici esempi di sistemi gerarchici, sistemi, cioè,
DettagliLaboratorio di Architettura lezione 5. Massimo Marchiori W3C/MIT/UNIVE
Laboratorio di Architettura lezione 5 Massimo Marchiori W3C/MIT/UNIVE Da Alto a Basso livello: compilazione Come si passa da un linguaggio di alto livello a uno di basso livello? Cioe a dire, come lavora
DettagliUna breve introduzione alla simulazione numerica nei circuiti con PSpice + qualche esempio...
CdL Telecomunicazioni - Corso di Elettrotecnica Una breve introduzione alla simulazione numerica nei circuiti con PSpice + qualche esempio... Prof. Massimiliano de Magistris Dipartimento di Ingegneria
DettagliCapitolo 6. Reti asincrone. Elaborazione asincrona Procedimenti di sintesi e analisi Memorie binarie
apitolo 6 Reti asincrone Elaborazione asincrona Procedimenti di sintesi e analisi Memorie binarie Reti sequenziali asincrone (comportamento) Elaborazione asincrona - Ogni nuovo ingresso determina: una
DettagliAnalisi ed Esplorazione della Potenza Dissipata e delle Prestazio. delle Prestazioni di una Architettura Superscalare
Analisi ed Esplorazione della Potenza Dissipata e delle Prestazioni di una Architettura Superscalare 22 Luglio 2004 1 Obiettivi 2 Una Framework di esplorazione SuperDLX Algoritmi di ottimizzazione 3 Modello
DettagliEsercizio 1 (12 punti) Minimizzare il numero di stati dell automa qui rappresentato. Disegnare l automa minimo.
Compito A Esercizio (2 punti) Minimizzare il numero di stati dell automa qui rappresentato. Disegnare l automa minimo. S / S 2 / S 3 / S 4 / S 5 / Esercizio 2 (5 punti) Progettare un circuito il cui output
DettagliElettronica dei Sistemi Digitali L-A
Elettronica dei Sistemi Digitali L-A Università di Bologna, sede di Cesena Progettazione di Circuiti Digitali A.a. 2004-2005 Implementation Choices Digital Circuit Implementation Approaches Custom Semicustom
DettagliMemorie Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella
Memorie Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Tipi di memorie Possono essere classificate in base a varie caratteristiche:
DettagliPECUP SECONDO BIENNIO terzo anno Meccanica, Meccatronica ed Energia - Articolazione: Meccanica e Meccatronica
PECUP SECONDO BIENNIO terzo anno Meccanica, Meccatronica ed Energia - Articolazione: Meccanica e Meccatronica TECNOLOGIE MECCANICHE DI PROCESSO E DI PRODOTTO SECONDO BIENNIO MACRO-COMPETENZA: definire,
DettagliPROBLEMI ALGORITMI E PROGRAMMAZIONE
PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL
DettagliOrganizzazione strutturata
Organizzazione strutturata Evoluzione storica a.a. 2002-03 L. Borrelli 1 Complessità dei Sistemi di Elaborazione Caratteristica dei Sistemi di Elaborazione: Complessità Per trattare sistemi complessi è
DettagliCONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI
CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di
DettagliLinguaggi di programmazione e astrazione
Linguaggi di programmazione e astrazione i linguaggi di programmazione ad alto livello moderni sono il più potente strumento di astrazione messo a disposizione dei programmatori che possono, con un solo
DettagliReti Logiche Combinatorie
Reti Logiche Combinatorie Modulo 4 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Microelettronica e Bioingegneria (EOLAB) Logica combinatoria Un blocco di logica
DettagliModelli di programmazione parallela
Modelli di programmazione parallela Oggi sono comunemente utilizzati diversi modelli di programmazione parallela: Shared Memory Multi Thread Message Passing Data Parallel Tali modelli non sono specifici
DettagliProgrammazione = decomposizione basata su astrazioni
Programmazione = decomposizione basata su astrazioni 1 Decomposizione in moduli necessaria quando si devono sviluppare programmi abbastanza grandi decomporre il problema in sotto-problemi i moduli che
DettagliReti combinatorie. Reti combinatorie (segue)
Reti combinatorie Sommatore Sottrattore Reti sequenziali Generatore di sequenze Riconoscitore di sequenze Reti combinatorie PROGRAMMAZIONE Il programmatore riporta le istruzioni che il calcolatore dovrà
DettagliNote sull utilizzazione di componenti logici di tipo memoria
Architettura degli Elaboratori, a.a. 2005-06 Note sull utilizzazione di componenti logici di tipo memoria Queste note precisano e completano il contenuto nel Cap. III, sez. 7 delle Dispense, in particolare
DettagliMarco Cesati Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata
Lezione E2 Sistemi embedded e real-time 4 ottobre 2012 Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SERT 13 E2.1 Di cosa parliamo in questa lezione?
DettagliLezione E2. Sistemi embedded e real-time
Lezione E2 Sistemi embedded e real-time 4 ottobre 2012 Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SERT 13 E2.1 Di cosa parliamo in questa lezione?
DettagliCALCOLATORI ELETTRONICI
DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Corso di laurea in Ingegneria informatica Anno accademico 2016/2017-3 anno CALCOLATORI ELETTRONICI 9 CFU - 1 semestre Docente titolare dell'insegnamento
Dettagli2.6 Riflessione conclusiva su descrizione e sintesi delle reti logiche
2.6 Riflessione conclusiva su descrizione e sintesi delle reti logiche Abbiamo visto vari tipi di reti logiche: quelle combinatorie, sia semplici (pochi ingressi ed uscite) sia complesse (e.g., quelle
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
DettagliLezione M1 - DDM
Elettronica per le telematica FLUSSO DI PROGETTO DIGITALE TOP - DOWN Specifiche Unità M.: Progettazione Digitale e Linguaggi di Descrizione dell Hardware Progetto e Descrizione di Alto Livello Simulazione
DettagliComponenti e connessioni. Capitolo 3
Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura
DettagliI Indice. Prefazione. Capitolo 1 Introduzione 1
I Indice Prefazione xi Capitolo 1 Introduzione 1 Capitolo 2 Algebra di Boole e di commutazione 7 2.1 Algebra di Boole.......................... 7 2.1.1 Proprietà dell algebra.................... 9 2.2
DettagliCalcolatori Elettronici M Modulo Introduzione all ambiente Xilinx ISE 12.3 e ISIM
Calcolatori Elettronici M Modulo 2 06 Introduzione all ambiente Xilinx ISE 12.3 e ISIM 1 Questi lucidi forniscono una sintetica introduzione all ambiente di sviluppo Xilinx ISE 12.3 utilizzando come riferimento
DettagliEsercizi svolti e da svolgere sugli argomenti trattati nella lezione 25
Esercizi svolti e da svolgere sugli argomenti trattati nella lezione 25 Esercizi svolti Es.. Si progetti in dettaglio il circuito che, dati quattro registri sorgente Si e quattro registri destinazione
DettagliDesign for Testability (DFT): Scan
Design for Testability (DFT): Full-Scan Definizioni Metodi ad-hoc Scan design Regole di progetto Registri Flip-flops Scan test sequences Overhead Sistemi di progetto basati sulla scansione Sommario 1 Definizioni
DettagliDispositivi Logici Programmabili
Dispositivi Logici Programmabili Introduzione ROM (Read Only Memory) PLA (Programmable Logic Array) PAL (Programmable Array Logic) PLA e PAL avanzate Logiche programmabili Sono dispositivi hardware che
DettagliIIS Via Silvestri ITIS Volta Programma svolto di Tecnologie Informatiche A.S. 2015/16 Classe 1 A
IIS Via Silvestri ITIS Volta Programma svolto di Tecnologie Informatiche A.S. 2015/16 Classe 1 A Modulo n 1 - Concetti informatici di base 1.1 Introduzione allo studio del computer 1.2 Rappresentazione
DettagliCapitolo I1: Laboratorio con DevC++
1. Introduzione DevC++ è un ambiente di sviluppo integrato (IDE, ovvero Integrated Development Environment) che permette di scrivere e verificare programmi in linguaggio C o C++, sia in modalità Windows
DettagliISTITUTO DI ISTRUZIONE SUPERIORE J.C. MAXWELL Data: / / Pag. di
INDIRIZZO SCOLASTICO DISCIPLINA DOCENTE / I CLASSE / I PROGRAMMAZIONE ANNUALE A.S. 2016 / 2017 MECCANICA e MECCATRONICA ELETTRONICA LOGISTICA e TRASPORTI LICEO SCIENTIFICO ELETTROTECNICA ed ELETTRONICA
DettagliIl comportamento di un amplificatore ideale, ad esempio di tensione, è descritto dalla relazione lineare V out = A V in (3.1)
Capitolo 3 Amplificazione 3.1 Circuiti attivi Gli elementi circuitali considerati sino ad ora, sia lineari (resistenze, capacità, induttanze e generatori indipendenti), sia non lineari (diodi), sono detti
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Università degli Studi di Padova Scuola di Scienze Corso di Laurea in Informatica docenti: Silvia Crafa, Nicolò Navarin (lab), Alessandro Sperduti Docenti Silvia Crafa Nicolò
Dettagli2. Le fasi della realizzazione di sistemi elettronici.
Marcello Salmeri - Progettazione Automatica di Circuiti e Sistemi Elettronici Capitolo 2-1 2. Le fasi della realizzazione di sistemi elettronici. Nella creazione di un circuito elettronico integrato possono
DettagliPORTE LOGICHE. Si effettua su due o più variabili, l uscita assume lo stato logico 1 se almeno una variabile di ingresso è allo stato logico 1.
PORTE LOGICHE Premessa Le principali parti elettroniche dei computer sono costituite da circuiti digitali che, come è noto, elaborano segnali logici basati sullo 0 e sull 1. I mattoni fondamentali dei
DettagliMetodologie e modelli di progetto
Metodologie e modelli di progetto Ingg. Francesco Gullo, Giovanni Ponti D.E.I.S Università della Calabria fgullo@deis.unical.it gponti@deis.unical.it 1 I Sistemi Informativi Un sistema informativo èun
Dettagli(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B
Compito: Domanda 1 Per l'algoritmo fornito di seguito, qual è il valore assunto dalla variabile contatore quando l'algoritmo termina: Passo 1 Poni il valore di contatore a 1 Passo 2 Ripeti i passi da 3
DettagliCODING nella scuola primaria
DIREZIONE DIDATTICA STATALE 1 CIRCOLO DI ACI CATENA EMANUELE ROSSI Via F. Strano, 79 95022 Aci Catena Tel. e Fax 095/801522 Codice Fiscale 81003950870 - Codice Meccanografico CTEE036006 CODING nella scuola
DettagliIntroduzione I contatori sono dispositivi fondamentali nell elettronica digitale e sono utilizzati per:
INTRODUZIONE AI CONTATORI Introduzione I contatori sono dispositivi fondamentali nell elettronica digitale e sono utilizzati per: o Conteggio di eventi o Divisione di frequenza o Temporizzazioni Principi
DettagliIntroduzione al VHDL. Alcuni concetti introduttivi
Introduzione al VHDL Alcuni concetti introduttivi Riferimenti The VHDL Cookbook, Peter J. Ashenden, Reperibile nel sito: http://vlsilab.polito.it/documents.html The VHDL Made Easy, David Pellerin, Douglas
DettagliIl Software programmabili programma algoritmo
Il Software La proprietà fondamentale dei calcolatori e` quella di essere programmabili cioè in grado di svolgere compiti diversi a seconda delle istruzioni fornite dall utente mediante un programma, ossia
DettagliUniversità degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Corso di Circuiti Integrati Anno Accademico 2016/2017
Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Corso di Circuiti Integrati Anno Accademico 2016/2017 1 Introduzione In questo breve tutorial utilizzeremo il software
DettagliAntonio D'Amore I CIRCUITI DI COMMUTAZIONE
Antonio D'Amore I CIRCUITI DI COMMUTAZIONE INDICE CAPITOLO I - SISTEMI DI NUMERAZIONE E CODICI 1.1) Sistema di numerazione decimale. 1 1.2) Sistemi di numerazione a base qualsiasi. 1 1.3) Conversione tra
DettagliReti logiche: analisi, sintesi e minimizzazione Esercitazione. Venerdì 9 ottobre 2015
Reti logiche: analisi, sintesi e minimizzazione Esercitazione Venerdì 9 ottobre 05 Punto della situazione Stiamo studiando le reti logiche costruite a partire dalle porte logiche AND, OR, NOT per progettare
DettagliCircuiti sequenziali
Circuiti sequenziali - I circuiti sequenziali sono caratterizzati dal fatto che, in un dato istante tn+1 le uscite dipendono dai livelli logici di ingresso nell'istante tn+1 ma anche dagli stati assunti
DettagliProva di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00
Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
Dettagli3. Programmi e algoritmi
3. Programmi e algoritmi Andrea Marongiu (andrea.marongiu@unimore.it) Paolo Valente Contiene slides del corso «Fondamenti di Informatica» del Prof. Montessoro (Università degli Studi di Udine) Recall:
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Università degli Studi di Padova Scuola di Scienze Corso di Laurea in Informatica docente: Alessandro Sperduti Informazioni Generali Lucidi ed esercizi disponibili in formato
Dettagli