LOGICA COMBINATORIA CIRCUITI SOMMATORI

Transcript

LOGICA COMBINATORIA CIRCUITI SOMMATORI
LOGICA COMBINATORIA
Viene definita logica combinatoria quella in cui lo stato
delle uscite è, in ogni istante, funzione soltanto dello
stato degli ingressi in quell’istante. L’output dei circuiti
combinatori non dipende dallo stato in cui si trova il
sistema al momento dell’applicazione degli ingressi.
CIRCUITI SOMMATORI
• Half - Adder
• L’Half - Adder accetta in
ingresso due input binari e
produce due output: il bit
somma (Sum) ed il bit
riporto (Cout). Per le regole
della somma logica si avrà:
Half - Adder
A
B
Cout
Sum
– Sum = A ⊕ B
– Cout = A ∗ B
• Lo schema logico dell’Half Adder è disegnato in Figura.
El. Digitale - a.a. 04/05
149
CIRCUITI SOMMATORI /2
•
•
•
•
Full - Adder
Il Full - Adder ha tre ingressi: i
due bit da sommare (A e B) ed un
riporto (Cin).
Gli output sono uguali all’Half Adder, cioè la somma (Sum) ed il
riporto (Cout). La presenza del
riporto in ingresso si spiega con la
possibilità di collegare N Full Adder in serie per ottenere Full Adder a N bit.
La logica del dispositivo è la
seguente:
Full - Adder
A
B
Sum
Cin
Cout
A
B
a
Cout
Half A
b
Sum
Cout
– Sum = (A ⊕ B) ⊕ Cin
– Cout = A ∗ B + (A ⊕ B) ∗ Cin
•
a
Cout
Half A
Sum
b
e il conseguente schema logico è Cin
rappresentato in Figura.
Si può descrivere il FA utilizzando la
definizione di HA.
Sum
El. Digitale - a.a. 04/05
150
DECODER
•
•
•
La funzione base di un decoder
è quella di rilevare la presenza
di una specifica combinazione di
bit (codice) in input e di
indicarne la presenza attraverso
un determinato livello di output.
Nella sua forma più generale, il
decoder ha N input per gestire
gli N bit del codice in ingresso e
da 1 a 2n output per descrivere
la presenza di una o più
combinazioni di N bit.
In Figura è presentato lo
schema logico di un decoder 2 a
4 bit.
El. Digitale - a.a. 04/05
DECODER
En
Y0
Y1
B
Y2
Y3
A
Y1 Y2 Y3
A
B
Y0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
0
0
151
DECODER /2
•
I decoder sono utilizzati in
moltissime applicazioni. Un
esempio è la selezione
input/output nei computer. I
computer debbono infatti
comunicare con una determinata
varietà di periferiche inviando e/o
ricevendo dei dati attraverso dei
dispositivi noti come porte
input/output (I/O). Le periferiche
comprendono stampanti, modem,
scanner, hard-disk esterni,
tastiere, monitor e altri computer.
Come indicato in figura il decoder
è utilizzato per selezionare la
porta I/O indicata dal computer
così da poter ricevere o inviare i
dati dalla periferica specificata.
•
Ogni porta I/O possiede un
numero, denominato indirizzo,
che la identifica univocamente.
Quando il computer vuole
comunicare con una
determinata periferica produce
il codice dell’indirizzo della porta
I/O al quale la periferica è
connessa. L’indirizzo binario
della porta è fornito in input al
decoder e l’output
corrispondente viene attivato
per abilitare la porta I/O.
El. Digitale - a.a. 04/05
152
DECODER /3
•
•
•
Come mostrato in
Figura l’informazione
binaria è trasferita su
un bus di dati, che è
un set di fili paralleli.
Esempio: un bus di
8-bit consiste in 8 fili
paralleli che
trasferiscono un byte
di dati alla volta.
Il bus è connesso a
tutte le porte I/O, ma
ogni dato in transito
passerà attraverso la
porta soltanto se
questa è abilitata dal
decoder.
El. Digitale - a.a. 04/05
Processore
Stampante
I/O
Data bus
Enable
Tastiera
I/O
Enable
Indirizzo
porte I/O
A0
A1
A2
A3
Richiesta I/O
BIN / DEC 0
1
2
3
4
5
1
6
2
7
8
4
9
8
10
11
12
13
&
14
15
Enable
Monitor
I/O
Enable
Modem
I/O
Enable
Porte I/O
non
utilizzate
Scanner
I/O
Enable
Hard Disk
I/O
Enable
Decoder di indirizzo di porta
153
DECODER BINARIO – 7 SEGMENTI
• Il decoder Binario - 7
segmenti accetta un codice
binario nei suoi quattro
ingressi e in uscita comanda
l’accensione di un display a 7
segmenti per la
visualizzazione decimale del
numero binario in ingresso.
1
1
0
2
1
4
0
8
a
1
b
0
c
1
d
1
e
0
f
1
g
1
a
f
b
g
e
c
d
El. Digitale - a.a. 04/05
154
ENCODER
•
•
•
Un encoder è un circuito logico
combinatorio che svolge la
funzione inversa del decoder.
Questo dispositivo rileva in input
una digitazione decimale e lo
converte in un output binario.
Gli encoder vengono utilizzati per
tradurre in codice binario anche
simboli e caratteri alfabetici.
Un esempio classico di
applicazione di questo dispositivo
è il keyboard encoder. I dieci
tasti decimali sulla tastiera del
computer, ad esempio, debbono
essere codificati per essere
processati nel circuito logico.
Quando un tasto viene premuto,
la digitazione decimale è
codificata nell’equivalente
binario.
El. Digitale - a.a. 04/05
•
•
•
Priority encoder
Questo tipo di encoder svolge le
stesse funzioni di codifica degli
encoder precedentemente
descritti. Inoltre, questo
dispositivo può essere utilizzato
nelle applicazioni che richiedono il
rilevamento di una priorità.
La funzione di priorità significa
che l’encoder produrrà un output
binario corrispondente all’ingresso
decimale attivo con valore più
alto, ignorando ogni altro input
attivo più basso. Ad esempio, se
gli input 3 e 6 sono entrambi
attivi, il codice binario in uscita
sarà 0110 (che corrisponde al
numero decimale 6).
155
ENCODER /2
ENCODER
1
A0
2
A1
3
Input
decimale
4
A2
5
Output
binario
6
7
A3
8
9
El. Digitale - a.a. 04/05
156
MULTIPLEXER
•
•
•
•
Il multiplexer (MUX) è un
Segnali di
dispositivo che permette
selezione
d’instradare l’informazione digitale
da sorgenti differenti verso un filo
singolo perché venga trasmessa
verso una destinazione comune.
in
Il multiplexer di base è composto Dati
input
da un determinato numero di porte
in input e da una singola porta
output.
In ingresso vi sono i segnali da
selezionare e alcuni segnali che
regolano la selezione, che
permettono cioè lo switch di uno
dei segnali digitali in ingresso verso
la porta output.
Tabella di selezione che determina
il valore dell’output dello schema.
El. Digitale - a.a. 04/05
MUX
S0
S1
D0
D1
Y
D2
Output
selezionato
D3
S0 S1
0
0
1
1
0
1
0
1
Y
D0
D1
D2
D3
157
APPLICAZIONE DI MULTIPLEXER
•
•
•
•
Costruzione di display a 7
segmenti con un numero di cifre
visualizzate maggiore di 1.
Nel caso di display a 2 cifre un
multiplexer a 8 ingressi riceve in input
due codici binari (A3, A2, A1, A0) e
(B3, B2, B1, B0).
Un segnale d’onda quadra è collegato
all’ingresso, in questo caso singolo, di
selezione del multiplexer. Quando il
segnale d’onda è basso i bit A entrano
in input al decoder binario - 7
segmenti.
Il segnale d’onda è collegato anche ad
un altro dispositivo che, con livello
basso, determina l’attivazione della
prima cifra del display e la
visualizzazione della cifra decimale
corrispondente al codice (A3, A2, A1,
A0).
•
•
Nell’istante successivo il segnale
d’onda è alto ed il multiplexer lascia
passare il codice (B3, B2, B1, B0)
verso il decoder BCD - 7 segmenti.
Contemporaneamente il dispositivo
di attivazione del display riceve il
segnale basso dell’onda quadra e
attiva la seconda cifra del display ed
il numero corrispondente viene
visualizzato a fianco del primo. Il
ciclo si ripete alla frequenza del
segnale d’onda.
El. Digitale - a.a. 04/05
158
APPLICAZIONE DI MULTIPLEXER /2
BCD - 7segmenti
MUX
a
selezione
A0
B0
A1
B1
A2
B2
A3
B3
1
b
c
2
d
4
8
e
f
g
a
f
g
e
d
El. Digitale - a.a. 04/05
a
b
f
c
e
g
b
c
d
159
DEMULTIPLEXER
• Il demultiplexer (DEMUX)
effettua la funzione inversa
del multiplexer.
• Questo dispositivo riceve un
segnale da una sola porta e,
in base al valore dei segnali
di selezione lo distribuisce ad
una delle porte di uscita.
Dato in
input
Y
D0
D1
Segnali di
selezione
S0
S1
El. Digitale - a.a. 04/05
Dati in
output
D2
D3
160