Laboratorio di Elettronica Introduzione al VHDL
|
|
- Gerardo Conti
- 7 anni fa
- Visualizzazioni
Transcript
1 Laboratorio di Elettronica 1 Introduzione al VHDL HDL nel flusso di progettazione digitale Elementi base del VHDL Meccanismo di simulazione Meccanismo di sintesi 2 1
2 Organizzazione del corso Lezione 1: introduzione al VHDL, sintassi, metodi di programmazione Lezione 2: uso dell ambiente di sviluppo per FPGA Xilinx. Programmazione, sintesi, simulazione. Esempio svolto su un contatore Lezione 3: descrizione e utilizzo della Spartan 3. Programmazione, mappatura dei pin, uso del Chipscope 3 Organizzazione del corso Lezione 4: Progetto: realizzazione e test di un modulatore a PWM. Determinazione dei fronti di comando per un inverter a mezzo ponte con tempi morti di comando. Lezione 5: Progetto: - da definire realizzazione di una operazione aritmetica Lezione 6: Progetto: - da definire pilotaggio di una VGA 4 2
3 Organizzazione del corso Materiale e manuali vengono resi disponibili sul sito web E necessario, soprattutto nella fase iniziale, leggere e capire il linguaggio di programmazione dedicare molto tempo per lo studio nella prima settimana Tutti i progetti saranno disponibili sul sito web, in modo che durante l esercitazione ci possa essere un backup nel caso di problemi 5 Introduzione A chi e dedicato? Ai progettisti di circuiti e sistemi logici che utilizzano sistemi CAE (Coputer Automated tools for Electronic design) Un po di storia: 1983: il dipartimento della difesa (DOD) all interno del progetto VHSIC (Very High Speed Integrated Circuti) sviluppa un linguaggio di descrizione Hardware 1987:l IEEE lo riconosce come STANDARD (1076) 1993:Il linguaggio viene migliorato con delle integrazioni minori Attualmente: A causa della attuale complessita dei circuiti ha surclassato altre metodologie (schematic capture) 6 3
4 Vantaggi Progetto di tipo technology -independent Impiegato da diversi fornitori / venditori (sia di HW che SW) Facilita gli aggiornamenti del sistema progettato Documentazione del progetto e STANDARD Miglioramento nella qualita del progetto Consente di analizzare varie alternative Consente piu livelli di astrazione Verifica ad un elevato livello di astrazione Paragone delle prestazioni tra vari livelli di astrazione Integrazione tra blocchi sviluppati a vari livelli Riutilizzo e condivisione di blocchi gia sviluppati Miglioramento della descrizione circuitale ai bassi livelli 7 Considerazioni E meno immediato di uno schema digitale E sintatticamente pesante Essendo uno Standard Aperto vi si possono definire strutture e/o tipologie di variabili non direttamente collegabili alla struttura del circuito Solo un sottoinsieme del VHDL e fisicamente sintetizzabile Esistono tools di sviluppo che consentono di ricavare descrizioni in VHDL partendo da Schemi, Macchine a Stati Finiti, Tabelle di verita, ecc. 8 4
5 I linguaggi di descrizione dell hardware (HDL) - 1 hanno l aspetto di un normale linguaggio di programmazione (tipicamente C), per cui hanno: diversi tipi di dati e oggetti (costanti, variabili, espressioni) operatori aritmetico/logici, istruzioni sequenziali (if, while, for ) funzioni, sottoprogrammi hanno elementi specifici per modellare in modo efficiente blocchi di hardware permettono di definire componenti e istanziarliin una struttura gerarchica supportano la rappresentazione di eventi concorrenti (cioè, operazioni che non si attivano sempre nello stesso ordine temporale) 9 I linguaggi di descrizione dell hardware (HDL) - 2 sono adatti a descrivere il sistema a diversi livelli di astrazione tipicamente, dal livello più alto (sistema) fino al livello logico (rete di porte logiche) i sistemi tradizionali di rappresentazione di solito sono specializzati per uno o due livelli: schemi a blocchi sistema, RTL; schemi logici livello logico; schemi elettrici livello elettrico; 10 5
6 Livelli di descrizione più usati comportamentale (behavioral) Funzionalità del sistema a prescindere dall effettiva implementazione a livello di celle elementari operazioni in sequenza corretta ma senza informazioni temporali RTL (Register Transfer Level o Data-Flow) descrizione del sistema in termini di registri, logica combinatoria, bus e unitàdi controllo assegnazione delle operazioni a un determinato ciclo di clock strutturale (structural) descrizione del sistema come rete di componenti elementari (descritti a livello comportamentale) possibile analisi dettagliata dei tempi di ritardo 11 VHDL (VHSIC Hardware Description Language) supporta a tutti i livelli il flusso di progettazione sviluppo, simulazione, sintesi, testing, documentazione descrizione indipendente dalla tecnologia realizzativa portabilitàdel progetto da una tecnologia ad un altra permette la simulazione a eventi del sistema validazionedi sistemi complessi permette la sintesi automatica da RTL a netlist di celle (standard) da comportamentale a RTL (in perfezionamento) 12 6
7 Flusso di progetto: uso del VHDL 13 Modeling Digital Systems VHDL is for writing models of a system Reasons for modeling requirements specification documentation testing using simulation formal verification synthesis Goal most reliable design process, with minimum cost and time avoid design errors! 14 7
8 Domains and Levels of Modeling Structural Functional high level of abstraction low level of abstraction Geometric Y-chart due to Gajski & Kahn 15 Domains and Levels of Modeling Structural Functional Algorithm (behavioral) Register-Transfer Language Boolean Equation Differential Equation Geometric Y-chart due to Gajski & Kahn 16 8
9 Domains and Levels of Modeling Structural Processor-Memory Switch Functional Register-Transfer Gate Transistor Geometric Y-chart due to Gajski & Kahn 17 Domains and Levels of Modeling Structural Functional Polygons Sticks Standard Cells Floor Plan Geometric Y-chart due to Gajski & Kahn 18 9
10 Descrizione VHDL: concetto base La descrizione di un modulo in VHDL è fatta da due elementi principali: un interfaccia (entity), che definisce i terminali di I/O e il nome del circuito una o più implementazioni(architecture), che descrivono il comportamento o la struttura interna del circuito 19 ENTITY + ARCHITECTURE - esempio entity, clausola port nomi dei terminali: A,B, direzione: in,out tipo di dato: bit architecture parte dichiarativa (prima di begin) in cui vengono dichiarati segnali interni parte assertiva (tra begin e end) in cui viene descritto il comportamento del circuito le operazioni tra segnali (interni e/o di I/O) e le assegnazioni (<=) definiscono il comportamento del circuito 20 10
11 Segnali e processi gli elementi fondamentali di un modello VHDL sono i segnali e i processi un processo è un blocco di codice che descrive il funzionamento di un modulo di logica sequenziale o combinatoria Processi diversi comunicano tra loro attraverso segnali 21 Segnali e processi un processo si attiva ed esegue la sua funzione in risposta ad un evento (cioè, ad un cambiamento di valore) di uno dei segnali a cui è sensibile(indicati in una lista apposita: sensitivity list) in certi casi, la funzione rappresentata da un processo può essere descritta con una assegnazione concorrente semplice o condizionata ad un segnale 22 11
12 Segnali - Introduzione Signal P, G : bit. P <= A xor B; G <= A and B; S <= P xor CI;. i segnali, cioè gli oggetti dichiarati con l istruzione signal oppure nella clausola port della entity sono strutture dati capaci di rappresentare forme d onda nel tempo hanno associato un tipo (nell esempio bit) e possono avere un valore iniziale nella parte assertiva dell architecture, compaiono delle operazioni tra segnali (xor,and, ) e delle assegnazioni (<=); gli operatori possono essere primitive del VHDL oppure funzioni e procedure definite dall utente 23 Segnali - Introduzione Signal P, G : bit. P <= A xor B; G <= A and B; S <= P xor CI;. a sinistra del segno di assegnazione (<=) c èil target(che deve essere un segnale), a destra il signaldriver l assegnazione stabilisce un legame tra i suoi ingressi (i segnalicontenuti nel driver) e la sua uscita (il target), quindi viene attivata solo quando si ha un evento (cioèun cambiamento di valore) di uno degli ingressi di conseguenza, l ordine con cui le assegnazioni vengono scritte all interno dell architecture non ha importanza signal 24 12
13 Meccanismi di simulazione : ogni evento attiva i driver e i processi che sono sensibili al segnale soggetto all evento; i driver calcolano il nuovo valore del segnale target, valore (detto transazione) che viene inserito nella coda degli eventi del simulatore l esecuzione di tutti i driver sensibili all evento causa l inserimento di una o più transazioni nella coda degli eventi della simulazione; terminatala fase di esecuzione dei driver, la simulazione salta alla transazione successiva nella coda e aggiorna il valore del relativo segnale: se il valore aggiornato è diverso dal valore precedente, si ha un evento, e, di conseguenza, una nuova fase di esecuzione dei driver ad esso sensibili; altrimenti, il simulatore salta alla transazione successiva nella coda 25 Simulazione Un sistema descritto in VHDL viene solitamente SIMULATO per analizzarne in comportamento (simulazione comportamentale) Bisogna fornire degli stimoli (INPUT) Ed avere un sistema capace di osservare l evoluzione del modello durante la simulazione, registrarne le variazioni per un eventuale ispezione di funzionamento Il simulatore deve aver la possibilita di rappresentare una variabile come unknown. Package STD_LOGIC_
14 Sintesi Logica Passaggio tra descrizione comportamentale e descrizione a porte logiche La sintesi avviene tramite appositi programmi che si appoggiano a librerie dove sono descritte le porte logiche da impiegare (fornite dal venditore) La sintesi e un processo delicato che deve essere opportunamente guidato ed ottimizzato Solo un ristretto sottoinsieme del VHDL si presta ad essere Sintetizzato automaticamente ovvero: Non tutto cio che e scritto in VHDL e sintetizzabile La restante parte e da impiegarsi per la descrizione e per la simulazione 27 Sintassi e dettagli del VHDL 28 14
15 Elementi Lessicali Il VHDL non distingue maiuscole e minuscole un commento inizia con e si estende fino allafine della linea un identificatore per segnali, variabili, funzioni,, inizia con un carattere alfabetico e può contenere lettere, numeri e il carattere _ i numeri possono essere interi o reali (se includono il punto): _ E4 numeri interi E-4 numerireali 2#1100_0100# 16#C4# 4#301#E1 --numero196 i caratterivannoracchiusitravirgolettesingole: A a * 1 0 Una stringa di caratteri è racchiusa tra doppie virgolette: stringa le stringhedi bit permettono di specificare in modo semplice valori per vettori(array) di tipo binario: B O 5465 X B35 --binario, ottale, esadecimale 29 Tipi standard Definiti nel package STANDARD contenuto nella libreria STD Presenti implicitamente in ogni simulatore VHDL 30 15
16 Classi di oggetti: Costanti, variabili, segnali Costanti: valori fissi valutati solo una volta CONSTANT e: real := ; CONSTANT delay: time := 5 ns; CONSTANT index: integer; Variabili: valori modificabili tramite assegnazioni Utilizzabile solo all interno di un processo VARIABLE count: integer := 0; VARIABLE Is High: boolean; Segnali: valori modificabili tramite assegnazioni tengono traccia di una forma d onda canali di comunicazione tra i blocchi di un modello VHDL eventi in un segnale attivano la simulazione SIGNAL dout: std_logic_vector(7 DOWNTO 0) := B 0000_0000 ; 31 Array Il range (intervallo di variazione dell indice) di un array può essere ascendente o discendente: SIGNAL a: bit_vector(3 downto 0); --discendente SIGNAL b: bit_vector(0 to 3); --ascendente le assegnazioni a array sono basate sullaposizione: b <= a; --significa:b(0) <= a(3); ; b(3) <= a(0); b(1 downto 0) <= a(3 downto2); -- assegnazione parziale, con inversione dell ordine predefinito di b; il risultato è b(1) <= a(3); b(0) <= a(2); a <= ( 1, 0, 1, 0 ); --assegnazione tramite aggregato a <= B assegnazione tramite stringa di bit a <= X A --come sopra, ma in formato esadecimale a <= (OTHERS => 1 ); --assegnazione dello stesso valore a tutti gli elementidi a b & a -- produce(b(0),b(1),b(2),b(3),a(3),a(2),a(1),a(0)) 32 16
17 Array: attributi Nel caso degli array, gli attributi forniscono informazioni supplementari relative all indice del segnale 33 Espressioni e operatori standard Operatori presenti nel package STANDARD: booleani: not, and nand, or, nor, xor, xnor relazionali: =, /=, <, <=, >, >= shift: sll, srl, sla, sra, rol, ror poco usati, hanno un comportamento non convenzionale aritmetici:+, -, abs, +, -, *, /, mod, rem, ** segnooperazioni concatenazione: & concatena due array, mettendo l operando di destra in coda a quello di sinistra 34 17
18 Dati per logica multilivello e artimetica binaria IEEE ha creato due package per tipi di dati (e relativi operatori) logici e aritmetici: STD_LOGIC_1164 sistema a 9 stati logici TYPE std_logicis ( U, X, 0, 1, Z, W, L, H, - ); TYPE std_logic_vector IS ARRAY (NATURAL RANGE <>) OF std_logic; NUMERIC_STD TYPE unsigned IS ARRAY (NATURAL RANGE <>) OF std_logic; TYPE signed IS ARRAY (NATURAL RANGE <>) OF std_logic; unsigned interpretato come rappresentazione binaria di un intero senza segno; signed interpretato come rappresentazione in complemento a 2 di un intero STD_LOGIC_ARITH alternativa (preferita) a NUMERIC_STD 35 Package STD_LOGIC_ARITH definiscei tipi unsigned e signed (come in NUMERIC_STD) Ridefinisce una parte degli operatori standard per lavorare con signed, unsigned, std_logic_vector e integer booleani (not, and, ): non ci sono! Per applicare gli operatori booleani ai dati unsigned e signed bisogna prima convertirli nel tipo std_logic_vector e poi usare glioperatori standard relazionali(=, /=, <, ): a differenza degli operatori relazionali standard, questi hanno ilcomportamento corretto dal punto di vista artimetico shift: operatori std sostituiti da shl(shift left) e shr(shift right) aritmetici: ci sono solo -(segno), abs, +, -, *; implementano operazioni in aritmetica senza segno per i dati unsigned, in con segno(in complemento a 2) per i dati signed Definisce funzioni per le conversioni di dati daun tipo all altro conv_signed, conv_unsigned, conv_integer, conv_std_logic_vector 36 18
19 Librerie Una libreria è una collezione di design units il riferimento ad una libreria avviene attraverso nomi logici l associazione tra i nomi logici e le directory che contengono le librerie è contenuta in file di setup Il nome logico WORK è normalmente usato per la libreria che memorizza le design units create dall utente la libreria predefinita STD contienei packages STANDARD e TEXTIO la libreria IEEE contiene, tra gli altri, i package STD_LOGIC_1164 e STD_LOGIC_ARITH per accedere a una libreriae usare le design units in essa contenute: LIBRARY IEEE; --permette di accedere alla libreria attraverso il nome --logico IEEE USE IEEE.STD_LOGIC_1164.ALL; --carica tutto(all) il contenutodel package STD_LOGIC_1164 USE IEEE.STD_LOGIC_ARITH.ALL; --carica tutto (ALL) il contenutodel package STD_LOGIC_ARITH 37 Istruzioni concorrenti Le istruzioni concorrenti sono usate all interno delle architecture per descrivere il comportamento dei segnali. Si attivano(vengono eseguite) solo in seguito ad un evento su uno dei segnali cui sono sensibili, quindi l ordine di esecuzione non dipende dall ordine con cui appaiono nel modello
20 Istruzioni sequenziali Le istruzioni sequenziali compaiono solo all interno di processi; vengono eseguite nell ordine in cui appaiono all interno del processo. 39 Confronto tra variabili e segnali il processo viene eseguito quando a cambia valore (da 0 a 1, nell esempio sotto); nel primo caso, x prende il valore di a alla fine del processo, per cui a y viene assegnato il valore originale di x (cioè 0); nel secondo caso, x prende il valore di a quando viene eseguita l assegnazione x:=a, quindi y assume il nuovo valore di x 40 20
21 Procedure e funzioni 41 Linguaggio VHDL Esempi Elementi di memoria: flip-flop, latch Registri 42 21
22 Esempi: Multiplexer Esempi: Multiplexer
23 Sommatore: architettura behavioural 45 Sommatore ripple-carry 46 23
24 Sommatore ripple-carry: uso di generate 47 Multiplexer 16-1: uso di generate 48 24
25 Elementi di memoria: latch e flip-flop 49 Flip-Flop con reset sincrono e asincrono 50 25
26 Registro a N bit 51 Registro a scorrimento 52 26
IL 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
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à
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
DettagliAddizione tra numeri binari
Addizione tra numeri binari A=a n-1 a n-2...a i...a 0 B=b n-1 b n-2...b i...b 0 s i =a i b i c in c out =a i b i + a i c in + b i c in a i b i FA c out c in S=s n s n-1 s n-2...s i...s 0 s i a n 1 b n
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
Dettaglilibrary ieee; use ieee.std_logic_1164.all; library IEEE; use IEEE.std_logic_1164.all; use IEEE.numeric_std.all; library STD; use STD.textio.
VHDL Linguaggio di descrizione dell'hardware VHSIC Hardware Description Language VHSIC: Very High Speed Integrated Circuits VHDL Processi Attivati da qualche segnale Assegnazioni concorrenti A
DettagliChristian Pilato
Politecnico di Milano Introduzione al VHDL Christian Pilato pilato@elet.polimi.it Sommario Introduzione Struttura di un modello Interfaccia Funzionalità Concetti base Livelli di astrazione Concorrenza
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
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
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:
DettagliTecnologie e Progettazione dei sistemi Informatici e di Telecomunicazioni Scheda Recupero Estivo Obiettivo
Tecnologie e Progettazione dei sistemi Informatici e di Telecomunicazioni Scheda Recupero Estivo Classe IIIG Il recupero estivo nella materia sarà valutato con un test scritto, durante i giorni dedicati
DettagliEsercitazioni di Reti Logiche. Lezione 5
Esercitazioni di Reti Logiche Lezione 5 Circuiti Sequenziali Zeynep KIZILTAN zeynep@cs.unibo.it Argomenti Circuiti sequenziali Flip-flop D, JK Analisi dei circuiti sequenziali Progettazione dei circuiti
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
DettagliFacoltà di Ingegneria Corso di Studi in Ingegneria Informatica. Metodologie e strumenti per il reengineering del workflow management
Descrizione di Macchine a Stati finiti in VHDL Descrizioni di Macchine a Stati finiti in VHDL In questa lezione vedremo come un sistema digitale sequenziale può essere descritto in VHDL. Outline: Macchine
DettagliElena Baralis 2007 Politecnico di Torino 1
Introduzione Sistemi informativi 2 Introduzione Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS 4 6 2007 Politecnico di Torino 1 7 8 9 10 Sistema informatico Nei sistemi informatici,
DettagliCORSO DI ELETTRONICA DEI SISTEMI DIGITALI
CORSO DI ELETTRONICA DEI SISTEMI DIGITALI Capitolo 1 Porte logiche in tecnologia CMOS 1.0 Introduzione 1 1.1 Caratteristiche elettriche statiche di un transistore MOS 2 1.1.1 Simboli circuitali per un
DettagliReti Logiche A. Introduzione al VHDL
Reti Logiche Introduzione al VHDL Gianluca Palermo Politecnico di Milano Dipartimento di Elettronica e Informazione e-mail: gpalermo@fusberta.elet.polimi.it 1 Sommario Introduzione Struttura di un modello
DettagliIntroduzione al linguaggio VHDL
DEIS Dipartimento di Elettronica Informatica e Sistemistica Universita di Bologna Introduzione al linguaggio VHDL PARTE I Stefano Mattoccia e-mail: smattoccia@deis.unibo.it Telefono: +39 051 2093860 Bologna,
DettagliTUTORIAL 3. Realizzazione di un contatore su scheda XSA50. A cura di De Pin Alessandro
TUTORIAL 3 Realizzazione di un contatore su scheda XSA50 A cura di De Pin Alessandro 1 Problema proposto In questo tutorial ci si propone di realizzare un contatore che, associato ad un display a sette
DettagliLa libreria STD La libreria MODELSIM_LIB Il package TEXTIO Struttura dei testbench. La libreria standard IEEE è composta 6 package
VHDL Testbenches La libreria IEEE La libreria STD La libreria MODELSIM_LIB Il package TEXTIO Struttura dei testbench La libreria IEEE La libreria standard IEEE è composta 6 package std_logic_1164 std_logic_arith
DettagliCaratteristiche di un linguaggio ad alto livello
Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono
DettagliRichiami di Algebra di Commutazione
LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n Prof. Rosario Cerbone rosario.cerbone@libero.it http://digilander.libero.it/rosario.cerbone a.a. 6-7 Richiami di Algebra di Commutazione In questa
DettagliStrutture dati e loro organizzazione. Gabriella Trucco
Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra
DettagliRappresentazione con i diagrammi di flusso (Flow - chart)
Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo
DettagliCalcolatori Elettronici M Modulo 2. 02 - Linguaggio VHDL Parte 1/2
Calcolatori Elettronici M Modulo 2 02 - Linguaggio VHDL Parte 1/2 1 Caratteristiche dei linguaggi HDL Gli HDL, essendo linguaggio di programmazione finalizzati a modellare l HARDWARE, presentano delle
DettagliLINGUAGGI DI PROGRAMMAZIONE!
LINGUAGGI DI PROGRAMMAZIONE! Il potere espressivo di un linguaggio è! caratterizzato da:! quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente)! quali istruzioni
DettagliProgrammazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo
Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
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
DettagliCorso di Fondamenti di Informatica Il sistema dei tipi in C++
Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout
DettagliCodice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli
Codice La relazione che associa ad ogni successione ben formata di simboli di un alfabeto il dato corrispondente è detta codice. Un codice mette quindi in relazione le successioni di simboli con il significato
DettagliPSPICE Circuiti sequenziali principali
PSPICE Circuiti sequenziali principali Davide Piccolo Riccardo de Asmundis Elaboratori 1 Circuiti Sequenziali Tutti i circuiti visti fino ad ora erano circuiti combinatori, ossia circuiti in cui lo stato
DettagliProblema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
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
DettagliRiepilogo su FSM. Descrizione di macchine a stati tramite VHDL. Esempio di FSM (Moore) Esempio di FSM (Moore)
Riepilogo su FSM Descrizione di macchine a stati tramite VHDL M. Favalli Engineering Department in Ferrara FSM: i) insieme finito di simboli di ingresso; ii) insieme finito di simboli di uscita; iii) un
DettagliInsegnamento Informatica CdS Scienze Giuridiche
Insegnamento Informatica CdS Scienze Giuridiche A.A. 29/ Prof. Valle D.ssa Folgieri Informazioni preliminari Prof. Valle email valle@dsi.unimi.it SITO DEL CORSO: http://webcen.dsi.unimi.it/wcinfo Syllabus:
DettagliNonostante l avvento delle più moderne
di terminati ad entrambe le estremità con un impedenza di questo valore. Come già detto se si vuole ottenere la massima luminosità di uno dei segnali di colore occorre fornire circa 0.7V. Per fare questo
DettagliLinguaggio C - sezione dichiarativa: costanti e variabili
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente
DettagliIntroduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software
Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell
DettagliLe Macchine digitali sono Sistemi artificiali che elaborano informazioni
Le macchine digitali Le Macchine digitali sono Sistemi artificiali che elaborano informazioni ogni informazione è descritta da variabili che possono assumere solo un numero finito di valori Ad ogni variabile
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
DettagliPROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico
ISTITUTO TECNICO STATALE MARCHI FORTI Viale Guglielmo Marconi n 16-51017 PESCIA (PT) - ITALIA PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico Docente PARROTTA GIOVANNI
DettagliFUNZIONI BOOLEANE. Vero Falso
FUNZIONI BOOLEANE Le funzioni booleane prendono il nome da Boole, un matematico che introdusse un formalismo che opera su variabili (dette variabili booleane o variabili logiche o asserzioni) che possono
DettagliUn circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati
Il Livello LogicoDigitale i Blocchi funzionali combinatori Circuiti integrati Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati
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
DettagliLinguaggi di alto livello, compilatori e interpreti
Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI
DettagliProgrammazione C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
DettagliSistemi logici complessi
Sistemi logici complessi circuiti logici standard prevedono, per la realizzazione di un sistema complesso, i seguenti passi: definizione delle specifiche descrizione del sistema mediante interconnessione
DettagliDescrizioni VHDL Behavioral
1 Descrizioni VHDL Behavioral In questo capitolo vedremo come la struttura di un sistema digitale è descritto in VHDL utilizzando descrizioni di tipo comportamentale. Outline: process wait statements,
DettagliIl Modello di von Neumann (2) Prevede 3 entità logiche:
Introduzione all Architettura degli Elaboratori Sommario Macchina di von Neumann Esecuzione dei programmi Rappresentazione dei dati Dati numerici Dati alfabetici 1 2 Il Modello di von Neumann (1) L architettura
DettagliTipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010
Tipi di dati scalari (casting e puntatori) Alessandra Giordani agiordani@disi.unitn.it Lunedì 10 maggio 2010 http://disi.unitn.it/~agiordani/ I tipi di dati scalari I tipi aritmetici, i tipi enumerativi
DettagliUnità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso
Unità Didattica 2 Linguaggio C Espressioni, Operatori e Strutture linguistiche per il controllo del flusso 1 Espressioni e assegnazioni Le espressioni sono definite dalla grammatica: espressione = variabile
DettagliEsercitazioni di Reti Logiche. Lezione 4
Esercitazioni di Reti Logiche Lezione 4 Progettazione dei circuiti logici combinatori Zeynep KIZILTAN zkiziltan@deis.unibo.it Argomenti Procedura di analisi dei circuiti combinatori. Procedura di sintesi
DettagliAnalizzatore lessicale o scanner. Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser.
Analizzatore lessicale o scanner Dispensa del corso di Linguaggi e Traduttori A.A. 2005-2006 Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Lo scanner,
DettagliReti Logiche A Appello del 24 febbraio 2010
Politecnico di Milano Dipartimento di Elettronica e Informazione prof.ssa Anna Antola prof. Fabrizio Ferrandi Reti Logiche A Appello del 24 febbraio 2010 Matricola prof.ssa Cristiana Bolchini Cognome Nome
DettagliDIAGNOSTICA DEI CIRCUITI INTEGRATI DEFINIZIONI GENERALI
DIAGNOSTICA DEI CIRCUITI INTEGRATI Obiettivi: Verificare la funzionalità del circuito Verificare il possibile uso del circuito per particolari applicazioni DEFINIZIONI GENERALI Affidabilità: Probabilità
DettagliArray in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica
Array in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: array DIS - Dipartimento di informatica e sistemistica 1 / 25 Cosa vedremo
DettagliIl Sistema Operativo
Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche
DettagliVBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
DettagliCapitolo 6 Le infrastrutture SoftWare
Capitolo 6 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: garantire la correttezza e la precisione nell elaborazione
DettagliFlip-flop e loro applicazioni
Flip-flop e loro applicazioni Reti sequenziali elementari (6) L'elemento bistabile Latch o flip-flop trasparenti Temporizzazione dei flip-flop trasparenti Architettura master-slave Flip-flop non trasparenti
DettagliLaboratorio di Informatica
Laboratorio di Informatica Ingegneria Meccanica Lezione 3, 8 ottobre 2007 versione 9 ottobre 2007 Renato Menicocci Interi in complemento a 2 (I) Con N bit
DettagliCapitolo 5 Elementi architetturali di base
Capitolo 5 Elementi architetturali di base Giuseppe Lami Istituto di Scienza e Tecnologie dell Informazione CNR Via Moruzzi, 1 - Pisa giuseppe.lami@isti.cnr.it Struttura - Unità di elaborazione e controllo
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliLE PORTE LOGICHE. Ingresso B Ingresso A Uscita OUT
LE PORTE LOGICHE Nell'elettronica digitale le porte logiche costituiscono degli elementi fondamentali nei circuiti. Esse si possono trovare all'interno di circuiti integrati complessi, come parte integrante
DettagliLogica Digitale. Fondamenti di Informatica - Prof. Gregorio Cosentino
Logica Digitale 1 Ma in fondo quali sono i mattoncini che compongono un calcolatore elettronico? Porte Circuiti Aritmetica Memorie Bus I/O And, Or, Nand, Nor, Not Multiplexer, Codif, Shifter, ALU Sommatori
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
DettagliIl linguaggio C. Notate che...
Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione
DettagliProgramma svolto di INFORMATICA. Classe 3 - indirizzo MERCURIO A.S. 2009/2010
ISTITUTO TECNICO COMMERCIALE N. DELL ANDRO - Santeramo in Colle (BA) Programma svolto di INFORMATICA Classe 3 - indirizzo MERCURIO A.S. 2009/2010 Proff. Rosalia Barbara Schiavarelli, Antonio Antonicelli
DettagliArchitettura dei computer
Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale (memoria centrale, RAM) la memoria secondaria i dispositivi di input/output La
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
DettagliAppunti di informatica. Lezione 3 anno accademico Mario Verdicchio
Appunti di informatica Lezione 3 anno accademico 2015-2016 Mario Verdicchio Numeri binari in memoria In un calcolatore, i numeri binari sono tipicamente memorizzati in sequenze di caselle (note anche come
DettagliSimulazione. Simulazione verilog. Testbench. Testbench
Simulazione Simulazione verilog Lucidi del Corso di Elettronica Digitale Modulo 8 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Il verilog
DettagliLaboratorio di Architettura degli Elaboratori
Laboratorio di Architettura degli Elaboratori Dott. Massimo Tivoli Set di istruzioni del MIPS32: istruzioni aritmetiche e di trasferimento Istruzioni (Alcune) Categorie di istruzioni in MIPS Istruzioni
DettagliLINGUAGGI DI ALTO LIVELLO
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic Ada
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
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
DettagliUn nuovo concetto di classe
Un nuovo concetto di classe Un sistema discreto è caratterizzato dalla particolarità che i suoi cambiamenti di stato hanno luogo a distanza di tempo comunque spaziati; nel simulare un sistema del genere,
Dettaglia.a. 2014/2015 Docente: Stefano Bifaretti
a.a. 2014/2015 Docente: Stefano Bifaretti email: bifaretti@ing.uniroma2.it Gli schemi circuitali impiegati per la realizzazione dei convertitori statici sono molteplici. Infatti, la struttura del convertitore
DettagliDispensa di Informatica II.1
ALGORITMI La dispensa di seguito proposta si pone come tutorial per poter porre le basi per la realizzazione di algoritmi che poi potranno eventualmente essere sviluppati in moduli software con metodologia
DettagliIl linguaggio assembly
Il linguaggio assembly Introduzione al linguaggio macchina Indice Che cos è l assembly Elementi del linguaggio Memoria di programma Registri interni e di I/O Registri particolari Rappresentazione dell
DettagliPIANO DI LAVORO DEI DOCENTI
Pag. 1 di 5 Docente: Materia insegnamento: ELETTRONICA GENERALE Dipartimento: Anno scolastico: ELETTRONICA ETR Classe 1 Livello di partenza (test di ingresso, livelli rilevati) Il corso richiede conoscenze
DettagliFasi di un Compilatore
Dipartimento di Matematica e Informatica Università di Camerino Un implementazione compilativa di un linguaggio di programmazione viene realizzata tramite un programma che prende il nome di compilatore
DettagliI THREAD O PROCESSI LEGGERI
I THREAD O PROCESSI Processi (pesanti): LEGGERI entità autonome con poche risorse condivise (si prestano poco alla scrittura di applicazioni fortemente cooperanti) Ogni processo può essere visto come Immagine
DettagliUNIVERSITA DEGLI STUDI DI FIRENZE. Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica !" #$ & +
UNIVERSITA DEGLI STUDI DI FIRENZE Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica!" #$ %&&'()* & + + Sommario INTRODUZIONE... 2 1.1 UN ESEMPIO... 3 PRINCIPALI CARATTERISTICHE DEL LINGUAGGIO...
DettagliLinguaggio C. Tipi predefiniti. Università degli Studi di Brescia. Prof. Massimiliano Giacomin. Prof. M. Giacomin
Linguaggio C Tipi predefiniti Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Il concetto di tipo (reprise) Nome che indica
DettagliReggio Calabria, 29 Aprile 2009 ING.VALERIO SCORDAMAGLIA
TECNOLOGIE DEI SISTEMI DI CONTROLLO INTRODUZIONE PLC E DIAGRAMMA FUNZIONALE SEQUENZIALE Reggio Calabria, 29 Aprile 2009 ING.VALERIO SCORDAMAGLIA ESEMPIO: CARRELLO AUTOMATICO INTRODUZIONE PLC PROGRAMMABLE
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
DettagliIl processore. Istituzionii di Informatica -- Rossano Gaeta
Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
DettagliSistemi Combinatori & Mappe di Karnaugh
Sistemi Combinatori & Mappe di Karnaugh AB E=0 F=0 E=1 F=0 00 01 11 10 AB 00 01 11 10 00 1 0 0 0 00 0 0 0 0 01 0 0 0 0 01 0 0 0 0 11 0 0 1 0 11 0 0 1 0 10 0 0 0 1 10 0 0 0 1 AB 00 01 11 10 AB 00 01 11
DettagliFondamenti di Informatica
Fondamenti di Informatica Algebra di Boole e Circuiti Logici Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 Algebra di Boole e Circuiti Logici L Algebra
DettagliUML I diagrammi implementativi
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - UML I diagrammi implementativi E. TINELLI I diagrammi implementativi In UML 2.x esistono 3 tipi di
DettagliSintesi Logica dal livello RTL. FPGA Xilinx Virtex II
Sintesi Logica dal livello RTL FPGA Xilinx Virtex II 1 Sintesi Logica dal livello RTL La Sintesi Logica si occupa di trasformare la descrizione di un circuito a livello RTL (Register Transfer Level) in
DettagliUniversità degli Studi di Cassino
Corso di Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. Anno Accademico 2007/2008 Francesco Tortorella Istruzioni di confronto Istruzione Significato slt $t1,$t2,$t3 if
DettagliComponenti di un processore
Componenti di un processore Unità di Controllo Bus Interno REGISTRI Program Counter (PC) Registro di Stato (SR) Registro Istruzioni (IR) Registri Generali Unità Aritmetico- Logica Registro Indirizzi Memoria
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
DettagliProgramma svolto di INFORMATICA. Classe 3M - indirizzo MERCURIO A.S. 2010/2011
ISTITUTO TECNICO COMMERCIALE N. DELL ANDRO - Santeramo in Colle (BA) Programma svolto di INFORMATICA Classe 3M - indirizzo MERCURIO A.S. 2010/2011 Proff. Rosalia Barbara Schiavarelli, Antonio Antonicelli
DettagliCorso Programmazione Java Standard
Corso Programmazione Java Standard Codice: ITJS0113 Durata: 40 ore Descrizione corso Questo corso fornisce una panoramica sulle varie sfaccettature della sintassi del linguaggio Java, integrata con mirate
DettagliInformatica. 80 ore divise in 4 UFC. Docente: Michela Bacchin. Contatti: Tramite Ermes Studenti
Informatica 80 ore divise in 4 UFC Docente: Michela Bacchin Contatti: michela.bacchin.corsi@gmail.com Tramite Ermes Studenti Programma UFC 12: Strumenti per il trattamento dei documenti testuali UFC 13:
Dettagli