Introduzione alla sintesi comportamentale
|
|
- Luciano Santini
- 6 anni fa
- Visualizzazioni
Transcript
1 Introduzione alla sintesi comportamentale Valentino Liberali Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Via Bramante 65, Crema, Italy Tel.: ; Fax: Aggiornamento: 7 Marzo 2001 Sommario q Sintesi e verifica q VHDL v Comportamento v Tempo v Struttura q VHDL sintetizzabile q Esempi q Riferimenti bibliografici Introduzione alla Sintesi Comportamentale - Valentino Liberali 2
2 Sintesi e verifica (1) DOMINIO COMPORTAMENTALE DOMINIO STRUTTURALE SINTESI: q Traduzione da dominio comportamentale a dominio strutturale q Traduzione da dominio strutturale a dominio fisico DOMINIO FISICO VERIFICA: q Simulazione comportamentale q Simulazione logica q Controllo della correttezza del layout q Confronto tra layout e schema Introduzione alla Sintesi Comportamentale - Valentino Liberali 3 Sintesi e verifica (2) 1 COMPORTAM. 2 A C FISICO B 3 D D STRUTT. 4 4 q Descrizione comportamentale A Verifica comportamentale 2 Sintesi automatica (generazione dello schema) B Verifica (simulazione) 3 Generazione automatica del layout C Verifica della correttezza del layout (DRC, ERC) 4 Estrazione dello schema circuitale dal layout D Verifica della correttezza del layout (LVS) 4 Estrazione dei parassiti (backannotation) D Simulazione post-layout Introduzione alla Sintesi Comportamentale - Valentino Liberali 4
3 Descrizione comportamentale: linguaggi q Collettivamente prendono il nome di HDL = Hardware Description Language q VHDL = VHSIC Hardware Description Language v VHSIC = Very High Speed Integrated Circuit q Verilog HDL Introduzione alla Sintesi Comportamentale - Valentino Liberali 5 VHDL (1) q Scopo: Mettere il progettista in grado di affrontare la complessità di un progetto attraverso una descrizione semplice q Strumento: Linguaggio standard (IEEE 1076) che permette la descrizione a diversi livelli di astrazione Introduzione alla Sintesi Comportamentale - Valentino Liberali 6
4 VHDL (2) q VHSIC = Very High Speed Integrated Circuit v Progetto di ricerca lanciato nel 1980 dal governo USA q Sviluppo di progetti q Riutilizzo di progetti q Scambio di documentazione J Standard pubblico J Supporto per diverse metodologie progettuali J Indipendenza dalla tecnologia J Differenti possibilità di rappresentazioni Introduzione alla Sintesi Comportamentale - Valentino Liberali 7 Astrazione q Caratteristiche comportamentali q Caratteristiche temporali q Caratteristiche strutturali q Unico linguaggio J Possibilità di combinare più caratteristiche Introduzione alla Sintesi Comportamentale - Valentino Liberali 8
5 Modellizzazione comportamentale (1) q Interpretazione funzionale ingresso sistema digitale uscita q Un sistema digitale v opera su valori discreti v è un insieme di operazioni su valori v può essere descritto come un cammino di segnali processo ( process ) q Un processo è definito tramite un insieme di istruzioni (come un programma in C o in Pascal) Introduzione alla Sintesi Comportamentale - Valentino Liberali 9 Modellizzazione comportamentale (2) q Descrizione di tipo black-box q Descrizione limitata alle relazioni tra ingresso e uscita q Nessun riferimento alla tecnologia utilizzata per la realizzazione q Modello puramente matematico delle non idealità (come i ritardi) v Esempio: y = a + b AFTER 2 ns; v Il ritardo è specificato dall istruzione VHDL AFTER v La simulazione comportamentale considera ritardo, ma non c è nessuna informazione relativa alla causa che lo ha generato. Introduzione alla Sintesi Comportamentale - Valentino Liberali 10
6 Modellizzazione comportamentale (3) q Un sistema suddiviso in sottosistemi è descritto mediante un insieme di processi q Poiché tutti i sottosistemi sono contemporaneamente attivi, il modello deve prevedere l esecuzione contemporanea dei programmi ( processi concorrenti ) q La comunicazione tra processi è assicurata dai segnali (percorsi unidirezionali dei dati) C A S D B Introduzione alla Sintesi Comportamentale - Valentino Liberali 11 Segnale q È un percorso unidirezionale dei dati tra due processi sistema 1 (processo 1) segnale sistema 2 (processo 2) q È di tipo definito (bit, intero, reale, ) q Può avere solo valori di quel tipo q Il VHDL non prevede nessuna conversione implicita! Introduzione alla Sintesi Comportamentale - Valentino Liberali 12
7 Processo q È attivato da un evento (tempo oppure cambiamento di valore di un segnale d ingresso a cui il processo è sensibile) q I segnali che attivano un processo sono contenuti nella sensitivity list del processo q È descritto con un insieme di istruzioni q Le istruzioni vengono eseguite sequenzialmente q Al termine il processo viene sospeso, cioè messo in stato di attesa ( wait ) dell evento successivo Introduzione alla Sintesi Comportamentale - Valentino Liberali 13 Modellizzazione del tempo q Ogni processo è basato su una descrizione di tipo stimolo Í risposta q La risposta di un processo può costituire uno stimolo per altri processi q I processi sono concorrenti, ma devono poter essere simulati anche su elaboratori non paralleli ÍNecessità di un meccanismo di sincronizzazione dei processi Introduzione alla Sintesi Comportamentale - Valentino Liberali 14
8 Sincronizzazione dei processi q Tempo della simulazione indipendente dal clock dell elaboratore q Lista degli eventi ordinata secondo il tempo della simulazione q Ogni segnale ha la sua lista degli eventi : coppie tempo/valore (t i, v i ) ordinate per tempi crescenti q All istante t i il segnale assume il valore v i e lo mantiene fino al tempo t i+1 Introduzione alla Sintesi Comportamentale - Valentino Liberali 15 Ciclo di simulazione (1) q Al tempo t i (il primo nella lista degli eventi): v Vengono aggiornati i valori dei segnali che cambiano a t = t i ( update ) v Vengono eseguiti i processi sensibili ai segnali che cambiano v L esecuzione dei processi può causare transizioni che attivano altri processi v Il ciclo termina quando tutti i processi sono sospesi (in stato di wait ) q Aggiornamento al tempo t i+1 INIZIO CICLO "UPDATE" ESECUZIONE PROCESSI TRANSIZIONI No FINE CICLO Aggiornamento del tempo di simulazione NUOVO CICLO Sì Introduzione alla Sintesi Comportamentale - Valentino Liberali 16
9 u 1 ingressi x 2 x 1 A B u 2 y 2 Ciclo di simulazione (2) x 1 x 2 ( x1, y1 ) = F1 ( u1, x2 ) ( x2, y2 ) = F2 ( u2, x1 ) uscite y 1 q I processi A e B sono concorrenti, ma vengono simulati i tempi diversi (se l elaboratore non è parallelo) q Il risultato della simulazione deve essere lo stesso, indipendentemente dall ordine di simulazione dei processi A e B q Se A e B non introducono ritardo, il simulatore introduce un ritardo fittizio δ ( unit delay ) v Le transizioni delle uscite avvengono sempre in un tempo successivo al tempo di simulazione Introduzione alla Sintesi Comportamentale - Valentino Liberali 17 Ciclo di simulazione (3) q Il ritardo fittizio δ ( unit delay ) garantisce la concorrenza dei processi in simulazione q Ogni processo viene simulato una sola volta durante un ciclo di simulazione q Al termine del ciclo si esegue l aggiornamento dei valori senza incrementare il tempo di simulazione t 1 +δ = t 1 Introduzione alla Sintesi Comportamentale - Valentino Liberali 18
10 Modellizzazione della struttura q Un sistema può essere diviso in sottosistemi che comunicano tramite segnali q Le comunicazioni in ingresso e in uscita avvengono attraverso le porte ( port ) v La definizione di una porta è la dichiarazione di un segnale v La porta può essere di ingresso oppure di uscita S In1 In2 In1 Out1 S1 In2 Out2 In1 In2 S2 Out1 Out1 Introduzione alla Sintesi Comportamentale - Valentino Liberali 19 Sintassi VHDL q Ogni oggetto deve essere dichiarato come entità ( entity ): black box dotata di porte per i segnali q Ogni oggetto può essere descritto internamente in uno o più modi q La descrizione interna dell entità prende il nome di architettura ( architecture ) q Le architetture possono essere di tipo comportamentale o strutturale, a diversi livelli di accuratezza Introduzione alla Sintesi Comportamentale - Valentino Liberali 20
11 Sintesi comportamentale q Traduzione da dominio comportamentale a dominio strutturale v Vincoli temporali v Vincoli di area v Vincoli sulla potenza dissipata q Programma di sintesi ( compilatore ): v Operazioni matematiche e logiche tradotte in circuitali v Scelta dello schema più idoneo al rispetto dei vincoli schemi Introduzione alla Sintesi Comportamentale - Valentino Liberali 21 VHDL sintetizzabile q Non tutte le istruzioni del VHDL possono essere tradotte in uno schema circuitale q Il sottoinsieme del VHDL che può essere tradotto prende il nome di VHDL sintetizzabile v Esempio: v y = a + b; ½ La somma è sintetizzabile perché il compilatore è in grado di descrivere un sommatore a più bit nel dominio strutturale v y = a + b AFTER 2 ns; ½ Il ritardo (istruzione AFTER ) non è sintetizzabile Introduzione alla Sintesi Comportamentale - Valentino Liberali 22
12 Descrizione RTL qrtl = Register Transfer Language q È un HDL che comprende i seguenti elementi: v Controllo (if-then-else, case) v Iterazione (for, while) v Gerarchia v Bit e parole a più bit (o vettori di bit) v Sequenza e parallelo di operazioni v Specificazione e allocazione di registri v Operazioni aritmetiche, logiche e di confronto q Sintassi di tipo: Y A + B oppure Y0 C A 2 (somma di parole a più bit) (operazione logica su bit) Introduzione alla Sintesi Comportamentale - Valentino Liberali 23 Sintesi RTL q A ciascun elemento RTL è associata una struttura, oppure più strutture con diverse prestazioni Elemento del linguaggio RTL schema circuitale 1 schema circuitale N q Esempi: v istruzione di controllo case Í multiplexer v operatore + (somma aritmetica) Í circuito sommatore Introduzione alla Sintesi Comportamentale - Valentino Liberali 24
13 Esempio: sommatore a 1 bit q Descrizione dell entità Single-bit adder library IEEE; use IEEE.std_logic_1164.all; entity adder is port (a : in std_logic; b : in std_logic; cin : in std_logic; sum : out std_logic; cout : out std_logic); end adder; Introduzione alla Sintesi Comportamentale - Valentino Liberali 25 Esempio: sommatore a 1 bit qdescrizione comportamentale RTL architecture rtl of adder is begin sum <= (a xor b) xor cin; cout <= (a and b) or (cin and a) or (cin and b); end rtl; Introduzione alla Sintesi Comportamentale - Valentino Liberali 26
14 Esempio: sommatore a 1 bit q Descrizione strutturale use work.gates.all; architecture structural of adder is signal xor1_out, and1_out, and2_out, or1_out : std_logic; begin xor1: xorg port map( in1 => a, in2 => b, out1 => xor1_out); xor2: xorg port map( in1 => xor1_out, in2 => cin, out1 => sum); and1: andg port map( in1 => a, in2 => b, out1 => and1_out); or1: org port map( in1 => a, in2 => b, out1 => or1_out); and2: andg port map( in1 => cin, in2 => or1_out, out1 => and2_out); or2: org port map( in1 => and1_out, in2 => and2_out, out1 => cout); end structural; Introduzione alla Sintesi Comportamentale - Valentino Liberali 27 Esempio: libreria di celle package with component declarations library IEEE; use IEEE.std_logic_1164.all; package gates is component andg generic (tpd_hl : time := 1 ns; tpd_lh : time := 1 ns); port (in1, in2 : std_ulogic; out1 : out std_ulogic); end component; component org generic (tpd_hl : time := 1 ns; tpd_lh : time := 1 ns); port (in1, in2 : std_logic; out1 : out std_logic); end component; component xorg generic (tpd_hl : time := 1 ns; tpd_lh : time := 1 ns); port (in1, in2 : std_logic; out1 : out std_logic); end component; end gates; -- and gate library IEEE; use IEEE.std_logic_1164.all; entity andg is generic (tpd_hl : time := 1 ns; tpd_lh : time := 1 ns); port (in1, in2 : std_ulogic; out1 : out std_ulogic); end andg; architecture only of andg is begin p1: process(in1, in2) variable val : std_logic; begin val := in1 and in2; case val is when 0 => out1 <= 0 after tpd_hl; when 1 => out1 <= 1 after tpd_lh; when others => out1 <= val; end case; end process; end only; Introduzione alla Sintesi Comportamentale - Valentino Liberali 28
15 Esempio: sommatore a N bit q Descrizione dell entità N-bit adder -- The width of the adder is determined by generic N library IEEE; use IEEE.std_logic_1164.all; entity addern is generic(n : integer := 16); port (a : in std_logic_vector(n downto 1); b : in std_logic_vector(n downto 1); cin : in std_logic; sum : out std_logic_vector(n downto 1); cout : out std_logic); end addern; Introduzione alla Sintesi Comportamentale - Valentino Liberali 29 Esempio: sommatore a N bit q Descrizione comportamentale architecture behavioral of addern is begin p1: process(a, b, cin) variable vsum : std_logic_vector(n downto 1); variable carry : std_logic; begin carry := cin; for i in 1 to N loop vsum(i) := (a(i) xor b(i)) xor carry; carry := (a(i) and b(i)) or (carry and (a(i) or b(i))); end loop; sum <= vsum; cout <= carry; end process p1; end behavioral; Introduzione alla Sintesi Comportamentale - Valentino Liberali 30
16 Esempio: sommatore a N bit q Descrizione strutturale architecture structural of addern is component adder port (a : in std_logic; b : in std_logic; cin : in std_logic; sum : out std_logic; cout : out std_logic); end component; signal carry : std_logic_vector(0 to N); begin carry(0) <= cin; cout <= carry(n); -- instantiate a -- single-bit adder -- N times gen: for I in 1 to N generate add: adder port map( a => a(i), b => b(i), cin => carry(i - 1), sum => sum(i), cout => carry(i)); end generate; end structural; Introduzione alla Sintesi Comportamentale - Valentino Liberali 31 Esempio: verifica del sommatore a N bit type test_record_t is record q Test bench a : std_logic_vector(n downto 1); b : std_logic_vector(n downto 1); cin : std_logic; sum : std_logic_vector(n downto 1); cout : std_logic; end record; type test_array_t is array(positive range <>) of test_record_t; constant test_patterns : test_array_t := ( (a => " ", b => " ", cin => 0, sum => " ", cout => 0 ), (a => " ", b => " ", cin => 0, sum => " ", cout => 0 ), (a => " ", b => " ", cin => 1, sum => " ", cout => 0 ), (a => " ", b => " ", cin => 0, sum => " ", cout => 0 ), (a => " ", b => " ", cin => 0, sum => " ", cout => 0 ), (a => " ", b => " ", cin => 1, sum => " ", cout => 0 ), (a => " ", b => " ", cin => 0, sum => " ", cout => 0 ), (a => " ", b => " ", cin => 1, sum => " ", cout => 1 ), (a => " ", b => " ", cin => 0, sum => " ", cout => 0 ), (a => " ", b => " ", cin => 0, sum => " ", cout => 0 ) ); Introduzione alla Sintesi Comportamentale - Valentino Liberali 32
17 Esempio: verifica del sommatore a N bit test: process variable vector : test_record_t; q Esecuzione del test variable found_error : boolean := false; begin for i in test_patterns range loop vector := test_patterns(i); -- apply the stimuls a <= vector.a; b <= vector.b; cin <= vector.cin; -- wait for the outputs to settle wait for 100 ns; -- check the results if (sum /= vector.sum) then assert false report "Sum is " & to_string(sum) & ". Expected " & to_string(vector.sum); found_error := true; end if; end loop; end process; Introduzione alla Sintesi Comportamentale - Valentino Liberali 33 Riferimenti bibliografici q N. H. E. Weste and K. Eshraghian. Principles of CMOS VLSI Design (2nd edition). Addison-Wesley, Reading, MA, USA, q R. Lipsett, C. Schaefer, and C. Ussery. VHDL: Hardware Description and Design. Kluwer Academic Publishers, Norwell, MA, USA, q K. Shakill. VHDL for Programmable Logic. Addison- Wesley, Reading, MA, USA, Introduzione alla Sintesi Comportamentale - Valentino Liberali 34
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
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
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
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,
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
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
DettagliElettronica dei Sistemi Digitali Algoritmi di channel routing per standard cells; verifica progettuale
Elettronica dei Sistemi Digitali Algoritmi di channel routing per standard cells; verifica progettuale Valentino Liberali Dipartimento di Tecnologie dell Informazione Università di Milano, 26013 Crema
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
DettagliTecniche di Progettazione Digitale Richiami all algebra di Boole; domini di rappresentazione p. 2
Tecniche di Progettazione Digitale Richiami all algebra di Boole; domini di rappresentazione Valentino Liberali Dipartimento di Tecnologie dell Informazione Università di Milano, 26013 Crema e-mail: liberali@dti.unimi.it
DettagliPROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE
PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 ALGORITMO, PROGRAMMA, PROCESSO Algoritmo Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma Descrizione di un
DettagliSISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.
SISTEMI OPERATIVI 06.a Il Nucleo Nucleo di un SO Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher 1 Architettura di base dei SO Due le strutture di riferimento: a
DettagliDescrizione VHDL di componenti combinatori
Descrizione VHDL di componenti combinatori 5 giugno 2003 1 Decoder Il decoder è un componente dotato di N ingressi e 2 N uscite. Le uscite sono poste tutte a 0 tranne quella corrispondente al numero binario
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
DettagliLaboratorio di Calcolatori Elettronici
Laboratorio di Calcolatori Elettronici Introduzione al VHDL Progettare utilizzando VHDL: dall esempio al costrutto 1 di 72 Ringraziamenti Questo dispensa è stata sviluppata nell ambito del corso di Calcolatori
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...
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
DettagliCAPITOLO 2. 2.1 Evoluzione nella progettazione dei circuiti integrati
CAPITOLO 2 Questo capitolo contiene una breve storia sull evoluzione nella progettazione dei circuiti integrati, seguita da una approfondita analisi dei mezzi che vengono usati attualmente a tale scopo,
DettagliDiagrammi a blocchi 1
Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi. Analisi strutturata. Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi. Attraverso
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
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
DettagliMicroprocessore a 16 bit in tecnologia CMOS 45nm
Descrizione Microprocessore a 16 bit in tecnologia CMOS 45nm Realizzare interamente un semplice microprocessore Pico a 16 bit, partendo dalla unità logico-aritmetica (ALU) fino ad arrivare al microcontrollore.
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
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
DettagliMetodologie di Progettazione Hardware-Software
Metodologie di Progettazione Hardware-Software Il Very High Speed Integrated Circuit Hardware Description Language ( VHDL ) Metodologie di Progettazione Hardware/Software LS Ing. Informatica 1 Gli Hardware
DettagliLinguaggio C: introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi
DettagliPROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
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
DettagliCaratteristiche di un PC
Caratteristiche di un PC 1 Principali porte presenti sui personal computer PC Una porta è il tramite con la quale i dispositivi (periferiche o Device ) vengono collegati e interagiscono con il personal
DettagliModulo 2 Data Base - Modello Relazionale
Modulo 2 Data Base - Modello Relazionale Università degli Studi di Salerno Corso di Laurea in Scienze della comunicazione Informatica generale Docente: Angela Peduto A.A. 2004/2005 Modello Relazionale
DettagliNormalizzazione. Definizione
Normalizzazione Definizione Le forme normali 2 Una forma normale è una proprietà di una base di dati relazionale che ne garantisce la qualità, cioè l'assenza di determinati difetti Quando una relazione
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?
DettagliArchitettura degli elaboratori Docente:
Politecnico di Milano Il File System Architettura degli elaboratori Docente: Ouejdane Mejri mejri@elet.polimi.it Sommario File Attributi Operazioni Struttura Organizzazione Directory Protezione Il File
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
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
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
DettagliFondamenti di Programmazione
Fondamenti di Programmazione (con linguaggio di riferimento C++) Gianfranco Rossi Università di Parma Dip. di Matematica e Informatica 43100 Parma (Italy) gianfranco.rossi@unipr.it Indice 1 Introduzione
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
DettagliProcedura operativa per la gestione della funzione di formazione classi prime
Procedura operativa per la gestione della funzione di formazione classi prime Questa funzione viene fornita allo scopo di effettuare la formazione delle classi prime nel rispetto dei parametri indicati
DettagliIl Sottosistema di Memoria
Il Sottosistema di Memoria Calcolatori Elettronici 1 Memoria RAM RAM: Random Access Memory Tempi di accesso indipendenti dalla posizione Statica o Dinamica Valutata in termini di Dimensione (di solito
DettagliElementi di base del calcolatore
Elementi di base del calcolatore Registri: dispositivi elettronici capaci di memorizzare insiemi di bit (8, 16, 32, 64, ) Clock: segnale di sincronizzazione per tutto il sistema si misura in cicli/secondo
Dettagli2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
. Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,
DettagliElaborato di Architettura dei Sistemi Integrati
Elaborato di Architettura dei Sistemi Integrati Indice Indice... 1 Prima Esercitazione: Adder a 16bit... 3 Seconda Esercitazione: ALU del processore... 7 Modulo aritmetico... 7 Modulo logico...11 ALU Unità
DettagliAlgebra di Boole Algebra di Boole
1 L algebra dei calcolatori L algebra booleana è un particolare tipo di algebra in cui le variabili e le funzioni possono solo avere valori 0 e 1. Deriva il suo nome dal matematico inglese George Boole
DettagliFondamenti VBA. Che cos è VBA
Fondamenti VBA Che cos è VBA VBA, Visual Basic for Application è un linguaggio di programmazione, inserito nelle applicazioni Office di Microsoft (Ms Word, Ms Excel, Ms PowerPoint, Visio). VBA è una implementazione
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
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
DettagliIntroduzione. 1.1 Evoluzione della progettazione dei sistemi digitali
1 Introduzione 1.1 Evoluzione della progettazione dei sistemi digitali I primi sistemi digitali intesi come sistemi di elaborazione basati su tecnologie elettriche o elettromeccaniche e operanti su informazione
DettagliAlgoritmi e Linguaggi
Algoritmi e Linguaggi Programmi e linguaggi Un calcolatore è solo un esecutore rapidissimo di istruzioni Un programma è un insieme di istruzioni codificate in un opportuno linguaggio 2 / 21 Linguaggi e
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
DettagliSistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.
Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca
DettagliARCHITETTURA DI UN SISTEMA DI ELABORAZIONE
ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE Il computer o elaboratore è una macchina altamente organizzata capace di immagazzinare, elaborare e trasmettere dati con notevole precisione e rapidità. Schematicamente
DettagliI circuiti digitali: dalle funzioni logiche ai circuiti
rchitettura dei calcolatori e delle Reti Lezione 4 I circuiti digitali: dalle funzioni logiche ai circuiti Proff.. orghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi
DettagliHeap e code di priorità
Heap e code di priorità Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010
DettagliInformatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1 1) Il bus in un computer trasporta a) solo dati b) solo istruzioni c) sia dati sia istruzioni 2) In una sequenza
DettagliUniversità Federico II - Napoli - A.A. 2011/2012 Corso di Laurea in Ingegneria Elettronica
Università Federico II - Napoli - A.A. 2011/2012 Corso di Laurea in Ingegneria Elettronica Architettura dei Sistemi Integrati Elaborato Progettazione microprocessore Pico16 Alunno X X Professore Antonio
DettagliCorso di Fondamenti di Informatica Classi di istruzioni 2
Corso di Informatica Classi di istruzioni 2 Anno Accademico 2010/2011 Francesco Tortorella Strutture di controllo Caratteristica essenziale degli algoritmi è la possibilità di decidere le operazioni da
DettagliVISUAL BASIC FOR APPLICATION
VISUAL BASIC FOR APPLICATION LA PIATTAFORMA DI SVILUPPO GLI ELEMENTI DI VBA Finestra di progetto: mostra l elenco gerarchico dei progetti aperti e di tutti i moduli di codice e finestre di interfaccia
DettagliTERNA SRM- Aste On Line Manuale Fornitore
TERNA SRM- Aste On Line Pagina 1 di 21 Indice dei contenuti INDICE DEI CONTENUTI... 2 INDICE DELLE FIGURE... 3 INDICE DELLE TABELLE... 3 1. INTRODUZIONE... 4 1.1. GENERALITÀ... 4 1.2. SCOPO E CAMPO DI
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
DettagliArchitettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione
Architettura di un calcolatore e linguaggio macchina Primo modulo Tecniche della programmazione CPU Central Processing Unit, processore Unita logica/aritmetica: elaborazione dati Unita di controllo: coordina
DettagliInformatica e calcolatori
Lezione 1 e calcolatori Mauro Piccolo September 14, 2015 1 / 22 Il futuro Trattamento automatico delle Tre principali tematica La codifica delle Gli strumenti di trattamento delle La codifica del trattamento
DettagliProgetto di una Slot Machine da sala scommesse implementata in VHDL e C# Andrea Manganaro Elio Romanelli
Progetto di una Slot Machine da sala scommesse implementata in VHDL e C# Andrea Manganaro Elio Romanelli Regolamentazioni AAMS Descrizione del progetto GAMEGAME RANDOM RANDOM 1-2-31 GAME GAME 2 FINALFINAL
Dettagliconvertitore D/A convertitore A/D
n bit linee digitali N =2 n livelli range o dinamica tensione analogica d'ingresso IN IN convertitore D/A convertitore A/D OUT 1 filo linea analogica la tensione v out è quantizzata OUT n bit o N livelli
DettagliArchitettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)
INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Computer elaboratore di informazione riceve informazione in ingresso (input) elabora questa informazione restituisce informazione ottenuta elaborando
DettagliProgettazione di circuiti digitali e linguaggio VHDL
Progettazione di circuiti digitali e linguaggio VHDL Sergio Ricciarini ~ INFN Firenze Corso di Elettronica Generale I Laurea Specialistica in Scienze Fisiche e Astrofisiche Dip. di Fisica - Università
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
DettagliLE RETI DI COMPUTER. Il modello ISO/OSI Prima parte
LE RETI DI COMPUTER Il modello ISO/OSI Prima parte I MODELLI PER LE RETI All i izio dell era i for ati a, la gestio e delle comunicazioni tra sistemi si era rilevata uno dei problemi più grandi, soprattutto
DettagliSISTEMI. impostazione SISTEMI. progettazione. Saper utilizzare modelli di circuiti combinatori
E1y - Presentazione del gruppo di lezioni E 1/3- Dove siamo? A SISTEMI impostazione componenti analogici C D E componenti digitali F SISTEMI progettazione E1y - Presentazione del gruppo di lezioni E 2/3-
DettagliManuale di Aggiornamento BOLLETTINO. Rel B. DATALOG Soluzioni Integrate a 32 Bit
KING Manuale di Aggiornamento BOLLETTINO Rel. 4.70.2B DATALOG Soluzioni Integrate a 32 Bit - 2 - Manuale di Aggiornamento Sommario 1 PER APPLICARE L AGGIORNAMENTO... 3 2 NOVITA 4.70.2B... 5 2.1 Annullo
DettagliCos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione
DettagliSistemi Web per il turismo - lezione 3 -
Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa
DettagliAGGIORNAMENTO SOFTWARE
AGGIORNAMENTO SOFTWARE Release Note Proger ClipPartsNet WE 4.1.16.16 MAGGIO 2014 Questo documento elenca sinteticamente tutte le implementazioni software rese disponibili a partire dalla release di Proger
DettagliLe aree dell informatica
Fondamenti di Informatica per la Sicurezza a.a. 2006/07 Le aree dell informatica Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università
DettagliUnità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.
Unità Didattica 3 Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa
DettagliCALCOLATORI 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
DettagliProcedura tecnica di accreditamento dei Registrar
Procedura tecnica di accreditamento dei Registrar Linee Guida Versione 2.1 settembre 2015 SOMMARIO 1 Revisioni 1 2 Introduzione 2 3 Durata e tempi del test 2 4 Accounts 2 5 Corretta esecuzione e completamento
DettagliRaccolta degli esercizi svolti in aula
Raccolta degli esercizi svolti in aula ed esercizi proposti Alfredo Paolillo apaolillo@unisa.it Versione del: 18 marzo 2011 1 3 marzo 2010: Struttura Sequence e Sub-VI La struttura Sequence permette di
DettagliLezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari
Lezione 4 L artimetica binaria: I numeri relativi e frazionari Sommario I numeri relativi I numeri frazionari I numeri in virgola fissa I numeri in virgola mobile 1 Cosa sono inumeri relativi? I numeri
DettagliMODULO OFFERTA TECNICA (all. F)
MODULO OFFERTA TECNICA (all. F) G209 - Procedura aperta per la fornitura di libri scientifici e/o didattici, anche su supporti non cartacei, editi da case editrici italiane e straniere e servizi gestionali
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica 1
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e
DettagliPHP Lezione 4. Istruzione condizionale IF. Sintassi IF: if (condizione) { istruzioni; }
Università degli Studi di Milano Dipartimento di Informatica e Comunicazione Corso di Laurea in Scienze e Tecnologie della Comunicazione Musicale Informatica Generale - Prof. Luca A. Ludovico PHP Lezione
DettagliUD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita
UD4 - MATLAB M-file. Efficienza degli algoritmi. Formati d uscita M-files In MatLab è possibile eseguire istruzioni contenute in file esterni; Tali file sono chiamati M-file perché devono avere estensione.m
DettagliIngegneria del Software 9. Macchine a stati. Dipartimento di Informatica Università di Pisa A.A. 2014/15
Ingegneria del Software 9. Macchine a stati Dipartimento di Informatica Università di Pisa A.A. 2014/15 so far Modello del dominio Modello statico: diagrammi delle classi Modello dinamico : diagrammi di
DettagliCapitolo Acquisizione dati con PC
Capitolo 2 Acquisizione dati con PC 2.1 Generalità 2.2 Sistema di acquisizione dati analogici monocanale con PC, per segnali lentamente variabili 2.3 Sistema di acquisizione dati analogici multicanale
DettagliElementi base per la realizzazione dell unità di calcolo
Elementi base per la realizzazione dell unità di calcolo Memoria istruzioni elemento di stato dove le istruzioni vengono memorizzate e recuperate tramite un indirizzo. ind. istruzione Memoria istruzioni
DettagliGestione delle eccezioni in Java
Gestione delle eccezioni in Java Fondamenti di Informatica Ingegneria Gestionale Canale AL 1 Le eccezioni in Java Exception handling: insieme di costrutti e regole sintattiche e semantiche presenti nel
DettagliUso dei metodi di indirizzamento
Testo di rif.to: [Congiu] 4.4.1 (pg. 148 158) 02.e Uso dei metodi di indirizzamento Un esempio: acquisizione dati Esempi d impiegod Confronto tra i metodi Analisi temporale Sistema di acquisizione dati
DettagliProgetto di una Slot Machine da sala scommesse implementata in VHDL e C#.
UNIVERSITA' DEGLI STUDI DI BOLOGNA FACOLTA' DI INGEGNERIA Corso di Laurea Magistrale in Ingegneria Informatica Calcolatori Elettronici M Prof. Giovanni Neri, Prof. Stefano Mattoccia Progetto di Calcolatori
DettagliInformatica Teorica. Macchine a registri
Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire
DettagliMANUALE UTENTE RIO-42
MANUALE UTENTE RIO-42 Dispositivo generico di Telecontrollo con 4 ingressi e 2 uscite. Manuale Utente RIO-42 Rev.0 SOMMARIO PRESENTAZIONE... 3 Caratteristiche generali (TODO)... 3 Caratteristiche tecniche...
DettagliEsame Laboratorio di Sistemi Operativi Cognome Nome Mat.
Esame Laboratorio di Sistemi Operativi 2-01-2008 Il compito è costituito da domande chiuse e domande aperte. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 1 ora. Domande chiuse:
DettagliSTUDIO. Esercizi proposti a lezione cap. 3 rev. dic. 2007 da Ulmann, Widom Introduzione ai database. indirizzo. titolo. nome. recitain. attori.
Basi di dati ad oggetti:un esempio ODL-OQL 1. Caso filmoteca: modello dei dati lunghezza tipo_pellicola via città indirizzo titolo anno FILM attori recitain ATTORE nome posseduto da lunghezza_in_ore (
DettagliFiles in C++ Fondamenti di Informatica. R. Basili. a.a. 2006-2007
Files in C++ Fondamenti di Informatica R. Basili a.a. 2006-2007 Sintesi Motivazioni Definizione di file in C++ Un esempio Uso dei file Esempi Esercizi Motivazioni il programma in esecuzione legge (sequenzialmente)
DettagliCorso di Informatica
CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Immagini in movimento 2 Immagini in movimento Memorizzazione mediante sequenze di fotogrammi.
DettagliEsame di INFORMATICA (*) Operazioni Aritmetiche: Somma. Lezione 3. Operazioni Aritmetiche: Somma. Operazioni Aritmetiche: Somma
Università degli Studi di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA A.A. 2008/09 Lezione 3 Operazioni Aritmetiche: Somma + 1 0 1 0 (*) 1 0 1 0 (*) con riporto di 1 2 Operazioni Aritmetiche:
DettagliTecnologie dei Sistemi di Automazione e Controllo
Tecnologie dei Sistemi di Automazione e Controllo Prof. Gianmaria De Tommasi Lezione 8 I Controllori a Logica Programmabile Corso di Laurea Codice insegnamento Email docente Anno accademico N39 N46 M61
DettagliProgetto B. Utenti. Di conseguenza si potranno avere solo utenti di questi tipi
Progetto B Progettare un applicazione web basata su Servlet e JSP che permetta la collaborazione di diversi utenti nel creare, aggiornare e gestire un archivio di pagine personali degli autori di un giornale.
DettagliA.S. 2015/16 CLASSE 5 AEE MATERIA: T.P.S.E. UNITA DI APPRENDIMENTO 1: AMPLIFICATORI OPERAZIONALI
A.S. 2015/16 CLASSE 5 AEE MATERIA: T.P.S.E. UNITA DI APPRENDIMENTO 1: AMPLIFICATORI OPERAZIONALI Essere capace di progettare le principali configurazioni circuitali con op-amp. Applicare i fondamentali
DettagliCHE COSA FARE IN CASO DI SINISTRO. Lo scopo del presente manuale è quello di orientare l utente ad una corretta istruzione delle denunce di sinistro.
CHE COSA FARE IN CASO DI SINISTRO Lo scopo del presente manuale è quello di orientare l utente ad una corretta istruzione delle denunce di sinistro. 1 INDICE La denuncia di sinistro pag. 3 La gestione
Dettagli