Reti Logiche A. Introduzione al VHDL

Размер: px
Начинать показ со страницы:

Download "Reti Logiche A. Introduzione al VHDL"

Транскрипт

1 Reti Logiche Introduzione al VHDL Gianluca Palermo Politecnico di Milano Dipartimento di Elettronica e Informazione [email protected] 1 Sommario Introduzione Struttura di un modello VHDL: Interfaccia del modello Funzionalità del modello Concetti base del VHDL: Livelli di astrazione Concorrenza Sequenzialità Gerarchia Temporizzazioni Diverse descrizioni VHDL 2

2 Introduzione La tecnologia microelettronica, basata sull utilizzo dei semiconduttori, ha subito un enorme evoluzione negli ultimi decenni. Il continuo incremento del livello di integrazione dei dispositivi microelettronici ha permesso la realizzazione di sistemi di complessità crescente. L elevato livello di integrazione implica: Raggiungimento di prestazioni sempre più spinte Riduzione dei costi umento dell affidabilità La rapida evoluzione tecnologica del mercato microelettronico rende un circuito rapidamente obsoleto Riduzione del time-to-market di un circuito o sistema digitale Riduzione dei tempi di sviluppo. Importanza strategica delle metodologie e dei tool CD (Computer ided Design) per raggiungere gli obiettivi di progetto nel rispetto dei tempi di sviluppo. 3 Obiettivo Creazione di modelli di circuiti e sistemi digitali utilizzando un linguaggio di descrizione dell hardware integrato in un ambiente di progetto ED (Electronic Design utomation) per la sintesi e la simulazione. HDL (Hardware Description Language): VHDL Verilog VHDL VHSIC Hardware Description Language Linguaggio per creare modelli di progetti hardware VHSIC Very High Speed Integrated Circuit mbienti di progetto per creare, compilare, e simulare modelli descritti in VHDL: ModelSim di Mentor Graphics 4

3 VHDL Nato negli anni 80 come progetto del U.S. Department of Defense. Version 7.2: prima versione pubblica del linguaggio disponibile nel IEEE Std : primo standard completo del linguaggio. IEEE Std : versione aggiornata del linguaggio rilasciata nel IEEE Std 1164: definisce un package standard per il tipo di dato MVL9 (Multi Valued Logic, 9 valori). 5 Il processo di modellizzazione in VHDL Lo sviluppo di un modello VHDL a partire dalla specifica concettuale avviene attraverso un processo di raffinamento basato sulla ripetizione delle fasi di compilazione, analisi e simulazione. Compilazione nalisi nalisi Simulazione La specifica concettuale consiste in una descrizione: dell INTERFCCI del modello; della FUNZIONLIT del modello. 6

4 Struttura di un modello VHDL Design Entity Entity Declaration INTERFCCI rchitecture ody FUNZIONLIT 7 Design Entity L unità di base di un modello VHDL consiste nella Design Entity, che può rappresentare un intero sistema, una PC (Printed Circuit oard), un circuito integrato oppure una porta logica elementare. La Entity Declaration definisce l interfaccia del modello. L rchitecture ody definisce la funzionalità del modello. Un modello VHDL può essere creato a diversi livelli di astrazione (behavioral, dataflow, structural) secondo un processo di raffinamento del modello iniziale. ll interno di un modello VHDL, ad una stessa Entity Declaration possono corrispondere diverse rchitecture ody. Ogni diversa architettura rappresenta una diversa realizzazione della stessa funzionalità del modello per mettere in luce un diverso aspetto progettuale cioè fornisce una diversa implementazione di una stessa funzionalità. 8

5 Modello VHDL Supporta descrizione della funzionalità del modello a diversi livelli di astrazione: DESCRIZIONE COMPORTMENTLE o EHVIORL supporta descrizioni algoritmiche; DESCRIZIONE FLUSSO DTI o DTFLOW supporta descrizioni a livello di trasferimento del flusso dati tra registri. DESCRIZIONE STRUTTURLE o STRUCTURL supporta descrizioni di strutture composte dall interconnessione di componenti di livello gerarchico inferiore. DESCRIZIONE MIST 9 Struttura di un modello VHDL Design Entity Entity Declaration rch. rch. 10

6 Specifica concettuale La specifica ad alto livello consiste in generale in una descrizione della funzionalità desiderata. Esempio: Creare una entity che riceve in ingresso due segnali digitali e genera in uscita un singolo segnale. Se entrambi i segnali di ingresso sono bassi, il segnale di uscita deve essere alto. Per ogni altra combinazione degli ingressi, l uscita deve essere bassa. entity C 11 nalisi della specifica entity C Generazione della tabella della verità: Ingressi Uscita C

7 Entity Declaration Definisce una entity e la sua interfaccia con l ambiente esterno, non definisce la funzionalità del modello. Formato: entity ENTITY_NME is [generic (names: type [:= expression])] port (PORT_LIST); --lista dei segnali di interfaccia end ENTITY_NME; Esempio: Simbolo del modello nor_gate e definizione della entity nor_gate. NOR_GTE C entity NOR_GTE is generic (delay : time:= 5ns); port (, : in bit; C : out bit); end NOR_GTE; 13 Istruzione PORT Identifica l insieme dei segnali di interfaccia della entity per comunicare con l ambiente esterno. Formato: port (NME_LIST: mode type; NME_LIST: mode type); Mode identifica la direzione del segnale cioè la direzione del flusso dati attraverso una porta (esempio in, out, inout). Type identifica il tipo del segnale cioè un insieme di valori che il segnale può assumere (esempio 0 e 1) e un insieme di operazioni che possono essere eseguite sul segnale. 14

8 Esempio di Entity Declaration Design Entity Entity Declaration entity NOR_GTE is port (, : in bit; C : out bit); end NOR_GTE; rchitecture ody 15 rchitecture ody Descrive la funzionalità del modello attraverso la definizione delle relazioni funzionali tra gli ingressi e le uscite di un modello. Formato: architecture ODY_NME of ENTITY_NME is -- istruzioni dichiarative -- istruzioni per descrivere la funzionalità del modello end ODY_NME; Esempio: NOR_GTE C architecture DT_FLOW of NOR_GTE is C <= nor ; end DT_FLOW; 16

9 Esempio di rchitecture ody Design Entity Entity Declaration rchitecture ody architecture DT_FLOW of NOR_GTE is C <= nor ; end DT_FLOW; 17 Modello VHDL NOR_GTE Design Entity Entity Declaration entity NOR_GTE is port (, : in bit; C : out bit); end NOR_GTE; rchitecture ody architecture DT_FLOW of NOR_GTE is C <= nor ; end DT_FLOW; 18

10 Creazione del Codice Sorgente Il codice sorgente VHDL può essere posizionato in qualunque directory e scritto usando un qualunque text editor. Il nome del codice sorgente VHDL può essere qualunque (anche se si consiglia di usare il nome stesso della entity) e il suffisso del file deve essere.vhd Esempio del codice nor_gate.vhd entity NOR_GTE is port (, : in bit; C: out bit); end NOR_GTE; architecture DT_FLOW of NOR_GTE is end DT_FLOW; C <= nor ; 19 Metodologia di Simulazione Il codice sorgente VHDL viene compilato, gli eventuali errori sintattici devono essere corretti e il codice deve essere ricompilato. Il codice compilato viene simulato per analizzare la correttezza della funzionalità descritta nel modello VHDL. Devono essere indicati al simulatore i segnali di ingresso, uscita ed eventualmente anche segnali interni le cui forme d onda devono essere tracciate nel Waveform Editor. Deve essere fornita al simulatore la sequenza degli stimoli relativi ai segnali di ingresso. nalisi delle forme d onda di uscita per verificare se rispecchiano il comportamento desiderato del circuito. C Esempio di simulazione per NOR_GTE

11 Concetti base del VHDL Supporta la descrizione della funzionalità del modello a diversi livelli di astrazione. Concorrenza: le strutture hardware sono intrinsecamente concorrenti e composte dall interconnessione di componenti elementari (le cui attività avvengono in parallelo). Il concetto di concorrenza supportato sia dai modelli strutturali sia dal concetto di processi multipli concorrenti tra loro. Supporta istruzioni sequenziali all interno di un processo. Gerarchia: data la complessità progettuale occorre organizzare il progetto su diversi livelli gerarchici, che possono essere descritti a diversi livelli di astrazione. Temporizzazioni: necessità di modellizzare l andamento temporale dei segnali attraverso la descrizione di forme d onda. 21 Livelli di astrazione di un modello VHDL Supporta la descrizione della funzionalità del modello a diversi livelli di astrazione: DESCRIZIONE COMPORTMENTLE (EHVIORL); DESCRIZIONE FLUSSO DTI (DTFLOW); DESCRIZIONE STRUTTURLE (STRUCTURL); DESCRIZIONE MIST. 22

12 Concorrenza Le strutture hardware sono intrinsecamente concorrenti e composte dall interconnessione di componenti elementari. Le attività sono svolte in parallelo dai diversi componenti. Una descrizione strutturale descrive l interconnessione tra componenti elementari. Z C D 23 Gerarchia Data la complessità progettuale occorre organizzare il progetto su diversi livelli gerarchici. Una descrizione di tipo strutturale descrive l interconnessione di componenti di livello gerarchico inferiore. I singoli componenti di livello gerarchico inferiore possono essere descritti a diversi livelli di astrazione. a half adder a sum temp sum b b cout half adder a sum sum cin b cout temp carry 2 full adder temp carry 1 or2 b a z cout 24

13 Dichiarazioni di costanti e segnali Una costante è un nome assegnato ad un valore fisso: costant name: type := expression; costant name: array_type(index_costraint) := expression; I segnali connettono le varie entity e comunicano i cambiamenti di valore tra i processi. signal name: type := expression; signal name: array_type(index_costraint) := expression; Esempi: costant vdd: Real:= 4.5; costant FIVE_to: std_logic_vector (0 to 3) := 0101 ; costant FIVE_downto: std_logic_vector (3 downto 0):= 1010 ; signal count: integer range 1 to 10; signal parity_bit: bit; signal system_bus: bit_vector (15 downto 0); 25 VHDL Strutturale Il VHDL strutturale è simile ai linguaggi presenti in altri strumenti CD per la descrizione dell elenco delle connessioni Per potere ottenere una descrizione VHDL di tipo strutturale è necessaria la dichiarazione dei componenti prima del loro uso Component component_name port( names : direction type ); end component; Esempio: nd a tre ingressi entity and3 is port (a3,b3,c3: in bit; o3: out bit); and3 end and3; architecture struct of and3 is and2 a3 and2 component and2 port(a2,b2: in bit; b3 o2: out bit); end component; c3 end struct; d3 26

14 VHDL strutturale -2 Una volta dichiarati i componenti vanno ora instanziati e connessi: label : component_name port map ( [named positional] ); Esempio: nd a tre ingressi entity and3 is port (a3,b3,c3: in bit; o3: out bit); end and3; architecture struct of and3 is component and2 port(a2,b2: in bit; o2: out bit); end component; signal int_sig: bit; u1: and2 port map ( a3, b3, int_sig); Positional u2: and2 port map ( a2=>int_sig, o2=>o3, b2=>c3); end struct; Named 27 Esempio: Modello di MUX2 Esempio: Scrivere il modello VHDL strutturale del componente MUX2 descritto dalla seguente specifica: MUX2 Z SEL SEL Z SEL NOT_SEL INV ND2 Z ND2 Z Z1 Z2 OR2 Z 28

15 Esempio: Modello di MUX4 Esempio: Scrivere il modello VHDL strutturale del componente MUX4 utilizzando come componenti i MUX2 precedentemente realizzati: MUX4 C Z D SEL1 SEL0 Ingressi Uscita SEL0 SEL1 C D Z Esempio: Modello di DMux Esempio: Scrivere il modello VHDL strutturale del componente DMUX4 utilizzando solo porte logiche: Z C D SEL0 SEL1 30

16 VHDL dataflow La descrizione Dataflow di un modello VHDL si basa sulla trasformazione dei segnali all interno della Entity. ssegnamento dei segnali signal_name <= value; Esempio Halfdder: architecture d_flow of Halfdder is sum <= a xor b; carry <= a and b; end d_flow; ssegnamento per i vettori: bus_out(4) <= data(2); rotate_sig(7 downto 0) <= sig(0 to 7); 31 Istruzioni Concorrenti Eseguite in parallelo nello stesso istante di tempo. Il loro comportamento è indipendente dall ordine con il quale sono scritte nel codice VHDL. Esempio: ISTRUZIONI DI SSEGNMENTO DEI SEGNLI: X <= and ; Z <= C and X; oppure Z <= C and X; X <= and ; C X Z La struttura hardware corrispondente è intrinsecamente concorrente e composta dall interconnessione di componenti elementari. Le attività sono svolte in parallelo dai diversi componenti. 32

17 ssegnamento dei segnali ssegnamenti posizionali SIGNL z_bus : bit_vector (3 downto 0); SIGNL a, b, c, d: bit; z_bus <= (a,b,c,d); ssegnamenti nominali z_bus <= (1=>b,0=>a,3=>d,2=>c); z_bus <= (3 downto 2 => 1, OTHERS => 0 ); ssegnamenti condizionali signal_name <= espression_1 when condition_1 else espression_2 when condition_2 else espression_n; with expression select signal_name <= espression_1 when choice_1, espression_1 when choice_n; 33 ssegnamento dei segnali -2 Esempio di buffer tri_state_8: entity tri_state_8 is port(bus_in: in std_logic_vector(0 to 7); en: in std_logic; tri_bus: out std_logic_vector(0 to 7)); end tri_state_8; --prima implementazione architecture d_flow_1 of tri_state_8 is tri_bus <= bus_in WHEN en = 1 ELSE (OTHERS => Z ); end d_flow_1; --seconda implementazione architecture d_flow_2 of tri_state_8 is with en select tri_bus <= bus_in WHEN 1, Z when others; end d_flow_2; 34

18 Esempi VHDL dataflow Esempio_1: Scrivere il modello VHDL dataflow del componente MUX2 precedentemente descritto. Esempio_2: Scrivere il modello VHDL dataflow del componente MUX4 precedentemente descritto. Esempio_3: Scrivere il modello VHDL dataflow del componente DMUX4 precedentemente descritto. 35 VHDL Comportamentale Descrive un architettura con uno stile simile a quello dei comuni linguaggi di programmazione Le istruzioni VHDL poste all interno di un processo sono eseguite sequenzialmente Processo Un processo è considerato una unica operazione concorrente. Il concetto di concorrenza si basa su processi multipli interagenti tra loro I segnali presenti in un processo sono tutti aggiornati alla fine dell esecuzione del processo 36

19 Process [label:] process [(sensitivity_list_of_inputs)] [declaration] sequenial_statements end process [label]; La sensitivity list è la lista dei segnali il cui cambiamento causa l attivazione del processo Le variabilio possono essere dichiarate solo tra l istruzione PROCESS ed il suo EGIN (parte dichiarativa del processo) WIT: wait for time; - viene sospesa l esecuzione del processo per un determinato tempo (usato nei test bench) wait on signal_list; - viene sospesa l esecuzione del processo fino al cambiamento di uno dei segnali presenti nella signal_list wait until condition; - viene sospesa l esecuzione del processo fino al verificarsi della condizione 37 Process -2 Esempio: --process con sensitivity list ff_d: process (clk) if clk= 1 then d <= q; end if; end process ff_d; --process con wait ff_d: process wait until clk event and clk= 1 ; d <= q; end process ff_d; Un processo basato sulla sensitivity list si arresta solo dopo aver eseguito la sua ultima istruzione Un processo con wait si arresta al raggiungimento del successivo wait. La sensitivity list del process ed il wait non possono essere presenti entrambi. 38

20 Dichiarazioni di variabili variable names: type [:= expression]; variable names: array_type(index_constraint)[:= expression] Esempi: variable cont: integer := 8; varaible data: std_ulogic; variable bus_in: bit_vector (0 to 7) := ; varaible data_in: std_ulogic_vector (15 downto 0); Gli assegnamenti a variabili sono istruzioni sequenziali e possono esistere solo all interno di descrizioni VHDL sequenziali (process). Un assegnamento a variabile ha effetto immediato a differenza di quello a segnale che può dipendere da un delay. ex_1: process (clk) variable a,b: integer:=0; a := a+1; b := a+b; end process ex_1; signal a,b: integer:=0; ex_2: process (clk) a <= a+1; b <= a+b; end process ex_2; I due processi sono apparentemente uguali ma non producono lo stesso risultato. 39 Processi Multipli Concorrenti e Istruzioni Concorrenti ll interno di un architettura possono essere presenti processi multipli concorrenti e istruzioni concorrenti: ad esempio architecture EX_conc of ENTITY is -- concurrent statements P1: process (sensitivity list of signals) -- sequential statements; end process P1; -- concurrent statements P2: process (sensitivity list of signals) -- sequential statements end process P2; -- concurrent statements end EX_conc; P1 signals P2 signals signals 40

21 Costrutti di Controllo del Codice Sequenziale Controllo Condizionato: Istruzioni IF Istruzione CSE Controllo Iterativo: Istruzione LOOP - FOR - WHILE 41 Istruzione IF Consente il controllo condizionato di gruppi di istruzioni sequenziali basato sulla valutazione di valori booleani. L istruzione IF verifica una condizione ed esegue diverse istruzioni in base al risultato. In presenza di IF annidati viene eseguita la serie di istruzioni sequenziali corrispondenti alla prima condizione che risulti vera Importante l ordine di scrittura delle condizioni PRIORITÀ Più di una condizione può risultare vera viene eseguita la prima condizione che risulta vera. Formato: if condition then sequential statements; [elsif condition2 then sequential_statements;] [else sequential statements;] end if; 42

22 Esempio IF Esempio: counter: process (clk, reset) if reset= 1 then count<=0; elseif (clk event and clk= 1 ) then if count=9 then count<=0; else count<=count+1; end if; end if; end process counter; 43 Istruzione CSE Consente il controllo dell esecuzione di istruzioni sequenziali basato sulla valutazione del valore assunto da un oggetto. Formato: case expression is when choice_1 => seq_statements; when choice_n => seq_statements; end case; Non devono esistere sovrapposizioni tra i vari casi e tutti i possibili casi devono essere inclusi o esplicitamente oppure attraverso la clausola when others Esempio: case intval is when 0 => z <= a; when 1 to 3 => z <= b; when => z <= c; when others => z <= X ; end case; Errore! 44

23 Istruzione FOR\WHILE LOOP Consente l esecuzione ripetuta di una sequenza di istruzioni. Formato: [Label:] for index in range loop sequential statements end loop [Label]; [Label:] while [condition] loop sequential statements end loop [Label]; Esempi: for I in 1 to 10 loop ISQURED(I) := I * I; end loop;! Index è automaticamente dichiarato come un integer e non può essere modificato nel loop while (DY = WEEKDY) loop DY := GETNEXTDY(DY); end loop; 45 Esempi di Istruzione FOR-LOOP Esempio: entity EX is port ( : in std_ulogic_vector (0 to 15); SEL : in integer range 0 to 15; Z : out std_ulogic); end EX; architecture FOR_EX of EX is WHT: process (, SEL) for I in 0 to 15 loop if SEL = I then Z <= (I); end if; end loop; end process WHT; end FOR_EX; 46

24 Esempio di Istruzione FOR-LOOP Esempio: entity PR_GEN is port ( : in std_ulogic_vector (3 downto 0); PR: out std_ulogic); end PR_GEN; architecture RC of PR_GEN is P1: process () variable TMP: std_ulogic; TMP := 0 ; for I in low to high loop TMP := TMP xor (I); end loop; PR <= TMP; end process P1; end RC; 47 Esempi VHDL comportamentale Esempio_1: Scrivere il modello VHDL comportamentale del componente MUX2 precedentemente descritto. Esempio_2: Scrivere il modello VHDL comportamentale del componente MUX4 precedentemente descritto. Esempio_3: Scrivere il modello VHDL comportamentale del componente DMUX4 precedentemente descritto. 48

25 Processo Combinatorio process (sensitivity_list_of_inputs) -- default assignments; -- combinatorial logic assignments; end process; INPUTS OUTPUTS Esempio MUX: process (,, SEL) if (SEL = '1 ) then Z <= ; else Z <= ; end if; end process MUX; SEL Z 49 Codice Sorgente di un Registro con Reset sincrono entity FLOP is port (D, CLK, RST : in std_ulogic; Q : out std_ulogic); end FLOP; architecture of FLOP is process (CLK, RST) if (RST = '1 ) then Q <= 0; elsif (CLK'event and CLK='1') then Q <= D; end if; end process; end ; D RST CLK Q 50

26 Latch Trasparente (Level Sensitive) entity LTCH is Port ( EN, D : in std_ulogic; Q: out std_ulogic); end LTCH; architecture of LTCH is process (EN, D) if (EN = 1 ) then Q <= D; end if; end process; end ; D EN Q 51 Descrizione RTL: Processo con Clock (2) process -- clocked process with no reset wait until (CLK event and CLK = 1 ); Q <= and ; -- all combinatorial logic assignments here; end process; process (CLK) --clocked process with no reset if (CLK event and CLK = 1 ) then Q <= and ; -- all combinatorial logic assignments here; end if; end process; D Q CLK 52

27 Descrizione RTL: Processo con Clock e Reset sincrono process (CLK, RST) clocked process with asynch. reset if (RST = 1 ) then Q <= 0; elsif (CLK event and CLK = 1 ) then Q <= and ; -- all combinatorial logic assignments here; end if; -- no else clause end process; RST D Q CLK 53 Descrizione RTL: Esempio di Processo con Clock (1) process wait until (CLK event and CLK = 1 ); X <= + ; Y <= C + D; Z <= X + Y; end process; C D CLK X Y CLK Z 54

Introduzione al VHDL Lezione 1

Introduzione 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: [email protected]

Подробнее

Introduzione al VHDL. Alcuni concetti introduttivi

Introduzione 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

Подробнее

Descrizione VHDL di componenti combinatori

Descrizione 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

Подробнее

Descrizioni VHDL Behavioral

Descrizioni 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,

Подробнее

library 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.

library 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

Подробнее

FONDAMENTI di INFORMATICA L. Mezzalira

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

Подробнее

Lezione 8. La macchina universale

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

Подробнее

Reti Logiche A Appello del 24 febbraio 2010

Reti 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

Подробнее

Christian Pilato

Christian Pilato Politecnico di Milano Introduzione al VHDL Christian Pilato [email protected] Sommario Introduzione Struttura di un modello Interfaccia Funzionalità Concetti base Livelli di astrazione Concorrenza

Подробнее

Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati

Un 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

Подробнее

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Concetti importanti da (ri)vedere Programmazione imperativa Strutture di

Подробнее

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

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

Подробнее

Reti sequenziali sincrone

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

Подробнее

Il calcolatore oggi : UN SISTEMA DI ELABORAZIONE

Il calcolatore oggi : UN SISTEMA DI ELABORAZIONE Il calcolatore oggi : UN SISTEMA DI ELABORAZIONE hardware Firmware, software memorizzato su chip di silicio Sistema Operativo venduto con l, comprende vari programmi di gestione del sistema Applicativo,

Подробнее

INFORMATICA 1 L. Mezzalira

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

Подробнее

Un linguaggio per la descrizione dello hardware: il VHDL

Un 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à

Подробнее

Descrizione di un algoritmo

Descrizione di un algoritmo Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica

Подробнее

interfacciamento statico e dinamico analisi di interconnessioni, driver e receiver

interfacciamento 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

Подробнее

Esercizi VHDL nelle prove d esame di Architettura degli elaboratori (a.a. 2002/03)

Esercizi VHDL nelle prove d esame di Architettura degli elaboratori (a.a. 2002/03) Esercizi VHDL nelle prove d esame di Architettura degli elaboratori (a.a. 2002/03) 18 settembre 2003 Prova del 9 giugno 2003 Descrizione VHDL (a scelta, dataflow o comportamentale) di un decoder per il

Подробнее

VHDL come strumento di progetto di circuiti digitali

VHDL come strumento di progetto di circuiti digitali VHDL come strumento di progetto di circuiti digitali Antonio Deledda Corso di Progetto di sistemi elettronici L-A AA 2005-2006 1 [email protected] Tel. Interno 0512093829 Centro ARCES, Viale Pepoli

Подробнее

Dispensa di Informatica I.1

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

Подробнее

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione

Подробнее

La Macchina Virtuale

La Macchina Virtuale Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Elaborazione di Immagini e Suoni / Riconoscimento e Visioni Artificiali 12 c.f.u. Anno Accademico 2008/2009 Docente: ing. Salvatore

Подробнее

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

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

Подробнее

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base: LA STRUTTURA DI RIPETIZIONE La ripetizione POST-condizionale La ripetizione PRE-condizionale INTRODUZIONE (1/3) Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto

Подробнее

Xilinx ISE Tutorial File -> New Project...

Xilinx ISE Tutorial File -> New Project... Xilinx ISE Tutorial L obiettivo di questo tutorial è il mappaggio di una semplice porta logica AND su una particolare FPGA, la Xilinx Spartan 3E, integrata nella board Digilent Nexys 2 500K, che utilizzeremo

Подробнее

Macchine combinatorie

Macchine combinatorie Corso di Calcolatori Elettronici I A.A. 2010-2011 Macchine combinatorie Lezione 10 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Analisi e Sintesi di un sistema 1/2 Per analisi di

Подробнее

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Подробнее

Tecniche di Simulazione: Introduzione. N. Del Buono:

Tecniche di Simulazione: Introduzione. N. Del Buono: Tecniche di Simulazione: Introduzione N. Del Buono: 2 Che cosa è la simulazione La SIMULAZIONE dovrebbe essere considerata una forma di COGNIZIONE (COGNIZIONE qualunque azione o processo per acquisire

Подробнее

Reti sequenziali. Esempio di rete sequenziale: distributore automatico.

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

Подробнее

Calcolatori Elettronici M Modulo 2. 02 - Linguaggio VHDL Parte 1/2

Calcolatori 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

Подробнее

Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica. Metodologie e strumenti per il reengineering del workflow management

Facoltà 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

Подробнее

ISTITUTO ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA ANNO SCOLASTICO 2015/2016

ISTITUTO ISTRUZIONE SUPERIORE L. EINAUDI ALBA ANNO SCOLASTICO 2015/2016 ISTITUTO ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA ANNO SCOLASTICO 2015/2016 CLASSE 3 I Discip lina: Elettrotecnica ed Elettronica PROGETTAZIONE DIDATTICA ANNUALE Elaborata e sottoscritta dai docenti: cognome

Подробнее

Introduzione al VHDL VHDL. La storia. Corso introduttivo al VHDL. l acronimo di VHSIC Hardware Description Language

Introduzione al VHDL VHDL. La storia. Corso introduttivo al VHDL. l acronimo di VHSIC Hardware Description Language Introduzione al VHDL Corso introduttivo al VHDL Giovanni De Luca VHDL VHDL è l acronimo di VHSIC Hardware Description Language VHSIC è l acronimo di Very High Speed Integrated Circuit La storia Il VHDL

Подробнее

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE

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

Подробнее

Fasi di creazione di un programma

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

Подробнее

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

Подробнее

UNIVERSITA 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 ! #$ & + 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...

Подробнее

Introduzione ai Metodi Formali

Introduzione ai Metodi Formali Intruzione ai Meti Formali Sistemi software anche molto complessi regolano la vita quotidiana, anche in situazioni life-critical (e.g. avionica) e business-critical (e.g. operazioni bancarie). Esempi di

Подробнее

Corso di Amministrazione di Reti A.A. 2002/2003

Corso di Amministrazione di Reti A.A. 2002/2003 Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm

Подробнее

Calcolatori: Algebra Booleana e Reti Logiche

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

Подробнее

Laurea Specialistica in Informatica

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

Подробнее

Hazard sul controllo. Sommario

Hazard sul controllo. Sommario Hazard sul controllo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione [email protected] Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/28 Sommario Riorganizzazione

Подробнее

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

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

Подробнее

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6 Ciclo di Istruzione Può essere suddiviso in 4 tipi di sequenze di microoperazioni (cioè attività di calcolo aritmetico/logico, trasferimento e memorizzazione dei dati), non tutte necessariamente da realizzare

Подробнее

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

Подробнее

Gestione del workflow

Gestione del workflow Gestione del workflow Stefania Marrara Corso di Tecnologie dei Sistemi Informativi 2004/2005 Progettazione di un Sistema Informativo Analisi dei processi Per progettare un sistema informativo è necessario

Подробнее

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

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

Подробнее

Macchine combinatorie: encoder/decoder e multiplexer/demultiplexer

Macchine combinatorie: encoder/decoder e multiplexer/demultiplexer Corso di Calcolatori Elettronici I A.A. 20-202 Macchine combinatorie: encoder/decoder e multiplexer/demultiplexer Lezione 5 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di

Подробнее

Aritmetica dei Calcolatori 2

Aritmetica dei Calcolatori 2 Laboratorio di Architettura 13 aprile 2012 1 Operazioni bit a bit 2 Rappresentazione binaria con segno 3 Esercitazione Operazioni logiche bit a bit AND OR XOR NOT IN OUT A B A AND B 0 0 0 0 1 0 1 0 0 1

Подробнее

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web

Подробнее

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Подробнее

CPU. Maurizio Palesi

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

Подробнее

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Il Software e Il Sistema Operativo Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Cosa Impareremo Programmi e Processi Struttura del Sistema Operativo Sviluppo di Programmi I files e la loro

Подробнее

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Подробнее

Testi di Esercizi e Quesiti 1

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

Подробнее

ISTITUTO TECNICO ECONOMICO MOSSOTTI

ISTITUTO TECNICO ECONOMICO MOSSOTTI CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche

Подробнее

Corso di Linguaggi di Programmazione

Corso di Linguaggi di Programmazione Corso di Linguaggi di Programmazione Lezione 19 Alberto Ceselli [email protected] Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 18 Maggio 2010 idea: sfruttare i

Подробнее

DAL DIAGRAMMA AL CODICE

DAL DIAGRAMMA AL CODICE DAL DIAGRAMMA AL CODICE Un diagramma di flusso Appare, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza

Подробнее

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Подробнее

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2.

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Dichiarazione di dati: le direttive DS e DC...3 2.1 Direttiva DS...3 2.2

Подробнее

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

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

Подробнее

FSM: Macchine a Stati Finiti

FSM: Macchine a Stati Finiti FSM: Macchine a Stati Finiti Sommario Introduzione Automi di Mealy Automi di Moore Esempi Introduzione Metodo per descrivere macchine di tipo sequenziale Molto utile per la descrizione di Unità di controllo

Подробнее

Appunti di Sistemi Elettronici

Appunti di Sistemi Elettronici Prof.ssa Maria Rosa Malizia 1 LA PROGRAMMAZIONE La programmazione costituisce una parte fondamentale dell informatica. Infatti solo attraverso di essa si apprende la logica che ci permette di comunicare

Подробнее