Sei sulla pagina 1di 13

Variabili logiche e circuiti combinatori

Si definisce variabile logica binaria una variabile che pu assumere solo due valori a cui si fa corrispondere,
convenzionalmente, lo stato logico 0 e lo stato logico l. Una variabile logica pertanto un segnale binario in
quanto nella variazione dello stato logico insita l'informazione.
La posizione di un interruttore, che pu essere aperto (off) o chiuso (on), con la conseguente assenza o
presenza di corrente, rappresenta una variabile logica; una tensione di tipo binario, che pu assumere solo
due valori, quello alto (H = high) o quello basso (L = low), un altro esempio di variabile logica.
Se si hanno due variabili logiche A e B, queste sono combinabili in quattro modi diversi (00-01-10-11). In
generale, detto n il numero delle variabili, le combinazioni sono 2n.
Circuiti combinatori
Si tratta di circuiti che presentano, in generale, pi ingressi e pi uscite, a ognuna delle quali corrisponde
una variabile logica binaria.
A ogni combinazione delle variabili logiche in ingresso, presente in un dato istante, corrisponde, nello stesso
istante, una ben determinata combinazione delle variabili logiche in uscita. In altri termini, noto lo stato
logico degli ingressi noto anche quello delle uscite nello stesso istante.
La funzione logica di un circuito combinatorio, ovvero il legame ingressi-uscite dello stesso, esprimibile
attraverso una tabella della verit, che riporta per ogni combinazione degli ingressi la corrispondente
combinazione delle uscite. La funzione logica di un circuito pu essere descritta in forma sintetica, oltre che
tramite una tabella della verit, attraverso una o pi espressioni logiche che sfruttano le regole dellalgebra di
Boole.

A
B
C

Circuito
Combinatorio

a) Generico circuito combinatorio

ABC
000
001
010
011
100
101
110
111

Y
1
0
1
0
1
0
1
1

b) Esempio di tabella della verit nel caso di tre ingressi ed una uscita

Algebra di Boole
L'algebra booleana fu ideata da George Boole (1815-1864) per la soluzione di problemi logici, come la verit o la falsit
di affermazioni conseguenti ad altre secondo determinate regole. Le variabili booleane a cui corrispondono le
affermazioni vere/false sono variabili binarie e possono facilmente adattarsi al livello alto o basso di una tensione o a un
interruttore aperto o chiuso. Pertanto l'algebra booleana, con la sostituzione dell'affermazione vera/falsa con i valori 1/0,
ben si adatta all'elettronica digitale binaria. L'algebra di Boole si basa sui seguenti assiomi:

1 1 = 1

0+0 =0

1 0 = 0

0 +1 = 1

0 1 = 0

1+ 0 = 1

00 = 0

1+1 = 1

1= 0

0 =1

L'operatore () detto operatore di prodotto logico (AND).


L'operatore (+) detto operatore di somma logica (OR).
Loperatore ( ) detto operatore di complementazione logica (NOT).
Questi assiomi vanno accettati nella logica booleana e quindi non si devono interpretare secondo le regole
matematiche abituali (sarebbe in questo caso assurdo porre 1 + 1 = 1).
Un'interpretazione circuitale a questi assiomi pu essere data per mezzo della seguente figura:

Sfruttando le regole di quest'algebra possibile esprimere, in forma sintetica, la funzione logica di un


qualunque circuito, attraverso una sua espressione logica. Ad esempio l'espressione
Y = AB +C

soddisfa la tabella della verit precedente (per verificarlo basta applicare a ogni possibile combinazione degli
ingressi gli assiomi booleani).
Dualit
Se una espressione logica vera, ovvero soddisfa gli assiomi di Boole, anche la sua duale vera.
Infatti, la prima colonna degli assiomi booleani sostituibile alla seconda se si scambia l'operatore AND con
l'operatore OR, ogni 1 con uno 0 e ogni 0 con un 1 e, viceversa, possibile passare dalla seconda colonna
alla prima. Questa propriet detta della dualit ed valida per ogni espressione logica vera.
Propriet e teoremi dell'algebra di Boole
Propriet:

A+B = B+A
AB = BA
(A+B)+C = A+(B+C)
(AB)C = A(BC)
(AB) + (AC) = A(B + C)
(A + B)(A + C) = A + (BC)

propriet commutativa
propriet associativa
propriet distributiva

Teoremi:
A+1=1
A0 = 0

teorema di annullamento

A+0=A
Al = A

teorema di identit

A+ A =1

teorema dei complementi

A A = 0
A +A = A
AA = A

teorema di idempotenza

A+(AB) = A

primo teorema dell'assorbimento

A(A + B) = A

)
A (A + B ) = A B

A + A B = A + B
secondo teorema dell'assorbimento

A + B = A B

teorema di De Morgan

A B = A + B

Grazie alla dualit tutte le propriet e tutti i teoremi sono esprimibili per mezzo di due relazioni.
Teorema di Shannon
Una estensione del teorema di De Morgan il teorema di Shannon che afferma che il complemento di una
espressione logica ottenibile complementando le singole variabili e scambiando tra loro le operazioni di
somma e prodotto.
Questi teoremi sono tutti facilmente dimostrabili semplicemente verificandone la validit per ognuna delle
possibili combinazioni delle variabili logiche (per la dualit basta ovviamente verificare per ogni teorema
una sola espressione).
Esempio: De Morgan.
A

A+B

A+ B

A B

0
0
1
1

0
1
0
1

0
1
1
1

1
0
0
0

1
1
0
0

1
0
1
0

1
0
0
0

Tali teoremi possono anche essere dimostrati per deduzione ossia provando l'identit dell'espressione
mediante l'applicazione successiva di altri teoremi o propriet.
Esempio:
nel caso del primo teorema dell'assorbimento, raccogliendo la A si ottiene A + (AB) = A(1 + B),
ma poich (1 + B) vale 1 per il teorema dell'annullamento e A1 vale A per il teorema d'identit.

Funzioni logiche primarie


I circuiti capaci di svolgere le operazioni logiche assiomatiche AND OR - NOT realizzano delle funzioni
logiche primarie in quanto, combinando opportunamente pi circuiti di questo tipo, possibile realizzare una
funzione logica comunque complessa.
Funzione logica AND

La funzione logica AND: simbolo classico (a), simbolo secondo le norme ANSI/IEEE (b) e tabella della
verit (c).
Osservando la tabella, si pu notare che l'uscita a l solo se tutte le entrate sono a 1.
Funzione logica OR

La funzione logica OR: simbolo classico (a), simbolo secondo le norme ANSI/IEEE (b) e tabella della verit
(c).
Dalla tabella della verit si nota che in questo caso si ha 1 in uscita ogni volta che si ha l in uno degli
ingressi.
Funzione logica NOT
La funzione logica NOT realizza l'assioma della complementazione e quindi se l'ingresso 1, l'uscita 0 e
viceversa.

Funzione logica NOT: simbolo classico (a), simbolo ANSI/IEEE (b) e tabella della verit.

Il problema della minimizzazione


Una certa funzione logica pu essere ottenuta con diverse soluzioni circuitali, a ognuna delle quali
corrisponde una diversa espressione logica; in linea generale, la soluzione circuitale migliore quella a cui
corrisponde l'espressione logica minima, ovvero realizzabile con il numero minimo possibile di funzioni
logiche primarie. Per minimizzare una espressione logica si possono applicare le propriet dell'algebra di
Boole, anche se si tratta di una tecnica "per tentativi" non sempre agevole da utilizzare.
Esempio di minimizzazione:

Y = ABC + AB + AC = AC (B + 1) + AB = AC + AB
Dove si applicata rispettivamente la propriet distributiva, il teorema dellannullamento e quello di
identit.

) (

Y = AB + AB + AB + AB = A B + B + A B + B = A + A = 1
Dove si applicata rispettivamente la propriet distributiva, il teorema dei complementi e quello
didentit.

Altre funzioni logiche


La funzione NAND
Un NAND facilmente ricavabile facendo seguire a un AND un NOT, le uscite sono i complementi di
quelle di un AND.

Funzione logica NAND: simboli, equivalenza logica e tabella della verit.


La funzione NOR
Tale funzione si ottiene facendo seguire un NOT a un OR. In questo caso le uscite sono i complementi delle
corrispondenti di un OR.

Funzione logica NOR: simboli, equivalenza logica, tabella della verit.

La funzione OR esclusivo (EX-OR)


L'OR esclusivo a due ingressi un circuito capace di riconoscere se due ingressi sono diversi (uscita = 1) o
sono uguali (uscita = 0).

EX-OR: simbolo classico (a), ANSI/IEEE (b) e tabella della verit (c).
Ad esclusione della quarta combinazione, la tabella della verit corrisponde a quella di un OR a due ingressi.
Per un numero di ingressi qualsiasi n si pu verificare che un'operazione di OR esclusivo fornisce l'uscita a l
se dispari il numero di l in ingresso, fornisce invece 0 in uscita se il numero di l pari.
Volendo anche possibile definire la EX-NOR, ottenibile facendo seguire a un EX-OR un NOT; questa
funzione anche detta funzione coincidenza (Y = l se gli ingressi sono uguali).

EX-NOR: simbolo classico (a), ANSI/IEEE (b) e tabella della verit (c).

Gruppi universali
I circuiti AND-OR-NOT costituiscono, nel loro insieme, un gruppo universale in quanto combinando
opportunamente queste funzioni primarie possibile ottenere qualunque funzione logica, comunque
complessa.
Anche i gruppi AND-NOT e OR-NOT sono universali, di conseguenza i NAND da soli gi costituiscono un
gruppo universale e cos pure i NOR. Per dimostrare quest'ultima affermazione basta verificare che tutte e tre
le funzioni primarie sono ottenibili con solo NAND o solo NOR.

Forme canoniche
Data una espressione logica possibile minimizzarla e risalire al corrispondente circuito; procedendo in
modo inverso ovviamente possibile, noto il circuito, ricavare la sua corrispondente espressione logica.
Vediamo, per, come nota la tabella della verit sia possibile risalire da questa a una espressione logica che
la soddisfi, da cui ricavare il circuito.

Prima forma canonica


Supponiamo di volere realizzare una rete combinatoria che soddisfi la seguente tabella della verit:
ABC
000
001
010
011
100
101
110
111

Y
1
1
0
0
1
0
1
0

Consideriamo inizialmente le combinazioni degli ingressi a cui corrisponde un l in uscita e scriviamo per
ognuna di queste un'espressione capace di dare l solo in corrispondenza della combinazione di ingresso
scelta:
combinazione 000:
combinazione 100:
combinazione 001:
combinazione 110:

Y = A B C
Y = A B C
Y = A B C
Y = A B C

Possiamo osservare che ogni espressione logica stata ottenuta facendo il prodotto delle tre variabili prese
complementate se valgono 0 e non complementate se valgono l. Questi singoli prodotti sono detti
mintermini.
Se ora si vuole ricavare l'espressione che soddisfa la tabella delle verit, basta sommare i mintermini; cos
facendo avremo l in uscita ogni volta che si verificher una delle quattro combinazioni desiderate, negli altri
casi l'uscita sar 0:

Y = A B C + A B C + A B C + A B C
Questa espressione detta prima forma canonica.
Generalizzando si pu affermare che una generica espressione logica, a n variabili di ingresso e una di uscita,
sempre esprimibile nella forma canonica somma di mintermini; questi ultimi sono tanti quante le
combinazioni degli ingressi a cui corrisponde l in uscita e sono caratterizzati dal fatto di contenere tutte le
variabili di ingresso tra loro moltiplicate, prese complementate se valgono 0 o non complementate se
valgono l.
La prima forma canonica non per, in generale, una espressione minima, perci si dovr procedere ad una
possibile semplificazione.
Seconda forma canonica

Riferendoci sempre alla precedente tabella della verit possiamo ora procedere nel modo seguente:
individuato gli 0 in uscita si scrivono le espressioni capaci di dare 0 solo in corrispondenza della
combinazione considerata; queste espressioni logiche vengono dette maxtermini e si ottengono sommando le
tre variabili, prese complementate se valgono l e non complementate se valgono 0. L'espressione che si
ottiene facendo il prodotto logico di tutti i maxtermini soddisfa la tabella della verit ed detta seconda
forma canonica

)(

)(

)(

Y = A+ B+C A+ B+C A+ B+C A+ B+C

)
7

Generalizzando si pu dire che una generica espressione logica a n variabili di ingresso e una di uscita,
sempre esprimibile nella forma canonica prodotto di maxtermini; questi ultimi sono tanti quante le
combinazioni degli ingressi a cui corrisponde 0 in uscita e sono caratterizzati dal fatto di contenere tutte le
variabili in ingresso tra loro addizionate, prese complementate se valgono l o non complementate se valgono
0.
Anche la seconda forma canonica non in linea generale minima.
In conclusione ogni circuito combinatorio a un'uscita sempre esprimibile attraverso due diverse forme
canoniche, eventualmente minimizzabili.

Le mappe di Karnaugh
Abbiamo visto come sia possibile effettuare la minimizzazione usando le regole dell'algebra di Boole, anche
se tale operazione non sempre risulta agevole ed intuitiva.
Un metodo sistematico che offre il vantaggio di essere particolarmente semplice e comodo e permette di
arrivare partendo dalla tabella della verit o (e ci fa lo stesso) da una espressione canonica a espressioni
minime del tipo somma di prodotti o del tipo prodotti di somme dato dalle mappe di Karnaugh che risulta
particolarmente agevole per un numero di variabili non superiore a quattro.
Karnaugh presuppone di conoscere la tabella della verit (o una forma canonica); tramite questa si costruisce
una mappa che ne , in forma diversa, un equivalente
Ogni mappa contiene un numero di caselle pari alle 2n combinazioni delle n variabili dingresso. Le caselle
con un lato in comune sono dette adiacenti; si devono considerare tali anche le caselle alle estremit opposte,
come se la mappa si richiudesse su se stessa.
Le caselle devono essere disposte in modo che passando da una qualsiasi di queste a una sua adiacente, lungo
una riga o una colonna, cambi il valore di una sola variabile (, in effetti, tale condizione che stabilisce
ladiacenza o meno di due caselle assumendo cos un significato non solo geometrico).
Per rappresentare una funzione logica con una mappa, se si fa riferimento alla prima forma canonica, si
scrive l nelle caselle che corrispondono alle combinazioni delle variabili di ingresso per le quali la funzione
vale l, e nelle caselle lasciate vuote si sottintendono gli 0. In modo analogo si scrivono solo gli 0 se si fa
riferimento alla seconda forma canonica.
Per comprendere il metodo si supponga di dovere minimizzare la seguente funzione espressa nella prima
forma canonica:

Y = ABC + ABC + ABC


Ricordando la definizione di mintermine si vede che le combinazioni degli ingressi a cui corrisponde 1 in
uscita sono: 110-111-011
Una volta individuate queste combinazioni facile costruire la mappa:
00

C\AB
0
1

01
1

11
1
1

10

Consideriamo il raggruppamento indicato con il tratteggio di colore blu: a questi due 1 nella funzione
canonica corrisponde la somma:

Y = ABC + ABC = AB C + C = AB

Possiamo notare che nel raggruppamento considerato A e B non variano spostandosi da una casella all'altra,
mentre C che varia corrisponde alla variabile semplificata.

Analogamente, al raggruppamento indicato con il tratteggio di colore rosso corrisponde la semplificazione:

Y = ABC + ABC = BC A + A = BC
Anche in questo caso la variabile eliminata quella che varia passando da una casella all'altra. In
conclusione la minimizzazione porta alla seguente funzione:
Y = AB + BC
A questo risultato si arrivati considerando il mintermine ABC due volte, questo sempre possibile in
quanto, per il teorema di idempotenza, la somma di pi mintermini uguali non altera la funzione logica.
Come minimizzare con una mappa di 1
Riassumendo, la minimizzazione con le mappe di Karnaugh, qualora siano evidenziati gli 1, si effettua nel
seguente modo:
a) si individuano tutti i possibili raggruppamenti rettangolari di 1 adiacenti, che ne contengano il maggior
numero possibile, ma sempre in quantit potenza del 2 (l-2-4-8-16);
b) si sceglie il minimo numero di raggruppamenti possibile per considerare tutti gli 1 della mappa almeno
una volta;
c) a ogni raggruppamento si fa corrispondere un prodotto delle sole variabili che hanno lo stesso valore in
tutte le caselle; queste variabili vanno complementate se valgono 0 e non complementate se valgono 1 (le
variabili che cambiano valore spostandosi da una casella allaltra dello stesso raggruppamento vanno
semplificate);
d) l'espressione minima pari alla somma dei termini ricavati al punto c).
Esempio:
Realizzare un circuito in forma minima che soddisfi questa tabella.
ABC
000
001
010
011
100
101
110
111

Y
1
0
1
1
1
1
0
0

La funzione canonica risulta:

Y = ABC + ABC + ABC + ABC + ABC


C\AB
0
1

00
1

01
1
1

11

10
1
1

La forma minima risulta essere:

Y = AB + AB + BC

Oppure equivalentemente:
C\AB
0
1

00
1

01
1
1

11

10
1
1

Per cui abbiamo

Y = AC + AB + AB
Nella figura seguente sono riportate due possibili soluzioni tra loro equivalenti:

Esempio:
C\AB
0
1

00
1

01
1
1

11
1

10
1
1

Y = C + AB + A B
Come minimizzare con una mappa di 0
In modo del tutto analogo si procede evidenziando gli 0:
a) si individuano tutti i possibili raggruppamenti rettangolari di 0 adiacenti, che ne contengano il maggior
numero possibile, ma sempre in quantit potenza del 2;
b) si sceglie il minimo numero di raggruppamenti necessari, per considerare tutti gli 0 almeno una volta;
c) a ogni raggruppamento si fa corrispondere una somma delle sole variabili che hanno lo stesso valore in
tutte le caselle; le variabili vanno complementate se valgono l e non complementate se valgono 0;
d) l'espressione minima il prodotto dei termini ricavati al punto c).
Esempio:
CD\AB 00
00
01
11
10

01

11

0
0

0
0

10
0
0

)(

Y = B+ D A+ B+ D

)
10

Caso con pi di quattro variabili


Con opportuni accorgimenti possibile estendere il metodo anche a funzioni logiche con pi di quattro
variabili. Per esempio, nel caso di cinque variabili si possono considerare due sottomappe riferite alle
variabili A, B, C, D, una con E = 0 e una con E = 1. I raggruppamenti nelle sottomappe vengono realizzati al
solito modo, ma bisogna tener presente che gli 1 occupanti le stesse posizioni nelle due sottomappe vanno
considerati adiacenti (infatti varia solo E). In pratica, si deve immaginare le due sottomappe sovrapposte in
trasparenza.
In sintesi:
1. Per realizzare il circuito combinatorio corrispondente a una tabella della verit necessario ricavare
un'espressione logica che la soddisfa: la prima e la seconda forma canonica sono le espressioni pi
facilmente ricavabili da una tabella della verit e che la soddisfano.
2. Se l'espressione logica non minima, prima di procedere alla realizzazione del circuito corrispondente
conviene minimizzarla.
3. La minimizzazione tramite l'applicazione delle regole dell'algebra di Boole pu risultare difficile e
comunque scomoda; pi adatto pu risultare (fino a 6 variabili) l'uso delle mappe di Karnaugh.
4. Se in una tabella della verit esistono delle condizioni di indifferenza (se per una o pi combinazioni
dingresso sia indifferente che luscita risulti 0 o 1), queste vanno usate in modo da ottimizzare la
minimizzazione.

Laboratorio
Si propone la verifica sperimentale della tabella della verit di un NAND a due ingressi.
Strumenti e materiali necessari:
Alimentatore stabilizzato;
IC 7400 (oppure IC 4011), due resistori da 1 kOhm, un resistore da 100 Ohm, un LED;
Bread-board.
Fasi operative:
Realizzazione del circuito, come da piano di montaggio seguente;
Taratura dellalimentatore e collegamento al circuito;
Verifica sperimentale della tabella di verit.

Circuito per la verifica della tabella della verit di una NAND, visualizzazione del livello alto.

11

Esercizi di verifica

Cosa si intende per circuiti combinatori?


I circuiti logici AND-OR-NOT costituiscono, nel loro insieme, un gruppo universale. Cosa intendiamo
con questaffermazione e quali altri gruppi universali conosci?
Per cosa utili la minimizzazione?
Minimizzare usando lalgebra di Boole, le seguenti espressioni logiche:

Y = AB + AB + AB + AB;
Y = A(B + C ) + ABC + AB + C.

Si proponga una realizzazione circuitale, con soli NAND, della seguente espressione logica:

y = A B + B C + B C D

Data la seguente tabella della verit, si ricavino le corrispondenti forme canoniche (I et II),
proponendone per ognuna di esse una realizzazione circuitale.
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

Y
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
1

Ricavare, utilizzando i mintermini, lespressione minima corrispondente alla precedente tabella della
verit.

12

Realizzare il circuito combinatorio corrispondente alla seguente tabella della verit, utilizzando
esclusivamente lIC 74150:
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

Y
1
1
1
0
0
0
1
1
1
0
0
1
0
1
0
1

Ricavare dalla seguenti Mappe di Karnaugh le corrispondenti funzioni minime

CD\AB
00

00

11

01

1
1

11
10

01

10

1
1
1
1

CD\AB

00

00
01

01

11

0
0

10

11
10

13