Linguaggi di Descrizione del Hardware: VERILOG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Linguaggi di Descrizione del Hardware: VERILOG"

Transcript

1 Linguaggi di Descrizione del Hardware: VERILOG Lucidi del Corso di Elettronica Digitale Modulo 6 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB)

2 Livelli di astrazione Introduzione Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB)

3 Livelli di astrazione Abbiamo visto che esistono molte diverse implementazioni di una stessa funzione logica (che può essere descritta in termini di porte logiche, di tabelle di verità, di espressioni algebriche) Ad ogni funzione logica che si voglia implementare corrisponderà poi un circuito elettronico composto di transistor Ad ogni circuito corrispondono un insieme di maschere (layout) che descrivono i passi di processo (maschera di gate, di diffusione, i di metallizzazione, etc.) 17 Novembre 2009 ED - Verilog Massimo Barbaro 3

4 Livelli di astrazione Qualsiasi sistema digitale può dunque essere descritto a diversi differenti livelli di dettaglio + SISTEMA/SPECIFICHE MODULO/RTL PORTE LOGICHE/ALGEBRICO CIRCUITO LAYOUT 17 Novembre 2009 ED - Verilog Massimo Barbaro 4

5 Esempio: sommatore Proviamo a seguire tutto il processo di progettazione in un caso molto semplice, dalla concezione al layout Esempio: un sommatore di due numeri a 4 bit espressi in complemento a 2 17 Novembre 2009 ED - Verilog Massimo Barbaro 5

6 Sommatore: Specifiche Quale è la prima descrizione del sistema? Un sommatore di numeri a 4 bit in complemento a 2 (Una descrizione informale del sistema che si vuole realizzare) 17 Novembre 2009 ED - Verilog Massimo Barbaro 6

7 Sommatore: Modulo/RTL Una descrizione più dettagliata darà una rappresentazione in termini di moduli funzionali. Nel caso del sommatore possiamo usare un simbolo che ne rappresenti gli ingressi, le uscite e la funzionalità (il modulo funzionale è uno solo) A[3:0] L uscita è a 5 bit, perché c è + S[4:0] il riporto B[3:0] (carry) 17 Novembre 2009 ED - Verilog Massimo Barbaro 7

8 Sommatore: Modulo/RTL Ancora al livello di descrizione in termini di A 0 S 0 moduli funzionali, B HA 0 l addizionatore di numeri a C 0 4 bit è composto da 4 addizionatori di numeri a A S 1 1 FA singolo bit. B 1 C 1 Il modulo HA (Half Adder) ) somma due bit ed ha in A S uscita la somma ed il 2 2 FA riporto (carry). Il modulo B 2 C 2 FA (Full Adder) somma 3 bit (la coppia i-esima più il A S 3 riporto dalla (i-1)-esima) 3 FA B 3 C 3 =S 4 17 Novembre 2009 ED - Verilog Massimo Barbaro 8

9 Half Adder: Porte Logiche/Algebrico Ogni singolo modulo funzionale deve poi essere implementato in termini di porte logiche. Per prima cosa si individuano le funzioni logiche che legano ingressi ad uscite (tramite tabelle di verità) e poi si implementano queste funzioni con porte logiche. A B S A B C S=A B+AB C=AB 17 Novembre 2009 ED - Verilog Massimo Barbaro 9

10 Half Adder: Porte Logiche/Algebrico Ottenuta l espressione algebrica è possibile disegnare lo schematico con porte logiche. Esistono molte soluzioni a seconda delle porte che è possibile implementare A A B S B AB C 17 Novembre 2009 ED - Verilog Massimo Barbaro 10

11 Half Adder: Circuito Per implementare in logica CMOS in modo compatto si può manipolare S: C=AB NAND seguita da un inverter S =(A B+AB ) =(A B) (AB AB) (AB) (AB ) = DeMorgan =(A+B )(A +B)= =AA +AB+A B +BB = =AB+A B = =C+A B =(C ) +A B DeMorgan Distributiva AA =BB =0 Si può implementare con un pull-upp 17 Novembre 2009 ED - Verilog Massimo Barbaro 11

12 Half Adder: Circuito A B C A B S B C C S A A B C C 17 Novembre 2009 ED - Verilog Massimo Barbaro 12

13 Half Adder: Layout Il layout del circuito del Half-Adder è complesso e di difficile comprensione nonostante contenga solo un numero limitato delle porte totali del sommatore 17 Novembre 2009 ED - Verilog Massimo Barbaro 13

14 Sommatore 4 bit Abbiamo condotto la progettazione del half- adder contenuto nel sommatore fino al livello di layout. Adesso bisognerebbe fare altrettanto per il fulladder e poi mettere insieme i 4 sottomoduli (1 HA e 3 FA) con le opportune connessioni E evidente che ciascuna delle descrizioni possibili (modulare, porte logiche, circuitale, it layout) aggiunge informazioni ma contemporaneamente t rende rapidamente ingestibile il problema nella sua interezza 17 Novembre 2009 ED - Verilog Massimo Barbaro 14

15 Livelli di astrazione Si rende necessario uno strumento alternativo per la gestione del progetto al livello di sistema/specifiche o modulo/rtl Ci serve uno strumento t che sia contemporaneamente semplice da usare ed abbastanza sofisticato t da rendere la complessità del sistema Lo strumento sono gli Hardware Description Languages (HDL) o Linguaggi di Descrizione del Hardware 17 Novembre 2009 ED - Verilog Massimo Barbaro 15

16 Hardware Description Language Un linguaggio di descrizione del hardware è un linguaggio usato per descrivere sistemi digitali Sebbene possa a prima vista essere confuso con un linguaggio gg di programmazione le differenze sono enormi: un HDL descrive comunque un sistema fisico e non un algoritmo Esistono due principali HDL (Verilog e VHDL) che hanno caratteristiche simili ma non identiche. Noi useremo il Verilog (per la sua semplicità d uso e la sua rapida curva di apprendimento), ma non è complicato partire dalla conoscenza del Verilog per imparare anche il VHDL 17 Novembre 2009 ED - Verilog Massimo Barbaro 16

17 VERILOG Fondamenti Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB)

18 VERILOG: Concetto di modulo L elemento base per la descrizione di un blocco logico in verilog è il modulo. Il modulo rappresenta un blocco logico preso in uno dei suoi possibili livelli di astrazione. Le informazioni base contenute nel modulo sono INTERFACCIA (interface): segnali di ingresso e uscita CORPO (body): la concreta descrizione funzionale del modulo stesso Ogni modulo può contenere al suo interno l istanziazione di altri moduli ad un livello più basso di gerarchia 17 Novembre 2009 ED - Verilog Massimo Barbaro 18

19 Modulo In linguaggio verilog un modulo inizia con la parola- chiave module e termina con endmodule module nomemodulo( lista_io ); INTERFACE BODY endmodule 17 Novembre 2009 ED - Verilog Massimo Barbaro 19

20 Interfaccia Esempio della definizione di interfaccia per il sommatore: Inizio modulo Corpo modulo Fine modulo Nome del modulo module sommatore(a,b,s); input [3:0] A,B; output [4:0] S; endmodule Elenco terminali IO Definizione direzione terminali Dimensione so e segnali IO 17 Novembre 2009 ED - Verilog Massimo Barbaro 20

21 Interfaccia La dichiarazione dell interfaccia di un modulo è divisa in 2 parti: Lista delle porte: le porte sono i terminali di ingresso e uscita del modulo, l elenco delle porte compare fra parentesi subito dopo il nome del modulo. Dopo la parentesi, come dopo ogni riga di un file verilog, c è cè un punto e virgola. Nella lista le porte di I/O (input/output) possono comparire in qualsiasi ordine Dichiarazione delle porte: subito dopo la prima riga devono essere definite tutte le porte che compaiono nella lista. Per ogni porta si definisce la direzione (input, output, inout) e la dimensione (numero di bit associati a quella porta) 17 Novembre 2009 ED - Verilog Massimo Barbaro 21

22 Alcuni elementi di sintassi Ogni riga (tranne quella contenente endmodule) deve essere terminata da un punto e virgola (come in C) I commenti si scrivono come in C: Commenti su singola riga sono preceduti da // Commenti su più righe sono contenuti fra il simbolo /* ed il simbolo */ Gli identificatori (nomi di moduli, nomi di porte, nomi di istanze o variabili) devono contenere solo lettere, numeri, segni $ e underscore _ e devono iniziare per lettera o underscore Il verilog è case-sensitive sensitive quindi lettere minuscole e maiuscole vengono considerate diverse (SIG_A$ e sig_a$ sono due identificatori differenti validi) 17 Novembre 2009 ED - Verilog Massimo Barbaro 22

23 Segnali in Verilog Qualsiasi segnale in verilog può assumere uno fra i 4 possibili simboli: 0: 0 logico 1: 1 logico X o x: indeterminato Z o z: alta impedenza Un segnale può essere indeterminato per vari motivi. Ad esempio: Non è stato mai inizializzato E in conflitto con un altro segnale 17 Novembre 2009 ED - Verilog Massimo Barbaro 23

24 Alta impedenza Il segnale in alta impedenza (Z) è utilizzato per gestire bus bidirezionali: Unità 1 Unità 2 BUS Se l Unità 1 (ad esempio il processore) deve potere inviare/ricevere dati a/da l Unità lunità 2 (ad esempio la memoria) è necessario che entrambe siano in grado di pilotare lo stesso bus. 17 Novembre 2009 ED - Verilog Massimo Barbaro 24

25 Logica a 4 valori: tabelle di verità Visto che ogni segnale può valere anche x o z bisogna ridefinire le tabelle di verità delle primitive tenendo conto di questi valori AND 0 1 X Z OR 0 1 X Z X X X 0 X X X Z 0 X X X X X X X 1 X X Z X 1 X X NAND 0 1 X Z NOR 0 1 X Z X X X X X 1 X X X X X 0 X X Z 1 X X X Z X 0 X X 17 Novembre 2009 ED - Verilog Massimo Barbaro 25

26 NET e VARIABLE I segnali di un sistema descritto in verilog possono essere di due tipi: NET e VARIABLE. NET: corrisponde ad una qualsiasi connessione elettrica (filo). Deve quindi essere pilotato da qualcosa (una primitiva logica, un modulo, una espressione algebrica) o va in alta impedenza VARIABLE: è simile ad una variabile di un linguaggio di programmazione. Gli si assegna un valore esplicitamente e tale valore è mantenuto fino a che non si ha un altra assegnazione esplicita 17 Novembre 2009 ED - Verilog Massimo Barbaro 26

27 Definizione di un NET Per definire un segnale di tipo NET si usano le seguenti parole-chiave: wire: indica un semplice filo di interconnessione (è quella che utilizzeremo quasi sempre noi) tri: indica un filo di interconnessione pilotato da dispositivi tristate (la useremo di rado, ma è utile in corsi avanzati) supply0: indica un filo connesso direttamente a massa (quindi valore logico sempre 0) supply1: indica un filo connesso sempre a VDD (quindi valore logico sempre 1) wand, wor, tri0, tri1, etc.: fili di interconnessione con caratteristiche particolari che NON utilizzeremo in questo corso 17 Novembre 2009 ED - Verilog Massimo Barbaro 27

28 Definizione di un NET: esempio Per definire lo half-adder: module ha(a,b,s,c); input AB; A,B; output S,C; wire A,B,S,C,nA,nB; wire nab, AnB; endmodule A B na nab S AnB nb C Tutti i segnali sono fili di interconnessione quindi sono NET, utilizziamo per definirli la parola chiave wire 17 Novembre 2009 ED - Verilog Massimo Barbaro 28

29 NET: assegnamento Ci sono due opzioni per assegnare un valore ad un net: Strutturale: il valore al net è imposto dal fatto che il net stesso è l uscita di una porta logica Algebrico: al net viene assegnato il risultato di una espressione algebrica (booleana) le cui variabili sono segnali di ingresso o altri segnali interni del modulo. Tale assegnamento avviene per mezzo della parola chiave assign (l assegnamento è detto continuous assignment perché il net avrà sempre il risultato di quell espressione espressione algebrica, ed al variare degli ingressi varia anche il valore del net) 17 Novembre 2009 ED - Verilog Massimo Barbaro 29

30 Esempio: half-adder module ha(a,b,c,s); input A,B; output C,S; wire A,B,C,S; assign S=A^B; and a1(c,a,b); endmodule Assegnamento del valore di C in modo strutturale (è l uscita di una primitiva logica, vedi modulo 7) Nel caso del half-adder si può utilizzare una decrizione mista strutturale/dataflow Continuous assignment: S è il risultato di un espressione algebrica degli ingressi In entrambi i casi ogni volta che cambiano gli ingressii cambiano le uscite senza dover rifare l assegnamento 17 Novembre 2009 ED - Verilog Massimo Barbaro 30

31 Definizione di un VARIABLE Per definire un segnale di tipo VARIABLE si usano le seguenti parole-chiave: reg: indica un semplice variabile logica espressa su un numero di bit a piacimento. Contiene un valore logico non necessariamente associato ad un numero. Useremo quasi sempre questo tipo. integer: una variabile che rappresenta un numero intero espresso tipicamente su 32 bit. Lo utilizzeremo raramente. real, time, realtime: variabili con caratteristiche particolari che NON utilizzeremo in questo corso 17 Novembre 2009 ED - Verilog Massimo Barbaro 31

32 Reg: assegnamento Come si assegna un valore ad un reg che è l equivalente di una variabile? Il verilog mette a disposizione due costrutti procedurali, ossia due modi per descrivere operazioni che vengono eseguite in sequenza su delle variabili: Blocco initial Blocco always 17 Novembre 2009 ED - Verilog Massimo Barbaro 32

33 Blocco initial Un blocco procedurale initial è una sequenza di operazioni che vengono eseguite una volta sola nel modulo (l esecuzione inizia all istante 0 e termina con l ultima istruzione del blocco) E possibile inserire in un modulo diversi blocchi initial che verranno eseguiti in parallelo (tutti i blocchi vengono eseguiti contemporaneamente a partire dall istante 0, non conta l ordine con cui compaiono nel file) La parola chiave initial indica l inizio del blocco. Se il blocco contiene più it istruzionii i queste vengono racchiuse fra begin end 17 Novembre 2009 ED - Verilog Massimo Barbaro 33

34 Esempio module testreg; Questa sequenza reg AB; A,B; assegna alla coppia A,B tutte le possibili initial combinazioni di ingresso. begin Tutti gli assegnamenti A=0; sono considerati B=0; contemporanei a meno #5 A=1; che non vengano inseriti #5 A=0; dei ritardi. B=1; Per inserire un ritardo si #5 A=1; usa la sintassi #delay #5 $stop; (#5 significa: attendi 5 end unità di tempo, che di default sono endmodule nanosecondi) 17 Novembre 2009 ED - Verilog Massimo Barbaro 34

35 Esempio B T = A Eseguito A=0; B=0; Eseguito A=1; Eseguito A=0; B=1; Eseguito A=1; initial begin A=0; B=0; #5 A=1; #5 A=0; B=1; #5 A=1; #5 $stop; end t 17 Novembre 2009 ED - Verilog Massimo Barbaro 35

36 Initial In generale: initial Ci possono essere begin più blocchi initial S1a; Non conta l ordine con #del1a S2a; cui vengono messi i #del2a S3a; blocchi ma conta end l ordine in cui compaiono le istruzioni initial nei singoli blocchi begin S1b; L esecuzione è #del1b S2b; parallela e viene fatta end una sola volta 17 Novembre 2009 ED - Verilog Massimo Barbaro 36

37 Esecuzione di S1a nel primo initial Esempio Esecuzione di S2a nel primo initial Esecuzione di S3a nel primo initial 0 del1a del1b del1a+del2a t Esecuzione di S1b nel secondo initial Esecuzione di S2b nel secondo initial 17 Novembre 2009 ED - Verilog Massimo Barbaro 37

38 Esempio Per il primo initial, quindi, valgono le seguenti temporizzazioni: S1a: subito t=0 S2a: dopo del1a secondi t=del1a S3a: dopo altri del2a secondi t=del1a+del2a Per il secondo initial, iti invece, valgono le seguenti: S1b: subito t=0 S2b: dopo del1b t=del1b 17 Novembre 2009 ED - Verilog Massimo Barbaro 38

39 Blocco always Un blocco always èunbloccoproceduraleche viene continuamente eseguito L esecuzione di un blocco always inizia nell istante t 0 e prosegue seguendo le temporizzazioni all interno del blocco Subito dopo l esecuzione dell ultima istruzione si rincomincia ad eseguire la prima istruzione Possono esserci più blocchi always e vengono eseguiti tutti in parallelo Non conta l ordine con cui i blocchi compaiono nel file 17 Novembre 2009 ED - Verilog Massimo Barbaro 39

40 Esempio module testclock; Questa sequenza genera un segnale di clock con reg clk; periodo 10 unità di tempo always (5 alto, 5 basso) begin L esecuzione inizia clk=0; all istante 0 (in cui si #5 clk=1; esegue clk=0), dopo 5 #5 clk=0; unità si esegue clk=1, end dopo altre 5 nuovamente initial clk=0 ed il controllo #40 $stop; ripassa subito (senza endmodule ritardo) alla prima istruzione (sempre clk=0) 17 Novembre 2009 ED - Verilog Massimo Barbaro 40

41 always begin clk=0; #5 clk=1; #5 clk=0; end clk Esempio t Eseguito clk=0; Eseguito clk=1; Dopo l ultima istruzione l esecuzione riparte istantaneamente dalla prima Eseguito clk=0; Eseguito clk=0; Eseguito Eseguito clk=1; clk=0; 17 Novembre 2009 ED - Verilog Massimo Barbaro 41

42 Always Un blocco always inizia con la parola chiave always. Se contiene più istruzioni queste sono racchiuse fra begin..end Possono esserci più blocchi always, in questo caso vengono eseguiti in parallelo e sono completamente indipendenti l uno dall altro (se un blocco termina rincomincia l esecuzione dall inizio anche se gli altri blocchi non hanno terminato) L ordine con cui compaiono i blocchi always non ha alcuna importanza ma ovviamente conta l ordine delle istruzioni dentro il singolo blocco 17 Novembre 2009 ED - Verilog Massimo Barbaro 42

43 Segnali interni ed esterni I segnali interni sono quei segnali che esistono solo all interno del modulo. Possono essere indifferentemente net o variable a seconda delle esigenze I segnali esterni sono le porte di interconnessione i (definite it nell interfaccia). i Esistono regole precise sulla loro natura (net o variable), a seconda che siano input (ingressi), i) output (uscite) o inout (bidirezionali) 17 Novembre 2009 ED - Verilog Massimo Barbaro 43

44 Input Le porte di ingresso (input) rappresentano segnali che arrivano dall esterno e vengono quindi generati all esterno del modulo stesso Per questo motivo all interno del modulo non possono che essere di tipo net (se fossero variable il loro valore dovrebbe essere assegnato dentro il modulo, cosa non possibile per un ingresso) Dentro il modulo non possono essere fatti assegnamenti ad un ingresso 17 Novembre 2009 ED - Verilog Massimo Barbaro 44

45 Output Le porte di uscita (output) rappresentano segnali che vengono generati all interno del modulo stesso Per questo motivo all interno del modulo possono essere sia di tipo net (in tal caso verranno assegnati per mezzo di primitive o interconnessioni con sottomoduli) che di tipo variable Una porta di uscita non può essere letta all interno di un modulo ma solo assegnata (questa ultima regola non è rispettata in tutti i simulatori e software, quindi è più una regola di buona scrittura che un obbligo, in pratica non la utilizzeremo mai) 17 Novembre 2009 ED - Verilog Massimo Barbaro 45

46 Inout Le porte di inout rappresentano segnali bidirezionali Per questo motivo all interno del modulo non possono che essere di tipo net (se fossero variable il loro valore dovrebbe essere assegnato dentro il modulo, ma se la porta è bidirezionale bisogna che possa essere assegnata anche dall esterno) Dentro il modulo possono essere assegnati o letti indifferentemente 17 Novembre 2009 ED - Verilog Massimo Barbaro 46

47 Vettori Un vettore (bus) non è altro che un unico nome per un segnale rappresentato su più bit wire [7:0] busa; wire [0:7] busb; reg [3:0] var1; indici Il primo numero fra parentesi è sempre il bit più significativo, l ultimo il meno significativo. 17 Novembre 2009 ED - Verilog Massimo Barbaro 47

48 Vettori Si può accedere a porzioni di un vettore o a singoli bit del vettore usando sempre le parentesi quadre: wire [7:0] busa; wire [0:7] busb; busa [7:5] busa [3] busb [4] busb [0:2] 17 Novembre 2009 ED - Verilog Massimo Barbaro 48

49 Rappresentazione dei numeri I numeri in verilog possono essere espressi in formato decimale, binario, ottale ed esadecimale Ad un numero decimale, ottale oesadecimale corrisponderà sempre una rappresentazione binariai interna che viene fatta incomplemento a 2 Nel rappresentare un numero è possibile (in genere indispensabile) indicare il numero di bit su cui va rappresentato 17 Novembre 2009 ED - Verilog Massimo Barbaro 49

50 Rappresentazione dei numeri Numero di bit su cui viene rappresentato Se il numero di bit non è specificato viene usato il numero massimo possibile (in genere 32) 8 d12 Numero Base della rappresentazione (decimale) Se la base non è indicata si intende decimale 17 Novembre 2009 ED - Verilog Massimo Barbaro 50

51 Rappresentazione dei numeri Le possibili basi sono 4: d decimale b binaria o ottale h esadecimale Nel caso di numeri negativi il segno meno va indicato prima non solo del numero ma anche della dimensione (-8 d12 -> numero 12 decimale espresso su 8 bit) Esempi: 8 d12 (12 decimale su 8 bit) -8 d12 (-12 decimale su 8 bit) 4 b1001 (1001 b =9 d su 4 bit) 8 ha6 (a6 h =166 d su 8 bit) 17 Novembre 2009 ED - Verilog Massimo Barbaro 51

52 Rappresentazione dei numeri All interno del numero si può usare il simbolo _ per migliorare la leggibilità (separare gruppi dicifre) 8 b0110_1010 -> Nella rappresentazione binaria (ed ottale e esadecimale che corrispondono a bit) si possono assegnare anche il valore X e Z 4 b01xx -> 01xx 8 hza -> zzzz1010 Se il numero di cifre specificate è inferiore al numero richiesto i bit rimanenti vengono posti a 0, a meno che la cifra più significativa indicata esplicitamente sia X o Z nel qual caso i bit rimanenti sono messi appunto a X o Z 8 b1 -> bz01 ->zzzzzz01 8 hza -> zzzz Novembre 2009 ED - Verilog Massimo Barbaro 52

Linguaggi di Descrizione del Hardware: VERILOG. Livelli di astrazione. Livelli di astrazione. Livelli di astrazione. Introduzione

Linguaggi di Descrizione del Hardware: VERILOG. Livelli di astrazione. Livelli di astrazione. Livelli di astrazione. Introduzione Linguaggi di Descrizione del Hardware: VERILOG Lucidi del Corso di Elettronica Digitale Modulo 7 Livelli di astrazione Introduzione Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica

Dettagli

Simulazione verilog. Lucidi del Corso di Elettronica Digitale. Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica

Simulazione verilog. Lucidi del Corso di Elettronica Digitale. Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Simulazione verilog Lucidi del Corso di Elettronica Digitale Modulo 8 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Simulazione Il verilog

Dettagli

Simulazione. Simulazione verilog. Testbench. Testbench

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

Dettagli

Reti Logiche Combinatorie

Reti Logiche Combinatorie Reti Logiche Combinatorie Modulo 4 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Microelettronica e Bioingegneria (EOLAB) Logica combinatoria Un blocco di logica

Dettagli

Logica sequenziale: implementazione verilog

Logica sequenziale: implementazione verilog Logica sequenziale: implementazione verilog Lucidi del Corso di Elettronica Digitale Modulo 10 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB)

Dettagli

senza stato una ed una sola

senza stato una ed una sola Reti Combinatorie Un calcolatore è costituito da circuiti digitali (hardware) che provvedono a realizzare fisicamente il calcolo. Tali circuiti digitali possono essere classificati in due classi dette

Dettagli

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi

Dettagli

Reti Logiche Combinatorie

Reti Logiche Combinatorie Testo di riferimento: [Congiu] - 2.4 (pagg. 37 57) Reti Logiche Combinatorie 00.b Analisi Minimizzazione booleana Sintesi Rete logica combinatoria: definizione 2 Una rete logica combinatoria èuna rete

Dettagli

Fondamenti di Informatica

Fondamenti 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

Dettagli

Dalla tabella alla funzione canonica

Dalla tabella alla funzione canonica Dalla tabella alla funzione canonica La funzione canonica è la funzione logica associata alla tabella di verità del circuito che si vuole progettare. Essa è costituita da una somma di MinTerm con variabili

Dettagli

Algebra di Boole. Modulo 2. Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB)

Algebra di Boole. Modulo 2. Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Algebra di Boole Modulo 2 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Algebra di Boole L algebra di Boole o della commutazione è lo strumento

Dettagli

Reti combinatorie. Reti combinatorie (segue)

Reti combinatorie. Reti combinatorie (segue) Reti combinatorie Sommatore Sottrattore Reti sequenziali Generatore di sequenze Riconoscitore di sequenze Reti combinatorie PROGRAMMAZIONE Il programmatore riporta le istruzioni che il calcolatore dovrà

Dettagli

Logica binaria. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna

Logica binaria. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna Logica binaria Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Logica binaria 2 Rappresentazione dell'informazione I calcolatori

Dettagli

Il livello logico digitale

Il livello logico digitale Il livello logico digitale porte logiche e moduli combinatori Algebra di commutazione Algebra booleana per un insieme di due valori Insieme di elementi A={,} Operazioni NOT (operatore unario) => = e =

Dettagli

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm

Dettagli

Addizionatori: metodo Carry-Lookahead. Costruzione di circuiti combinatori. Standard IEEE754

Addizionatori: metodo Carry-Lookahead. Costruzione di circuiti combinatori. Standard IEEE754 Addizionatori: metodo Carry-Lookahead Costruzione di circuiti combinatori Standard IEEE754 Addizionatori Il circuito combinatorio che implementa l addizionatore a n bit si basa su 1-bit adder collegati

Dettagli

IL VHDL. Perché si usa un linguaggio di descrizione dell'hardware? Permette di formalizzare il progetto di sistemi digitali complessi

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

Dettagli

Reti logiche: introduzione

Reti logiche: introduzione Corso di Calcolatori Elettronici I Reti logiche: introduzione ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica Circuiti e porte logiche Esempio di rete di commutazione: Circuiti e porte

Dettagli

HSA HSA HARDWARE SYSTEM ARCHITECTURE. Livelli. Livello assemblativo. Livello di. Sistema Operativo. Livello di. linguaggio macchina.

HSA HSA HARDWARE SYSTEM ARCHITECTURE. Livelli. Livello assemblativo. Livello di. Sistema Operativo. Livello di. linguaggio macchina. HS HRDWRE SYSTEM RHITETURE a.a. 22-3 L. orrelli 1 Livelli I 4: MOV L,TOTLE XOR X,X XOR X,X MOV L,STRING[X] IN X LOOP I 4 Livello assemblativo Livello di Sistema Operativo 11111 1111 11 111 111 111 Livello

Dettagli

Lezione 7 Sommatori e Moltiplicatori

Lezione 7 Sommatori e Moltiplicatori Architettura degli Elaboratori e delle Reti Lezione 7 Sommatori e Moltiplicatori Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 7 /36 Sommario

Dettagli

Esercitazioni di Reti Logiche. Lezione 4

Esercitazioni 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

Dettagli

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it

Dettagli

I tipi di dato del Fortran

I tipi di dato del Fortran I tipi di dato del Fortran In Fortran sono disponibili 5 tipi di dato (tipi primitivi o predefiniti): INTEGER REAL COMPLEX CHARACTER LOGICAL tipi numerici tipi non numerici Non considereremo il tipo COMPLEX

Dettagli

I.3 Porte Logiche. Elisabetta Ronchieri. Ottobre 13, Università di Ferrara Dipartimento di Economia e Management. Insegnamento di Informatica

I.3 Porte Logiche. Elisabetta Ronchieri. Ottobre 13, Università di Ferrara Dipartimento di Economia e Management. Insegnamento di Informatica I.3 Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti 1 2 3 Elaboratore Hardware È il mezzo con il quale l informazione è elaborata. Software

Dettagli

Modulo e segno Complemento a 1 (CA1) Complemento a 2 (CA2)

Modulo e segno Complemento a 1 (CA1) Complemento a 2 (CA2) Codifica dei numeri interi con segno in base 2: Ci siamo occupati fino ad adesso di come il computer (base 2) rappresenta i numeri interi Occupiamoci ora di rappresentare i numeri interi col segno: Per

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2

Dettagli

Esercitazioni di Reti Logiche

Esercitazioni di Reti Logiche Esercitazioni di Reti Logiche Sintesi di Reti Combinatorie & Complementi sulle Reti Combinatorie Zeynep KIZILTAN Dipartimento di Scienze dell Informazione Universita degli Studi di Bologna Anno Academico

Dettagli

Caratteristiche di un linguaggio ad alto livello

Caratteristiche 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

Dettagli

Tipi di dato, Alessandra Giordani Lunedì 7 maggio 2011

Tipi di dato, Alessandra Giordani Lunedì 7 maggio 2011 Tipi di dato, memoria e conversioni Alessandra Giordani agiordani@disi.unitn.it Lunedì 7 maggio 2011 http://disi.unitn.it/~agiordani/ Il linguaggio C è esplicitamente tipato: occorre esplicitamente associare

Dettagli

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

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

Dettagli

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7

Dettagli

Fondamenti di Programmazione. Sistemi di rappresentazione

Fondamenti di Programmazione. Sistemi di rappresentazione Fondamenti di Programmazione Sistemi di rappresentazione Numeri e numerali Il numero cinque 5 V _ Π 五 Arabo Romano Maya Greco Cinese Il sistema decimale Sistemi posizionali 1 10 3 + 4 10 2 + 9 10 1 + 2

Dettagli

Codifica binaria. Rappresentazioni medianti basi diverse

Codifica binaria. Rappresentazioni medianti basi diverse Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla

Dettagli

Sistemi di Numerazione

Sistemi di Numerazione Sistemi di Numerazione Corso Università Numeri e Numerali Il numero cinque 5 V _ Π Arabo Romano Maya Greco Cinese Il sistema decimale Sistemi Posizionali 1 10 3 + 4 10 2 + 9 10 1 + 2 10 0 Sistemi Posizionali

Dettagli

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1 Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1 1) Dato un diagramma di flusso quali sono le condizioni necessarie perché si possa costruire un programma corrispondente?

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Rappresentazione dei dati numerici Aritmetica dei registri Anno Accademico Francesco Tortorella BIG IDEA: Bits can represent anything!! Caratteri 26 lettere 5 bits (2 5 = 32) Minuscole/maiuscole

Dettagli

Costanti e Variabili

Costanti e Variabili Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli

Dettagli

Lezione 3. I numeri relativi

Lezione 3. I numeri relativi Lezione 3 L artimetcia binaria: i numeri relativi i numeri frazionari I numeri relativi Si possono rappresentare i numeri negativi in due modi con modulo e segno in complemento a 2 1 Modulo e segno Si

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio 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

Dettagli

Esercizi svolti e da svolgere sugli argomenti trattati nella lezione 25

Esercizi svolti e da svolgere sugli argomenti trattati nella lezione 25 Esercizi svolti e da svolgere sugli argomenti trattati nella lezione 25 Esercizi svolti Es.. Si progetti in dettaglio il circuito che, dati quattro registri sorgente Si e quattro registri destinazione

Dettagli

Rappresentazioni ottale ed esadecimale Barbara Masucci

Rappresentazioni ottale ed esadecimale Barbara Masucci Architettura degli Elaboratori Rappresentazioni ottale ed esadecimale Barbara Masucci Punto della situazione Ø Abbiamo visto Ø ll sistema posizionale pesato, in particolare le rappresentazioni con basi

Dettagli

Introduzione al Flusso di Progetto di Circuiti e Sistemi Digitali

Introduzione al Flusso di Progetto di Circuiti e Sistemi Digitali Introduzione al Flusso di Progetto di Circuiti e Sistemi Digitali Cristina Silvano Università degli Studi di Milano Dipartimento di Scienze dell Informazione Via Comelico 39/41, I-20135 Milano (Italy)

Dettagli

Progettazione di circuiti integrati

Progettazione di circuiti integrati Architetture e reti logiche Esercitazioni VHDL a.a. 2007/08 Progettazione di circuiti integrati Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari

Dettagli

I circuiti dei calcolatori, le memorie, i bus. I fondamenti della rappresentazione dell informazione e della sua trasmissione ed elaborazione.

I circuiti dei calcolatori, le memorie, i bus. I fondamenti della rappresentazione dell informazione e della sua trasmissione ed elaborazione. I circuiti dei calcolatori, le memorie, i bus. I fondamenti della rappresentazione dell informazione e della sua trasmissione ed elaborazione. Dispensina per gli studenti di Ingegneria Gestionale. A.A.

Dettagli

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici Per ogni lezione, sintetizzare i circuiti combinatori o sequenziali che soddisfino le specifiche date e quindi implementarli e

Dettagli

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli

Codice 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

Dettagli

Rappresentazione dei numeri interi in un calcolatore

Rappresentazione dei numeri interi in un calcolatore Corso di Calcolatori Elettronici I A.A. 2012-2013 Rappresentazione dei numeri interi in un calcolatore Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica

Dettagli

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 LA CODIFICA DELL INFORMAZIONE Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici RETI SEQUENZIALI : ESERCIZI Massimiliano Giacomin 1 Implementazione di contatori Un contatore è un dispositivo sequenziale che aggiorna periodicamente il suo stato secondo una regola

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione 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

Dettagli

Fondamenti di Informatica B

Fondamenti di Informatica B Fondamenti di Informatica B Lezione n.2 Alberto Broggi Gianni Conte A.A. 25-26 Fondamenti di Informatica B Algebra booleana Circuiti logici Elementi primitivi Esercizi con elementi logici Lezione n.2n

Dettagli

Logica Digitale. Fondamenti di Informatica - Prof. Gregorio Cosentino

Logica 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

Dettagli

Appunti di informatica. Lezione 3 anno accademico Mario Verdicchio

Appunti 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

Dettagli

Aritmetica binaria e circuiti aritmetici

Aritmetica binaria e circuiti aritmetici Aritmetica binaria e circuiti aritmetici Architetture dei Calcolatori (lettere A-I) Addizioni binarie Le addizioni fra numerali si effettuano cifra a cifra (come in decimale) portando il riporto alla cifra

Dettagli

VARIABILI E COSTANTI

VARIABILI E COSTANTI VARIABILI E COSTANTI - Variabili e costanti - 1 PROBLEMA: Calcolo dell area di un triangolo di base b e altezza h. area = b ------------ h 2 ESEMPIO: b = 2,4 h = 1,5 area = 2,4 -------------------- 1,5

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma 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

Dettagli

Macchine combinatorie: encoder/decoder e multiplexer/demultiplexer

Macchine combinatorie: encoder/decoder e multiplexer/demultiplexer Corso di Calcolatori Elettronici I A.A. 2011-2012 Macchine combinatorie: encoder/decoder e multiplexer/demultiplexer Lezione 12 Prof. Antonio Pescapè Università degli Studi di Napoli Federico II Facoltà

Dettagli

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Informatica 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

Dettagli

La codifica binaria. Informatica B. Daniele Loiacono

La codifica binaria. Informatica B. Daniele Loiacono La codifica binaria Informatica B Introduzione Il calcolatore usa internamente una codifica binaria ( e ) per rappresentare: i dati da elaborare le istruzioni dei programmi eseguibili Fondamenti di codifica

Dettagli

ESERCIZI DEL CORSO DI INFORMATICA

ESERCIZI DEL CORSO DI INFORMATICA ESERCIZI DEL CORSO DI INFORMTIC Questa breve raccolta di esercizi vuole mettere in luce alcuni aspetti della prima parte del corso e fornire qualche spunto di riflessione. Il contenuto del materiale seguente

Dettagli

Programmazione in Java (I modulo)

Programmazione in Java (I modulo) Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto

Dettagli

Tecniche 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 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

Dettagli

Modulo 2: Strutture fondamentali della programmazione Java

Modulo 2: Strutture fondamentali della programmazione Java Modulo 2: Strutture fondamentali della programmazione Java Argomenti Trattati: Un semplice programma Java: Presentazione di un primo Esempio; Introduzione alla struttura; Compilazione ed esecuzione. Argomenti

Dettagli

Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010

Tipi 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

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Rappresentazione dell Informazione Barbara Masucci Cosa studiamo oggi Ø Un moderno elaboratore è un sistema elettronico digitale programmabile Ø Il suo comportamento è flessibile

Dettagli

Progettazione di circuiti integrati

Progettazione di circuiti integrati Architetture e Reti logiche Esercitazioni VHDL a.a. 2003/04 Progettazione di circuiti integrati Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari

Dettagli

Regole per la scrittura di VHDL Sintetizzabile. Fabio Campi. Corso di Elettronica dei Sistemi Digitali LS AA

Regole per la scrittura di VHDL Sintetizzabile. Fabio Campi. Corso di Elettronica dei Sistemi Digitali LS AA Regole per la scrittura di VHDL Sintetizzabile Fabio Campi Corso di Elettronica dei Sistemi Digitali LS AA 2003-2004 2004 VHDL Sintetizzabile Obiettivo: Mappare su celle Hardware di libreria, riferite

Dettagli

Tecnologie per il web e lo sviluppo multimediale. Rappresentazione delle informazioni

Tecnologie per il web e lo sviluppo multimediale. Rappresentazione delle informazioni Tecnologie per il web e lo sviluppo multimediale Rappresentazione delle informazioni Luca Pulina Corso di Laurea in Scienze della Comunicazione Università degli Studi di Sassari A.A. 2015/2016 Luca Pulina

Dettagli

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

AXO - 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

Dettagli

Rappresentazione dei numeri interi in un calcolatore

Rappresentazione dei numeri interi in un calcolatore Corso di Calcolatori Elettronici I Rappresentazione dei numeri interi in un calcolatore Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle

Dettagli

Funzioni booleane. Vitoantonio Bevilacqua.

Funzioni booleane. Vitoantonio Bevilacqua. Funzioni booleane Vitoantonio Bevilacqua bevilacqua@poliba.it Sommario. Il presente paragrafo si riferisce alle lezioni del corso di Fondamenti di Informatica e Laboratorio di Informatica dei giorni 9

Dettagli

Richiami di Algebra di Commutazione

Richiami 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

Dettagli

Algebra di Boole Elementi di Informatica - Algebra di Boole 1 A. Valenzano

Algebra di Boole Elementi di Informatica - Algebra di Boole 1 A. Valenzano Algebra di Boole Elementi di Informatica - Algebra di Boole 1 A. Valenano 1996-2002 Sommario Variabili e funioni booleane Tabelle di verità Operatori booleani Espressioni booleane Teoremi fondamentali

Dettagli

Lezione 7 ALU: Moltiplicazione e divisione

Lezione 7 ALU: Moltiplicazione e divisione Architettura degli Elaboratori e delle Reti Lezione 7 ALU: Moltiplicazione e divisione F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 7 1/34 Sommario! Sommatori

Dettagli

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 6 Introduzione al C++ Mauro Piccolo Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,

Dettagli

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: silvano@elet.polimi.it

Dettagli

Circuiti digitali. Operazioni Logiche: Algebra di Boole. Esempio di circuito. Porte Logiche. Fondamenti di Informatica A Ingegneria Gestionale

Circuiti digitali. Operazioni Logiche: Algebra di Boole. Esempio di circuito. Porte Logiche. Fondamenti di Informatica A Ingegneria Gestionale Operazioni Logiche: lgebra di oole Fondamenti di Informatica Ingegneria Gestionale Università degli Studi di rescia Docente: Prof. lfonso Gerevini Circuiti digitali Il calcolatore può essere visto come

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Rappresentazione dei dati in memoria

Rappresentazione dei dati in memoria Rappresentazione dei dati in memoria La memoria Una memoria deve essere un insieme di oggetti a più stati. Questi oggetti devono essere tali che: le dimensioni siano limitate il tempo necessario per registrare

Dettagli

Componenti e connessioni. Capitolo 3

Componenti e connessioni. Capitolo 3 Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura

Dettagli

Reti logiche: analisi, sintesi e minimizzazione Esercitazione. Venerdì 9 ottobre 2015

Reti logiche: analisi, sintesi e minimizzazione Esercitazione. Venerdì 9 ottobre 2015 Reti logiche: analisi, sintesi e minimizzazione Esercitazione Venerdì 9 ottobre 05 Punto della situazione Stiamo studiando le reti logiche costruite a partire dalle porte logiche AND, OR, NOT per progettare

Dettagli

Progettazione di algoritmi: componenti di base e metodologie di sviluppo. Variabili e costanti. Variabili e costanti A = 2. Algoritmo PASCAL-LIKE

Progettazione di algoritmi: componenti di base e metodologie di sviluppo. Variabili e costanti. Variabili e costanti A = 2. Algoritmo PASCAL-LIKE Progettazione di algoritmi: componenti di base e metodologie di sviluppo Variabili e costanti Variabili e costanti PROBLEMA: calcolo dell area A di un triangolo di base b ed altezza h b h A =.4.5 b =.4,

Dettagli

UD 3.2b: Programmazione in Pascal (1)

UD 3.2b: Programmazione in Pascal (1) UD 3.2b: Programmazione in Pascal (1) Il Linguaggio di Programmazione Pascal Esistono molti linguaggi di programmazione. Per motivi didattici utilizzeremo una versione ridotta di un linguaggio di programmazione

Dettagli

PORTE LOGICHE. Si effettua su due o più variabili, l uscita assume lo stato logico 1 se almeno una variabile di ingresso è allo stato logico 1.

PORTE LOGICHE. Si effettua su due o più variabili, l uscita assume lo stato logico 1 se almeno una variabile di ingresso è allo stato logico 1. PORTE LOGICHE Premessa Le principali parti elettroniche dei computer sono costituite da circuiti digitali che, come è noto, elaborano segnali logici basati sullo 0 e sull 1. I mattoni fondamentali dei

Dettagli

I circuiti digitali: dalle funzioni logiche ai circuiti

I circuiti digitali: dalle funzioni logiche ai circuiti Architettura dei calcolatori e delle Reti Lezione 4 I circuiti digitali: dalle funzioni logiche ai circuiti Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 IL LIVELLO HARDWARE Introduzione alle reti logiche Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello del linguaggio specializzato Traduzione (compilatore) o interpretazione

Dettagli

Variabili e Istruzioni

Variabili e Istruzioni Exit Menù Variabili e Istruzioni 1 Le Variabili Una VARIABILE è un oggetto identificato da un NOME e da uno STATO, detto CONTENUTO o VALORE. Possiamo immaginarla come una scatola contenuto Pippo 11 nome

Dettagli

Il livello logico digitale

Il livello logico digitale Il livello logico digitale prima parte Introduzione Circuiti combinatori (o reti combinatorie) Il valore dell uscita in un determinato istante dipende unicamente dal valore degli ingressi in quello stesso

Dettagli

La rappresentazione dei numeri. La rappresentazione dei numeri. Aritmetica dei calcolatori. La rappresentazione dei numeri

La rappresentazione dei numeri. La rappresentazione dei numeri. Aritmetica dei calcolatori. La rappresentazione dei numeri CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dell Informazione Aritmetica dei calcolatori Rappresentazione dei numeri naturali e relativi Addizione a propagazione di riporto Addizione

Dettagli

Linguaggio C: introduzione

Linguaggio 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

Dettagli

17/10/16. Espressioni Booleane

17/10/16. Espressioni Booleane Espressioni Booleane Un espressione booleana è una sequenza composta da operatori booleani, parentesi, costanti e variabili booleane, induttivamente definita come segue: Espressioni ed operatori booleani

Dettagli

ALGORITMI: PROPRIETÀ FONDAMENTALI

ALGORITMI: PROPRIETÀ FONDAMENTALI ALGORITMI: PROPRIETÀ FONDAMENTALI Non si può risolvere un problema senza prima fissare un insieme di azioni, i di mosse elementari possibili per l'esecutore. Bisogna conoscerne le caratteristiche, le mosse

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE

INTRODUZIONE ALLA PROGRAMMAZIONE INTRODUZIONE ALLA PROGRAMMAZIONE Prof. Enrico Terrone A. S: 2008/09 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni

Dettagli

Dall algoritmo al programma

Dall algoritmo al programma Dall algoritmo al programma Il concetto di algoritmo Un algoritmo è una sequenza di passi necessari per risolvere un problema o eseguire una computazione In alcuni casi, lo stesso problema/computazione

Dettagli

ALGEBRA DI BOOLE. In caso di errori di battitura o se si volesse contribuire a migliorare la seguente guida contattare:

ALGEBRA DI BOOLE. In caso di errori di battitura o se si volesse contribuire a migliorare la seguente guida contattare: ALGEBRA DI BOOLE Indice Introduzione... 2 PRORIETA E TEOREMI DELL ALGEBRA DI BOOLE... 3 FUNZIONI LOGICHE PRIMARIE... 4 Funzione logica AND... 4 Funzione logica OR... 4 Funzione logica NOT... 5 FUNZIONI

Dettagli

Cap. 2 - Rappresentazione in base 2 dei numeri interi

Cap. 2 - Rappresentazione in base 2 dei numeri interi Cap. 2 - Rappresentazione in base 2 dei numeri interi 2.1 I NUMERI INTERI RELATIVI I numeri relativi sono numeri con il segno: essi possono essere quindi positivi e negativi. Si dividono in due categorie:

Dettagli

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 19 Febbraio Attenzione:

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 19 Febbraio Attenzione: Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 19 Febbraio 2016 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.

Dettagli