Linguaggi di Descrizione del Hardware: VERILOG
|
|
- Silvana Ferrero
- 6 anni fa
- Visualizzazioni
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 Lucidi del Corso di Elettronica Digitale Modulo 7 Livelli di astrazione Introduzione Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica
DettagliSimulazione 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
DettagliSimulazione. Simulazione verilog. Testbench. Testbench
Simulazione Simulazione verilog Lucidi del Corso di Elettronica Digitale Modulo 8 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Il verilog
DettagliReti Logiche Combinatorie
Reti Logiche Combinatorie Modulo 4 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Microelettronica e Bioingegneria (EOLAB) Logica combinatoria Un blocco di logica
DettagliLogica 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)
Dettaglisenza 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
DettagliAlgoritmi, 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
DettagliReti 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
DettagliFondamenti di Informatica
Fondamenti di Informatica Algebra di Boole e Circuiti Logici Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 Algebra di Boole e Circuiti Logici L Algebra
DettagliDalla 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
DettagliAlgebra 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
DettagliReti combinatorie. Reti combinatorie (segue)
Reti combinatorie Sommatore Sottrattore Reti sequenziali Generatore di sequenze Riconoscitore di sequenze Reti combinatorie PROGRAMMAZIONE Il programmatore riporta le istruzioni che il calcolatore dovrà
DettagliLogica 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
DettagliIl 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 =
DettagliVariabili. 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
DettagliAddizionatori: 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
DettagliIL VHDL. Perché si usa un linguaggio di descrizione dell'hardware? Permette di formalizzare il progetto di sistemi digitali complessi
IL VHDL Cosa è il VHDL? NON è un linguaggio di programmazione! E' uno standard IEEE per la descrizione dell'hardware VHDL: VHSIC Hardware Description Language VHSIC: Very High Speed Integrated Circuit
DettagliReti 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
DettagliHSA 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
DettagliLezione 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
DettagliEsercitazioni di Reti Logiche. Lezione 4
Esercitazioni di Reti Logiche Lezione 4 Progettazione dei circuiti logici combinatori Zeynep KIZILTAN zkiziltan@deis.unibo.it Argomenti Procedura di analisi dei circuiti combinatori. Procedura di sintesi
Dettagli6 - 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
DettagliI 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
DettagliI.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
DettagliModulo 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
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
DettagliESECUZIONE 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
DettagliEsercitazioni 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
DettagliCaratteristiche di un linguaggio ad alto livello
Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono
DettagliTipi 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
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliUnità 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
DettagliFunzioni, 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
DettagliFondamenti 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
DettagliCodifica 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
DettagliSistemi 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
DettagliInformatica/ 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?
DettagliUniversità 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
DettagliCostanti 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
DettagliLezione 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
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra
DettagliEsercizi svolti e da svolgere sugli argomenti trattati nella lezione 25
Esercizi svolti e da svolgere sugli argomenti trattati nella lezione 25 Esercizi svolti Es.. Si progetti in dettaglio il circuito che, dati quattro registri sorgente Si e quattro registri destinazione
DettagliRappresentazioni 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
DettagliIntroduzione al Flusso di Progetto di Circuiti e Sistemi Digitali
Introduzione al Flusso di Progetto di Circuiti e Sistemi Digitali Cristina Silvano Università degli Studi di Milano Dipartimento di Scienze dell Informazione Via Comelico 39/41, I-20135 Milano (Italy)
DettagliProgettazione 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
DettagliI 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.
DettagliLaboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici
Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici Per ogni lezione, sintetizzare i circuiti combinatori o sequenziali che soddisfino le specifiche date e quindi implementarli e
DettagliCodice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli
Codice La relazione che associa ad ogni successione ben formata di simboli di un alfabeto il dato corrispondente è detta codice. Un codice mette quindi in relazione le successioni di simboli con il significato
DettagliRappresentazione 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
DettagliLA 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
DettagliCalcolatori 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
DettagliProgrammazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo
Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy
DettagliFondamenti 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
DettagliLogica Digitale. Fondamenti di Informatica - Prof. Gregorio Cosentino
Logica Digitale 1 Ma in fondo quali sono i mattoncini che compongono un calcolatore elettronico? Porte Circuiti Aritmetica Memorie Bus I/O And, Or, Nand, Nor, Not Multiplexer, Codif, Shifter, ALU Sommatori
DettagliAppunti di informatica. Lezione 3 anno accademico Mario Verdicchio
Appunti di informatica Lezione 3 anno accademico 2015-2016 Mario Verdicchio Numeri binari in memoria In un calcolatore, i numeri binari sono tipicamente memorizzati in sequenze di caselle (note anche come
DettagliAritmetica 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
DettagliVARIABILI 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
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
DettagliMacchine 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à
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliLa 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
DettagliESERCIZI 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
DettagliProgrammazione 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
DettagliTecniche di Progettazione Digitale Richiami all algebra di Boole; domini di rappresentazione p. 2
Tecniche di Progettazione Digitale Richiami all algebra di Boole; domini di rappresentazione Valentino Liberali Dipartimento di Tecnologie dell Informazione Università di Milano, 26013 Crema e-mail: liberali@dti.unimi.it
DettagliModulo 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
DettagliTipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010
Tipi di dati scalari (casting e puntatori) Alessandra Giordani agiordani@disi.unitn.it Lunedì 10 maggio 2010 http://disi.unitn.it/~agiordani/ I tipi di dati scalari I tipi aritmetici, i tipi enumerativi
DettagliINTRODUZIONE 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
DettagliArchitettura 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
DettagliProgettazione di circuiti integrati
Architetture e Reti logiche Esercitazioni VHDL a.a. 2003/04 Progettazione di circuiti integrati Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari
DettagliRegole per la scrittura di VHDL Sintetizzabile. Fabio Campi. Corso di Elettronica dei Sistemi Digitali LS AA
Regole per la scrittura di VHDL Sintetizzabile Fabio Campi Corso di Elettronica dei Sistemi Digitali LS AA 2003-2004 2004 VHDL Sintetizzabile Obiettivo: Mappare su celle Hardware di libreria, riferite
DettagliTecnologie 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
DettagliAXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori
AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli
DettagliRappresentazione 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
DettagliFunzioni 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
DettagliRichiami di Algebra di Commutazione
LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n Prof. Rosario Cerbone rosario.cerbone@libero.it http://digilander.libero.it/rosario.cerbone a.a. 6-7 Richiami di Algebra di Commutazione In questa
DettagliAlgebra 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
DettagliLezione 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
DettagliLezione 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,
DettagliIntroduzione al VHDL Lezione 1
Introduzione al VHDL Lezione 1 Cristina Silvano Università degli Studi di Milano Dipartimento di Scienze dell Informazione Via Comelico 39/41, I-20135 Milano (Italy) Tel.: +39-2-5835-6306 e-mail: silvano@elet.polimi.it
DettagliCircuiti 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
DettagliFondamenti 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
DettagliRappresentazione 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
DettagliComponenti e connessioni. Capitolo 3
Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura
DettagliReti logiche: analisi, sintesi e minimizzazione Esercitazione. Venerdì 9 ottobre 2015
Reti logiche: analisi, sintesi e minimizzazione Esercitazione Venerdì 9 ottobre 05 Punto della situazione Stiamo studiando le reti logiche costruite a partire dalle porte logiche AND, OR, NOT per progettare
DettagliProgettazione 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,
DettagliUD 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
DettagliPORTE LOGICHE. Si effettua su due o più variabili, l uscita assume lo stato logico 1 se almeno una variabile di ingresso è allo stato logico 1.
PORTE LOGICHE Premessa Le principali parti elettroniche dei computer sono costituite da circuiti digitali che, come è noto, elaborano segnali logici basati sullo 0 e sull 1. I mattoni fondamentali dei
DettagliI 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
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 IL LIVELLO HARDWARE Introduzione alle reti logiche Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello del linguaggio specializzato Traduzione (compilatore) o interpretazione
DettagliVariabili 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
DettagliIl 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
DettagliLa 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
DettagliLinguaggio C: introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi
Dettagli17/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
DettagliALGORITMI: 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
DettagliINTRODUZIONE 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
DettagliDall 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
DettagliALGEBRA 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
DettagliCap. 2 - Rappresentazione in base 2 dei numeri interi
Cap. 2 - Rappresentazione in base 2 dei numeri interi 2.1 I NUMERI INTERI RELATIVI I numeri relativi sono numeri con il segno: essi possono essere quindi positivi e negativi. Si dividono in due categorie:
DettagliArchitettura 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