fondamenti di elettronica digitale€¦ · elettronica digitale. design abstraction levels n+ n+ s...
Post on 31-Oct-2020
13 Views
Preview:
TRANSCRIPT
Fondamenti di
Elettronica
Digitale
Design Abstraction Levels
n+n+
S
GD
+
DEVICE
CIRCUIT
GATE
MODULE
SYSTEM
Informazione analogica
La voce umana e la trasmissione
dei segnali di radio e televisione
sono comunicazioni di tipo
ANALOGICO
ovvero le grandezze fisiche sono
funzioni continue del tempo
V(t)
t
Informazione digitale
La trasmissione dei segnali nei computer ed in
generale nei circuiti elettronici avviene in modo
DIGITALE
Il bit (binary unit) è l ’ unità di misura
fondamentale dell'informazione.
Lo stato "zero" e "uno" può essere
realizzato con la presenza o l'assenza di
tensione elettrica in un circuito
Da Analogico a Digitale
V(t)
t
soglia
V(t)
t
soglia
1
0
1
0
V(t)
t
soglia
I segnali elettrici continui
(analogici) vengono
convertiti in segnali digitali.
I segnali elettrici continui
(analogici) vengono
convertiti in segnali digitali.
8
Sensibilità al rumore
V(t)
t
1
0
V(t)
t
soglia
1
0
V(t)
t
V(t)
t
minore sensibilità al rumore minore sensibilità al rumore
La rappresentazione delle informazioni
• Tutte le informazioni sono rappresentate in forma
binaria o digitale utilizzando due soli simboli: 0 ed 1
• Con una cifra binaria si possono quindi
rappresentare soltanto due informazioni: ovvero
presenza o assenza di segnale elettrico
IL BIT
• Unità fisica di informazione che vale 0 oppure 1.
– Il nome proviene da Binary Digit
• Si utilizzano i multipli del bit:– Kilo Kb ~ un migliaio (1024)
– Mega Mb ~ un milione (1024x1024)
– Giga Gb ~ un miliardo (1Mbx1024)
– Tera Tb ~ mille miliardi (1Gbx1024)
Codifica binaria
• Per poter rappresentare un numero maggiore diinformazioni è necessario utilizzare sequenze di bit.
– Utilizzando due bit si possono rappresentare quattro informazioni diverse:
00 01 10 11
Il processo che fa corrispondere ad una informazione una configurazione di bit prende il
nome di codifica dell’informazione.
Sequenze di bit
Numero di bit nella
sequenza
Informazioni
rappresentabili
2 4
3 8
4 16
5 32
6 64
7 128
8 256
I caratteri utilizzati nella
comunicazione scritta
• 52 lettere alfabetiche maiuscole e minuscole
• 10 cifre (0, 1, 2, …, 9)
• Segni di punteggiatura (, . ; : ! ” ? ’ ^ \ …)
• Segni matematici (+, -, , ±, {, [, >, …)
• Caratteri nazionali (à, è, ì, ò, ù, ç, ñ, ö, ...)
• Altri segni grafici (©, , , @, €, …)
• In totale 220 caratteri circa.
Si pone quindi la necessità di codificare in numeri binari almeno 220 caratteri.
La sequenza di bit necessaria a rappresentare 220 simboli deve essere
composta da 8 bit e prende il nome di CODICE.
• 0110000 0
• 0110001 1
• 0110010 2
• 0110011 3
• 1100001 a
• 1100010 b
• 1100011 c
• 1000001 A
• 1000010 B
• 1000011 C
• 1000100 D
• ……
Codice ASCII: American Standard Code
for Information Interchange (7 bit)
High-ASCII estensione ad 8 bit
IL SISTEMA DI NUMERAZIONE BINARIO
1 2 3 6
È un numero composto da quattro cifre (digit)
Sistema decimale
1 2 3 6 =
1 0 0 0 +
2 0 0 +
3 0 +
6
11000 + 2100 + 310 + 61
1 2 3 6
103102
101100
peso delle cifre
La base è 10 perché nel sistema decimale ci sono 10 simboli
Con un numero decimale ad n cifre è possibile rappresentare 10n quantità
diverse (zero incluso)
1 0 1 0
è ancora un numero composto da quattro cifre (binary digit = BIT)
Nel sistema di numerazione binario abbiamo solo
due simboli: 0 , 1
1 0 1 0
2322
2120
1 0 1 0
2322
2120
18 + 04 + 12 + 01 = 10 (in decimale)
Con un numero binario ad n cifre è possibile rappresentare 2n quantità diverse
(zero incluso)
CONVERSIONE DA BINARIO A DECIMALE
CONVERSIONE DA DECIMALE A BINARIO
3 2 5Es.
Si deve procedere per passi successivi
3 2 5 : 2 = 1 6 2 resto 1
1 6 2 : 2 = 8 1 resto 0
…
…
CONVERSIONE DA DECIMALE A BINARIO
3 2 5 : 2 = 1 6 2 resto 1
1 6 2 : 2 = 8 1 resto 0
8 1 : 2 = 4 0 resto 1
4 0 : 2 = 2 0 resto 0
2 0 : 2 = 1 0 resto 0
1 0 : 2 = 5 resto 0
5 : 2 = 2 resto 1
2 : 2 = 1 resto 0
1 : 2 = 0 resto 1
1 0 1 0 0 0 1 0 1
Il sistema binario
Conversione da decimale a
binario
• Metodo delle divisioni
successive:
• (121)10 = (1111001)2
• Si considerano i resti della
divisione per 2 dal basso
verso l’alto a gruppo di 4
121 1
60 0
30 0
15 1
7 1
3 1
1 1
0
Il sistema binario
Conversione da binario a decimale
Ogni bit viene moltiplicato per il peso (2 elevato alla
posizione) e la somma dei prodotti è il numero decimale
corrispondente (64+32+16+8+1=121)
Bit 1 1 1 1 0 0 1
Posizione 6 5 4 3 2 1 0
Peso 64 32 16 8 4 2 1
Prodotto 64 32 16 8 0 0 1
Il sistema binario
1 0 1 0 1
Posizione: 4 3 2 1 0
1× 2 4 + 0× 2 3 + 1× 2 2 + 0× 2 1 + 1× 2 0 =
16 + 0 + 4 + 0 + 1 = 21
Bit meno significativo
(LSB)
Bit più significativo
(MSB)
Il sistema binario
• Con n bit si possono
scrivere i numeri
interi compresi fra 0 e
2n - 1
Bit Intervallo
1 Da 0 a 1
2 Da 0 a 3
3 Da 0 a 7
4 Da 0 a 15
5 Da 0 a 31
6 Da 0 a 63
7 Da 0 a 127
8 Da 0 a 255
9 Da 0 a 511
10 Da 0 a 1023
Il sistema binario
bin dec
00 0
01 1
10 2
11 3
Codifica a 2 bit (4 configurazioni) Codifica a 3 bit (8 configurazioni)
bin dec
000 0001 1010 2011 3100 4101 5110 6111 7
SOMMA DI NUMERI BINARI
0 +
0 =
0
1 +
0 =
1
0 +
1 =
1
1 +
1 =
1 0
1 +
1 +
1 =
1 1
riporto
1 0 0 1 1 1 0 +
1 1 1 0 0 1 1 =
1 1 0 0 0 0 0 1
SOMMA DI NUMERI BINARI
Riporto 1 1 1 1 1
Addendo
(60)0 0 1 1 1 1 0 0 +
Addendo
(110)0 1 1 0 1 1 1 0 =
Somma
(170)1 0 1 0 1 0 1 0
PRODOTTO DI NUMERI BINARI
0 x
0 =
0
1 x
0 =
0
0 x
1 =
0
1 x
1 =
1
Porte Logiche fondamentali ed universali
OPERATORI BINARI (o LOGICI, o BOOLEANI)
SOMMA
PRODOTTO
NEGAZIONE
32
Algebra booleana: logica binaria (a due stati)
A è una variabile booleana: A=1 oppure A=0
Funzioni logiche elementari per l’algebra
Booleana: OR, AND, NOT
Logica positiva: livello di tensione + elevato
corrisponde all’1 logico;
livello di tensione + basso
corrisponde allo 0 logico;
Logica negativa: livello di tensione + elevato
corrisponde allo 0 logico;
livello di tensione + basso
corrisponde all’1 logico.
Ingresso
A
Ingresso
B
Uscita
Y
0 0 0
0 1 1
1 0 1
1 1 1
A
B
La porta OR
Y A B
Tabella di verità
Corrisponde all’operatore SOMMA
Ingresso
A
Ingresso
B
Uscita
Y
0 0 0
0 1 0
1 0 0
1 1 1
A
B
Corrisponde all’operatore PRODOTTO
Y A B
La porta AND
A
Corrisponde all’operatore NEGAZIONE
Ingresso
A
Uscita
Y
0 1
1 0
Y A
La porta NOT
PROPRIETA’ FONDAMENTALI
A+0=A
A+1=1
A+A=A
A+A=1
A 0=0
A 1=A
A A=A
A A=0
A + A=1
A A=0
A=A
NOT AND OR
è una espressione logica (o Booleana) il cui
valore è funzione dei valori assunti dalla variabili
A, B, C
)( CBAY
A
B
C
Y
NOT
NOT
AND ( )
OR (+)
)( CBAY
Dal circuito alla tabella di verità
Leggi di De Morgan
a) prima legge di De Morgan
(X+Y) = X·Y
b) seconda legge di De Morgan
(X·Y) = X + Y
Ne consegue che una qualsiasi funzione logica può essere
implementata utilizzando:
o sole porte logiche OR e NOT
o sole porte logiche AND e NOT
La scelta ottimale dipende dalla tecnologia con cui vengono
integrate le porte logiche elementari
Teoremi dell’algebra di Boole (1)
1:
0)
:
)
0:
1)
11:
00)
XXDuale
XXd
XXXDuale
XXXc
XXDuale
XXb
XDuale
Xa
Teoremi dell’algebra di Boole (2)
ZYXZXYXDuale
vadistributiproprZYXZXYXh
ZYXZYXDuale
DeMorganteoremaZYXZYXg
ZYXZYXZYXDuale
assocproprZYXZYXZYXf
XYYXDuale
acommutativproprXYYXe
)()(:
_._)()
......:
__......)
)()(:
._._)()()
:
_._)
Teoremi dell’algebra di Boole (3)
)()()()(:
)
)(:
)
)()(:
_._)
)(:
'__)
YZXZYXZXZDuale
YZXZYXZXZl
YXYXXDuale
YXYXXk
XYXYXDuale
direttafusioneteorXYXYXj
XYXXDuale
inclusionedellteoremaXYXXi
Teoremi dell’algebra di Boole (4)
YXZXZXYXDuale
YXZXZXYXn
ZXYXZYZXYXDuale
ZXYXZYZXYXm
)()(:
)()()
)()()()()(:
)
Una qualsiasi funzione logica binaria
di cui sia nota la Tabella della verità, può essere espressa da:
a) somma di prodotti delle variabili binarie di ingresso
b) prodotto di somme delle variabili binarie di ingresso
,....),,( CBAFF
Tali espressioni costituiscono le cosidette
Forme canoniche della funzione
Forme canoniche
Esempio 1: esprimere come somma di prodotti fondamentali
la funzione logica
a tre variabili binarie
definita dalla
Tabella della Verità:
CBACBACBACBAF ········
A
B
F
C
0
0
0
0
0
0
1
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
0
1
1
1
1
0
1
1
0
1
Si considerino le sole combinazioni delle variabili binarie di ingresso corrispondenti
ad una uscita F di valore 1, e per queste sole si scrivano i prodotti delle variabili
(se 1) o dei loro negati (se 0).
Forma canonica della funzione logica definita dalla tabella della verità.
a) somma di prodotti
Esempio 2: esprimere come prodotto di somme fondamentali
la funzione logica
a tre variabili binarie
definita dalla
Tabella della Verità:
A
B
F
C
0
0
0
0
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
1
1
1
1
1
0
1
1
0
1
Si considerino le sole combinazioni delle variabili binarie di ingresso
corrispondenti ad una uscita F di valore 0, e per queste sole si
scrivano le somme delle variabili (se 0) o dei loro negati (se 1).
b) prodotto di somme
Forma canonica della funzione logica definita dalla tabella della verità
CBACBACBAF
Operatori logici universali
NAND = AND negato = AND con NOT in cascata
Altri operatori di conveniente impiego:
Tutti disponibili in forma integrata (Porte logiche)
NOR = OR negato = OR con NOT in cascata
XOR OR esclusivo
XNOR OR esclusivo negato
Operatore logico NOR(somma logica complementare o negata)convenzionalmente rappresentato dal simbolo di figura svolge la
somma logica negata delle variabili binarie evidenziata dalla tabella
B
AA+B
A B
0 0 10 1 0
1 0 0
1 1 0
A+B
Equivalente a:
NOTB
AA+B
NOR
OR
Operatore logico NAND (prodotto logico complementare o negato)convenzionalmente rappresentato dal simbolo di figura svolge il
prodotto logico negato delle variabili binarie evidenziato dalla tabella
NANDB
AA·B
A B
0 0 10 1 1
1 0 1
1 1 0
A·B
Equivalente a:
AND NOTB
AA·B
NAND e NOR sono operatori logici universali
Una qualsiasi funzione logica F(A,B,C,…) è implementabile
tramite opportune combinazioni:
• o di soli operatori logici NAND
• o di soli operatori logici NOR
Tramite soli operatori logici NAND (o analogamente NOR)
è possibile implementare i tre operatori logici fondamentali
AND, OR, NOT
Segue verifica per gli operatori NAND.
Analoga procedura si applica per gli operatori NOR
Esempio 1:
implementare l’operatore NOT mediante operatori NAND
A B=A
0 0 01 1 0
A·B
1
A·B
soluzione
NANDB=A
AA·A=A
1
Tabella della Verità
A B
0 0 10 1 1
1 0 1
1 1 0
A·B
00
0
1
A·B
Esempio 2:
implementare l’operatore AND mediante operatori NAND
Soluzione
NAND A·B
Tabella della Verità
NANDA
B
A·B
A B
0 0 10 1 0
1 0 0
1 1 0
A·B
01
1
1
A+B
Esempio 3:
implementare l’operatore OR mediante operatori NAND
Soluzione
A·B= A+B
Tabella della Verità
NAND
A
BB
A
01
1
1
A·B
De MorganNAND
NAND
Operatore logico XOR (Exclusive OR) convenzionalmente rappresentato dal simbolo di figura
confronta le variabili in ingresso e fornisce uscita 1 solo quando gli
ingressi sono fra loro differenti
B
A A B
0 0 00 1 1
1 0 1
1 0
XOR
1
Significato logico:
Se o A o B (non entrambi!) sono veri, anche F è vero
Funzione logica XOR
BABABAF
BA BA
Operatore logico XNOR convenzionalmente rappresentato dal simbolo di figura
confronta le variabili in ingresso e fornisce uscita 1 solo quando gli
ingressi sono fra loro uguali
A B
0 0 10 1 0
1 0 0
1 11
Significato logico:
Se entrambi A e B sono o veri o falsi, anche F è vero
Funzione logica XNOR
XNOR
B
ASAME FXNOR
ABBABAF
Dalla Tabella di verità al circuito logico
Mappe di Karnaugh
Sono una forma alternativa di rappresentazione di funzioni booleane. Una mappa per una funzione di n
variabili ha 2n caselle. La rappresentazione è comoda per n fino a 5.
Le caselle corrispondo alle 2n configurazioni di valori delle variabili secondo un ordine opportuno dove
l’adiacenza logica tra due configurazioni di valori delle variabili si riflette in un’adiacenza geometrica tra
due caselle con un lato in comune.
1
1
AB
ABABAY
1
1
AB
BABAY
celle adiacenti celle non adiacenti
I termini prodotto che scaturiscono da
una sintesi fatta con le mappe di K si
chiamano primi implicanti e devono
assicurare una copertura completa
della mappa.
1 1 1
1
ABC
0 1
0
1
0 1
0
1
00 01 11 10
0
1
BCACBCA
BCACBACBACBAY
1 1
1 1
AB
CD 00 01 11 10
00
01
11
10
ADY
Un elemento della tabella puo’
appartenere a più raggruppamenti
(elemento 000 nella tabella a
sinistra) che sono però sempre
espressione di una potenza di 2.
Questo consente di semplificare
ulteriormente l’espressione.
Rappresentazione della funzione logica binaria: ,....),,( CBAFF
A
B
F
C
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
Tabella della verità Mappa di Karnaugh
1
0
1
0 0
0 1
0
1
0
0 1 1 1 1 0
1
0
AB
In ognuna delle 2n caselle della Mappa di Karnaugh si riporta il valore assunto dalla
funzione F corrispondente alla combinazione delle n variabili di ingresso relativa
alla casella stessa (valore del mintermine).
C
CBACBACBACBAF
Rappresentazione della funzione logica binaria: ,....),,( CBAFF
A
B
F
C
0
0
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
Tabella della verità Mappa di Karnaugh
1
0
1
0 0
0 1
0
1
0
0 1 1 1 1 0
1
0
AB
In ognuna delle 2n caselle della Mappa di Karnaugh si riporta il valore assunto dalla
funzione F corrispondente alla combinazione delle n variabili di ingresso relativa
alla casella stessa (valore del mintermine).
C
CBACBACBACBAF
CBACACBF
Procedura di minimizzazione di funzioni logiche binarie
rappresentate mediante mappa di Karnough
• Sintesi di F minima come somma di prodotti logici.
Procedura:
a) raggruppare gli 1 contigui (in orizzontale o in verticale)
in sottogruppi di 1, 2, 4, 8, …
b) identificare il numero minimo di sottogruppi distinti, partendo
dai sottogruppi maggiori
b) con riferimento al sottogruppo:
escludere le variabili binarie che cambiano
considerare le sole variabili binarie che rimangono invariate come
variabile stessa se 1, variabile negata se 0
c) trascrivere il prodotto logico per ciascun sottogruppo
d) rappresentare la F come somma dei prodotti logici suddetti
F = BC
Esempio 1
1
0
0
0 0
0 1
0
0
0
0 1 1 01 1
1
0
AB
CA
B
F
C
0
0
0
0
0
0
0
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
Tabella della verità Mappa di Karnaugh
Individuo il sottogruppo (1 sottogruppo da 2)
individuo la variabile che cambia: A
trascrivo il prodotto delle variabili che rimangono invariate: BC
Funzione logica minima:
Procedura convenzionale: applico le regole della logica binaria
CABCBAF Forma canonica:
CBAACBCABCBAF essendo: 1 AA
Esempio 2
1
1
0
0 0
0 0
0
1
0
0 1 1 01 1
0
0
AB
C
Mappa di Karnaugh
Funzione logica minima:
CBF
Esempio 3
1
0
0
0 0
0 1
1
0
0
0 1 1 01 1
1
0
AB
C
Mappa di Karnaugh
Funzione logica minima:
BABCF
due sottogruppi da 2 celle, di cui uno verticale ed uno orizzontale
N.B.: le celle al bordo orizzontale o verticale si considerano fra loro contigue
0 1
1
1
0 0
0 0 1
1
0
1
0 1 1 01 1
0
0
AB
CD
0
0
0
0
0
1
0
0
1 1
1 0
Esempio 4Mappa di Karnaugh
F= A C + B C D + A B C DFunzione logica minima:
1 sottogruppo da 4: CA
1 sottogruppo da 2:
1 sottogruppo da 1: DCBA
B C D
0 1
1
1
0 0
0 0 1
1
-
0
0 1 1 01 1
0
-
AB
CD
0
0
-
0
0
1
0
0
1 1
1 0
Esempio 5 (comprese condizioni indifferenza)Mappa di Karnaugh
0 1
1
1
0 0
0 0 1
1
1
0
0 1 1 01 1
0
0
AB
CD
0
0
0
0
0
1
0
0
1 1
1 0
Esempio 5 (comprese condizioni indifferenza)Mappa di Karnaugh
F= A C + A B DFunzione logica minima:
1 sottogruppi da 4: A C
1 sottogruppo da 2: A B D
Possono esistere casi in cui alcune combinazioni di ingressi non sono lecite. In questi casi le
corrispondenti uscite sono indefinite. Questi casi possono essere sfruttati vantaggiosamente per
semplificare ulteriormente l’espressione algebrica.
Ad esempio consideriamo la funzione Y che identifica se una cifra decimale (rappresentata in
forma binaria), è pari.
A B C D Y
0 0 0 0 1
0 0 0 1
0 0 1 0 1
0 0 1 1
0 1 0 0 1
0 1 0 1
0 1 1 0 1
0 1 1 1
1 0 0 0 1
1 0 0 1
1 0 1 0 x
1 0 1 1 x
1 1 0 0 x
1 1 0 1 x
1 1 1 0 x
1 1 1 1 x
0
1
2
3
4
5
6
7
8
9
-
-
-
-
-
-
1 1 x 1
x
x x
1 1 x x
AB
CD 00 01 11 10
00
01
11
10
gli ingressi
corrispondenti a
queste uscite non
sono leciti
Possono esistere casi in cui alcune combinazioni di ingressi non sono lecite. In questi casi le
corrispondenti uscite sono indefinite. Questi casi possono essere sfruttati vantaggiosamente per
semplificare ulteriormente l’espressione algebrica.
Ad esempio consideriamo la funzione Y che identifica se una cifra decimale (rappresentata in
forma binaria), è pari.
A B C D Y
0 0 0 0 1
0 0 0 1
0 0 1 0 1
0 0 1 1
0 1 0 0 1
0 1 0 1
0 1 1 0 1
0 1 1 1
1 0 0 0 1
1 0 0 1
1 0 1 0 x
1 0 1 1 x
1 1 0 0 x
1 1 0 1 x
1 1 1 0 x
1 1 1 1 x
0
1
2
3
4
5
6
7
8
9
-
-
-
-
-
-
1 1 x 1
x
x x
1 1 x x
AB
CD 00 01 11 10
00
01
11
10
DY
gli ingressi
corrispondenti a
queste uscite non
sono leciti
Progetto logico
Data una funzione logica binaria, determinare una
possibile combinazione di Operatori logici che la
implementino
• Operatori logici elementari AND; OR; NOT
• Operatori logici universali NAND; NOR
La soluzione non è univoca: esiste una soluzione ottimale:
vincoli tecnologici ed economici
Progetto logico: procedura
• Descrizione funzionale della rete combinatoria
definizione della relazione logica fra l’uscita F e le variabili
binarie di ingresso A, B, C,...
• Rappresentazione tramite Tabella della verità
• Deduzione della funzione logica F(A, B, C,…) in forma canonica
(o somma di prodotti o prodotti di somme)
• Minimizzazione della funzione logica
o tramite le leggi elementari della logica binaria
o tramite le Mappe di Karnaugh
• Sintesi della funzione tramite Operatori logici
elementari (AND, OR, NOT) e/o universali (NAND, NOR)
• Descrizione funzionale della rete combinatoria
Esempio: date tre variabili binarie in ingresso A, B, C, si abbia:
F=A per C=0; F=B per C=1
• Rappresentazione tramite Tabella della verità
A
B
F
C
0
0
0
0
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
1
0
1
1
1
1
• Deduzione della funzione logica F(A, B, C,…) in forma canonica
Somma di prodotti:
Prodotto di somme:
CBACBACBACBAF
CBACBACBACBAF
BCCAAABCBBCA
ABCCABBCACBAF
• Minimizzazione della funzione logica
o tramite le leggi elementari della logica binaria
o tramite le Mappe di Karnaugh
1
0
0
0 0
0 0
1
1
0
0 1 1 01 1
1
1
AB
C
Mappa di Karnaugh
Funzione logica minima:
BCCAF
2 sottogruppi orizzontali da 2: AC, BC
• Sintesi della funzione tramite operatori logici elementari
(AND; OR; NOT)
A
B
C
B
NOTCOR
C
ACAND
F
AND
A
C
BC
A
B
C
BCCAF
• Sintesi della funzione tramite operatori logici universali
(NAND oppure NOR)
In questo esempio parto da forma SP, quindi uso il NAND:
A
B
C
NAND
AC
NAND
F
NANDBC
A
B
C
BCCABCCAF
top related