Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Le tabelle di verità prendono in considerazione tutte le possibili combinazioni degli
operandi e su cui opera l’operazione logica e riportano il risultato corrispondente.
a b
Tabella di verità della somma logica q = a + b:
• a b q
0 0 0
0 1 1
1 0 1
1 1 1
Questa operazione viene anche denominata OR per il fatto che l’uscita è eguale a 1 se
q
l’uno o l’altro (o tutti e due) gli ingressi e sono eguali a 1.
a b .
Tabella di verità del prodotto logico q = a b:
• a b q
0 0 0
0 1 0
1 0 0
1 1 1
Questa operazione viene anche denominata AND per il fatto che l’uscita è eguale a 1 se
q
l’uno e anche l’altro dei due ingressi e sono eguali a 1.
a b
Per completare l’algebra occorre anche definire l’operazione di o
inversione
(NOT) che nel caso binario trasforma lo 0 in 1 e viceversa e che viene
complementazione
indicata col simbolo . Ovviamente se si applica l’operazione di complementazione alla
a
somma si ottiene l’operazione (NOR) mentre se si complementa il prodotto si
q a b
= +
ottiene (NAND)
q a b
= ⋅
Nell’algebra binaria vi è essenzialmente un solo teorema, detto di De Morgan, che
collega la somma al prodotto. In parole semplici il suddetto teorema stabilisce l’equivalenza
purché a destra oppure a sinistra del segno di eguaglianza si effettui
tra somma e prodotto,
una complementazione completa di tutti i simboli che vi compaiono. Partendo allora dalla
, se si complementa a sinistra si ha:
relazione di equivalenza a b a b
+ ↔ ⋅
1° relazione di De Morgan
a b a b
+ = ⋅
se invece si complementa a destra si ha:
2° relazione di De Morgan
a b a b
+ = ⋅
La prima conseguenza delle relazioni di De Morgan è che l’operazione logica NAND si
può ritenere la base di tutta l’algebra binaria e dei circuiti elettronici che la realizzano.
Partendo infatti da un NAND si può realizzare la complementazione NOT semplicemente
. Allo stesso tempo si può
collegando insieme gli ingressi e Si ha infatti
a b. a b a a a
⋅ = ⋅ =
1 . La
ottenere il prodotto AND semplicemente complimentando un NAND e cioè a b a b
⋅ = ⋅
realizzazione della somma logica a mezzo di NAND infine, deriva direttamente dalla
seconda relazione di De Morgan.
Una volta accertata l’importanza fondamentale dell’operazione di NAND è essenziale
vedere come essa può essere realizzata mediante dispositivi elettronici. Questo si può
ottenere mettendo in serie due transistori, che fungono da interruttori aperti o chiusi, in
serie ad una batteria di alimentazione e ad un resistore R, come è indicato in fig. 1.
Fig. 1: Struttura realizzativa di un circuito logico NAND e suo simbolo.
Le tensioni e rappresentano i valori logici e mentre è l’uscita corrispondente
V V a b V
a b c
all’operazione NAND . Per essere considerata una tensione deve però
logica V
c a b
= ⋅
appartenere solamente a due intervalli di valori e precisamente corrisponde a 1
2.4 < V 5
≤
logico e corrisponde a logico. Ovviamente i valori compresi tra e
0 V < 0.8 0 0.8 2.4 volt
≤
sono proibiti e se si dovessero verificare, sono considerati segno di malfunzionamento del
circuito.
Tenuto allora conto di ciò, si vede che le tensioni di soglia dei due MOS utilizzati in fig.
1 debbono essere inferiori a volt onde consentire alle tensioni e di attivare il
2.4 V V
a b
canale anche quando i loro valori sono al limite inferiore. La corrente di drain che ne
consegue deve inoltre dare una caduta su R superiore a 4.2 volt in modo da garantire uno
zero logico in uscita quando entrambi i transistor conducono (ciò si verifica solo quando
sia che sono a livello logico 1). Ovviamente quando una o l’altra delle due tensioni
V V
a b
e è inferiore a volt (0 logico) il MOS corrispondente non conduce e la tensione
V V 0.8 V
a b out
assume valori prossimi a volt così da soddisfare alla tabella di verità del NAND.
+5
Naturalmente quanto detto vale per la logica attualmente più diffusa e precisamente
quella a 5 volt. Ultimamente il progresso tecnologico ha permesso l’introduzione di
logiche a più bassa tensione quali ad esempio la 3.3 volt e la 2.9 volt impiegate soprattutto
nei dispositivi portatili ed alimentati a batterie.
2
In fig. 1, oltre al circuito realizzativi è anche riportato il simbolo circuitale del NAND.
Allo stesso modo si assegnano alle operazioni di NOT, OR, NOR ed AND i simboli
riportati in fig. 2. Fig. 2: Simboli dei principali circuiti logici.
In fig. 2 appare anche il circuito logico XOR ovvero OR-Esclusivo che ha una funzione
importante nella realizzazione dei circuiti aritmetici, cioè quei dispositivi elettronici
preposti al calcolo della somma e della differenza tra due numeri. La tabella di verità dello
XOR coincide con quella dell’OR, ad esclusione (donde il nome) dell’ultima riga in cui al
posto dell’uscita 1 vi è lo 0:
Tabella di verità dell’OR-Esclusivo:
• a b q
0 0 0
0 1 1
1 0 1
1 1 0
E’ facile vedere che l’equazione dell’OR-Esclusivo è che, utilizzando il
( )
q a b a b
= + ⋅ ⋅
Teorema di De Morgan, si può porre nella forma alternativa .
q a b a b
= ⋅ + ⋅
Realizzazione di un dispositivo sommatore/sottrattore.
Si supponga di voler effettuare la somma tra due numeri ed posti in forma binaria.
N N
a b
A tale scopo si consideri il seguente caso pratico:
0 1 2
1 02 12 02
= + +
0 1 2
3 12 12 02
= + +
Sommando separatamente ciascuna coppia di potenze del 2 si ha:
3
. 0 . 0 0
(0+1) 2 = 0 2 per la potenza 2
. 1 . . 2 1
(1+1) 2 = 0 21 +1 2 per la potenza 2
. 2 . 2 . 2 2
(0+0) 2 + 1 2 = 1 2 per la potenza 2
La somma di ciascuna potenza da un risultato ottenibile secondo la logica dello XOR più
un resto, indicato in rosso, che si verifica solo quando entrambe le cifre da sommare sono 1
e si ottiene quindi con la logica AND. In altre parole la somma può essere fatta utilizzando
il circuito di fig. 3. Fig. 3: Struttura di un semi-sommatore.
Il circuito di fig. 3 non è però sufficiente, dato che pur creando il resto per la potenza
successiva, non è in grado di sommare un eventuale resto, proveniente dalla potenza
precedente. Il problema si risolve col circuito di fig. 4 che viene denominato perciò full-
adder. Fig. 4: Struttura di un full-adder (FA).
Nel (FA) si hanno due resti parziali che vengono trasformati nel resto
full-adder
complessivo da un OR. Analogamente la somma complessiva ottiene sommando
r s
i+1 i
prima i due coefficienti binari e e poi aggiungendo il resto precedente .
a b r
i i i
A questo proposito va notato che l’OR che somma i due resti parziali non sarebbe in
grado di operare correttamente se questi fossero entrambi eguali ad 1 (esso darebbe cioè
il che non è ovviamente corretto). Fortunatamente è facile vedere, esaminando
1+1=1,
come al solito tutti i casi possibili, che questa situazione non si verifica mai.
4
Utilizzando allora full-adder si può realizzare un sommatore completo per cifre
n
intere, come mostrato in fig. 5.
Fig. 5: Sommatore binario a cifre.
n
Procedendo in modo analogo a quanto visto finora per il sommatore, sarebbe possibile
realizzare un circuito logico che effettui l’operazione di differenza. Tuttavia per non
aumentare eccessivamente l’ingombro circuitale dei dispositivi aritmetici, si preferisce
utilizzare lo stesso sommatore di fig. 5 il quale, con qualche semplice modifica è in grado
di effettuare anche per il calcolo della differenza. n
Si supponga infatti di aggiungere alla differenza (N ) il termine . Poiché la
– N 2
1 2
n
potenza non viene presa in considerazione da un sommatore a cifre, si può dire che in
2 n
pratica vale la relazione :
n
( 2 )
N N N N
− = + −
1 2 1 2
Come si vede, in questo modo si è sostituita la differenza con una somma. Rimane tuttavia
n
il termine Fortunatamente quest’ultimo gode di una proprietà notevole che ne
(2 - N ).
2
permette il calcolo in modo semplice. Si consideri infatti la tabella seguente in cui sono
rappresentati in ordine crescente tutti i numeri rappresentabili a mezzo di 3 cifre binarie:
0 1 2 3 4 5 6 7
0 1 0 1 0 1 0 1
0 0 1 1 0 0 1 1
0 0 0 0 1 1 1 1
Tab.I: Relazione di antisimmetria nei numeri rappresentati con tre cifre binarie .
Si vede subito che vi è una corrispondenza tra il primo numero (cioè lo e l’ultimo
0)
numero (cioè il nel senso che l’uno si ottiene complementando le cifre binarie dell’altro
7), 3
e quindi si può scrivere . D’altra parte 7=2 -1-0 da cui segue la relazione
0 7
=
3 . Questo stesso ragionamento si può applicare anche alla coppia formata dal
0 ( 2 1
) 0
= − −
secondo numero (cioè l’1) e dal penultimo numero (cioè il 6) ottenendo ovvero
1 6
=
3 e via via per tutte le altre coppie di numeri e
(2,5) (3,4).
1 ( 2 1
) 1
= − −
Questa proprietà vale in generale ed infatti rifacendo il ragionamento con i numeri
rappresentati a mezzo di cifre binarie si ha la relazione:
n 5
n
( 2 1
)
N N
= − −
che può essere messa nella forma:
n
2 N N 1
− = +
Da quest’ultima segue infine:
1
N N N N
− = + +
1 2 1 2
In conclusione per fare la differenza tra due numeri basta sommare l’uno al complemento
dell’altro e aggiungere 1. Tutto ciò si può fare col sommatore/sottrattore di fig. 6 che
coincide col sommatore di fig. 5 a cui sono stati aggiunti degli XOR come
complementatori.
Fig. 6: Sommatore/sottrattore (C fa la somma, fa la differenza).
= 0 C = 1
Volendo fare la somma basta porre a 0 il bit di controllo per cui tutti i bit della seconda
C
cifra transitano inalterati attraverso gli XOR. Quando invece si vuol fare la differenza, C
viene posto a 1 con il risultato che la seconda cifra viene complementata dagli XOR ed
inoltre viene aggiunto un resto iniziale r = 1.
0
Ovviamente quando si fa una differenza si può ottenere un risultato sia positivo che
negativo. Il dato ottenuto coincide allora col valore vero (N se . Se invece
- N ) N > N N <
1 2 1 2 1
n
il risultato (numero negativo) appare nella forma )] che viene denominata
N [2 - ( N - N
2 1 2
È facile inoltre verificare che per distinguere se il risultato ottenuto è in
complemento a 2.
forma vera o complimentata a 2 basta controllare se è presente o meno un resto r = 1
n
nell’ultimo full-adder .
I flip-flop.
Si tratta di dispositivi logici bistabili che possono cioè commutare da una particolare
configurazione ad un’altra fornendo così la base per le memorie statiche, i contatori e i
registri di scorrimento. Essi dispongono di morsetti di ingresso ai quali vengono applicati
dei livelli logici (0 o 1) che condizionano lo stato ovvero l’uscita del Flip-Flop stesso.
Normalmente gli ingressi si suddividono in e Gli ingressi asincroni
sincroni asincroni.
agiscono immediatamente sullo stato dell’uscita, settandola a 1 o resettandola a 0. Quelli
sincroni agiscono invece in concomitanza con un ingresso ausiliario, detto di clock. Il clock
è normalmente un’onda quadra a frequenza fissa che varia dallo 0 logico all’ 1 logico e
6
viceversa e permette agli ingressi sincroni di agire sull’uscita del Flip-Flop solo al
compiersi di ciascun periodo, introducendo così una sincronizzazione nel flusso dei dati
binari molto utile nelle applicazioni.
Il Flip Flop R/S
Questo è l’esempio più semplice di Flip-Flop: esso possiede un’unica coppia di ingressi (R
ed S) di tipo asincrono oltre a due uscite che però assumono sempre l’una lo stato opposto
. La sua struttura è mostrata in fig. 7, insieme alla
dell’altra, onde il nome e
Q Q
corrispondente tabella di verità.
Fig. 7: Flip-Flop R/S e sua tabella di verità.
Esso viene denominato R/S perché il suo stato logico può essere posto a 0 o a 1 (cioè
inviando una coppia o sugli ingressi ed Esaminando la
Resettato o Settato) (1,0) (0,1) R S.
tabella di verità si vede che quando gli ingressi sono entrambi a livello logico 1 il Flip-Flop
mantiene lo stato precedente. Per questo motivo la situazione è detta fase di
R=S=1
memorizzazione.
I Flip-Flop Master/Slave.
Vengono realizzati utilizzando una coppia di Flip Flop R/S collegati tra di loro da porte
NAND che vengono alternativamente aperte e chiuse da una forma d’onda di comando,
denominata Gli ingressi in questo caso sono di tipo sincrono in quanto condizionano
clock.
lo stato dell’uscita (Slave) solo al compiersi di un ciclo di clock.
Si possono normalmente avere due tipi di Flip-Flop Master/Slave e precisamente il tipo