You are on page 1of 61

Università degli Studi di Messina

Dipartimento di Ingegneria Elettronica, Chimica e Ingegneria Industriale

Corso di Laurea
Ingegneria Elettronica e Informatica
Anno Accademico 2013/2014

Calcolatori

Algebra di Boole e dei circuiti di commutazione

Dario Bruneo

1
Nota

Le slide seguenti sono da intendersi come materiale didattico aggiuntivo del corso di
Calcolatori 1.

Non possono in nessun modo essere sostitutive dei libri di testo, devono
quindi essere usate esclusivamente come una guida.

Eventuali errori o segnalazioni possono essere inviati all’indirizzo dbruneo@unime.it

Alcune figure sono tratte da:

Mano, Kime “Logic and Computer Design Fundamentals” 3° edition Pearson Prentice Hall

Patterson, Hennessy “Struttura e progetto dei Calcolatori” 2a edizione Zanichelli

Calcolatori a.a. 13/14 Dario Bruneo


2
Logica binaria e porte logiche

I circuiti digitali trattano informazioni binarie e In tal modo ci si dovrà occupare solo delle proprietà
logiche esterne
sono costituiti da transistor
Un circuito digitale può essere visto come un insieme di
porte logiche connesse in cascata

Le proprietà di un circuito possono essere studiate


introducendo una notazione matematica
Bnegate Operation
Ainvert

a0 CarryIn
Result0
b0 ALU0
Less
CarryOut

a1 CarryIn
Result1
b1 ALU1
0 Less
CarryOut .. Zero
.

a2 CarryIn
Result2
b2 ALU2
0 Less
CarryOut

.. . .. .. .. ..
. .. .. . . CarryIn . .
.

I circuiti elettronici a transistor possono essere


Result31
a31 CarryIn
b31 ALU31 Set
0 Less Overflow

modellati con l’utilizzo di porte logiche

Calcolatori a.a. 13/14 Dario Bruneo


3
Logica binaria

La logica binaria fa uso di:

variabili che possono assumere due valori discreti (saranno rappresentate da lettere maiuscole: A, B, C, X,Y, Z)

operazioni di logica matematica ad esse applicate

si prenderanno in considerazione i valori binari 0 e 1

Le tre operazioni logiche che operano sulle variabili binarie sono: AND, OR e NOT

Le operazioni sono definite mediante una tabella di verità: una tabella che per ognuna delle possibile combinazioni delle variabili
mostra la relazione tra le variabili ed il risultato dell’operazione

Calcolatori a.a. 13/14 Dario Bruneo


4
Porte logiche

Circuiti elettronici che operano su uno o più


segnali di ingresso (binari) per produrre un
segnale di uscita (binario)

Le porte logiche accettano ai terminali di


ingresso segnali in tensione che rientrano in una
delle due fasce consentite e rispondono ai
terminali di uscita con segnali di analoga natura

Le regioni intermedie vengono attraversate durante le


transizioni da 0 a 1 e da 1 a 0 (regioni di transizione)

Simboli delle porte AND, OR e NOT

Calcolatori a.a. 13/14 Dario Bruneo


5
Porte logiche (cont.)

L’andamento dei segnali di ingresso e di uscita di una porta può essere rappresentato mediante dei
diagrammi temporali

segnale ➔
tempo ➔

Le porte AND e OR possono avere più ingressi

Calcolatori a.a. 13/14 Dario Bruneo


6
Algebra booleana

Sistema algebrico per trattare in modo sistematico la logica (risolvere il calcolo proposizionale tramite
regole algebriche)

Oggi ha numerose applicazioni nel campo dei calcolatori e dell’elettronica in quanto consente di definire un
modello adeguato di una realtà fisica

In tal modo sarà possibile effettuare, mediante calcoli algebrici, sia l’analisi che la sintesi di circuiti

L’algebra di Boole è definita mediante un insieme di elementi, un insieme di operatori ed un numero fissato
di assiomi
A = (A, +, ‧, ’, 0, 1)

L’algebra booleana dei circuiti di commutazione (Shannon) tratta le variabili binarie e le relative operazioni
logiche
B = ({0,1}, +, ‧, ’, 0, 1)

Calcolatori a.a. 13/14 Dario Bruneo


7
Identità dell’algebra booleana

Regole fondamentali dell’algebra

Data un’espressione E si definisce duale di E l’espressione ED costruita scambiando tra loro le operazioni di AND e OR ed invertendo
gli 0 in 1 e viceversa.

Principio di dualità: ogni identità deducibile dai postulati dell’algebra vale anche per la duale

L’insieme (1,2,7,8,10,11,14,15) costituisce l’insieme degli assiomi

Priorità degli operatori (NOT, AND, OR)

Calcolatori a.a. 13/14 Dario Bruneo


8
Identità dell’algebra booleana (cont.)

Esempio di dimostrazione algebrica

A+A =

elemento neutro = (A+A)‧1 =

complemento = (A+A)‧(A+A’) =

distributiva = A+(A‧A’) =

complemento = A+0 =

elemento neutro = A.

Calcolatori a.a. 13/14 Dario Bruneo


9
Identità dell’algebra booleana (cont.)

Esempio di dimostrazione usando la tabella di verità

Il teorema di DeMorgan può essere esteso a più variabili

(X1+ X2+⋅⋅⋅+Xn)’ = X1’ X2’ ⋅⋅⋅Xn’


(X1X2⋅⋅⋅Xn)’ = X1’+ X2’ +⋅⋅⋅+Xn’

Calcolatori a.a. 13/14 Dario Bruneo


10
Espressioni e funzioni

Espressione booleana: espressione che può essere composta da una o più variabili binarie, dalle
costanti 0 e 1, dai simboli delle operazioni logiche e dalle parentesi (Es. X+Y’Z+1)

Funzione booleana f : {0,1}n → {0,1}: relazione logica tra una variabile binaria dipendente, a primo
membro, e le variabili binarie indipendenti a secondo membro; può essere descritta mediante un’espressione
(Es. F=X+Y’Z)

Non esiste una relazione univoca tra un’espressione booleana ed una funzione booleana

Una funzione può essere descritta mediante infinite espressioni

Concetto di equivalenza delle espressioni

Calcolatori a.a. 13/14 Dario Bruneo


11
Espressioni e funzioni (cont.)

Una funzione booleana può essere descritta mediante una tabella di verità

Una funzione booleana è descritta univocamente da una ed una sola tabella di verità

Le tabelle di verità riguardanti le operazioni logiche (AND, OR, NOT) vanno considerate come casi
particolari e semplici di funzioni booleane

Calcolatori a.a. 13/14 Dario Bruneo


12
Circuiti logici

Una funzione booleana può essere trasformata in un circuito composto da porte logiche i cui ingressi
saranno composti dalle variabili indipendenti e la cui uscita sarà composta dalla variabile dipendente

F=X+Y’Z

Circuiti logici combinatori: l’uscita è univocamente determinata dai valori dei segnali di ingresso

Calcolatori a.a. 13/14 Dario Bruneo


13
Manipolazioni algebriche

Ad una funzione possono corrispondere più circuiti logici equivalenti: l’algebra booleana è uno strumento
utile per la semplificazione di circuiti digitali

Es. F=X’YZ+X’YZ’+XZ

Si può semplificare la funzione applicando alcune delle identità dell’algebra booleana

F = X’YZ+X’YZ’+XZ =
per l’identità 14 = X’Y(Z+Z’)+XZ =
per l’identità 7 = X’Y(1)+XZ =
per l’identità 2 = X’Y+XZ.

I due circuiti sono equivalenti (si può verificare mediante la tabella di verità). Comunque appare chiaro come
il secondo circuito sia più “semplice” del primo

Calcolatori a.a. 13/14 Dario Bruneo


14
Manipolazioni algebriche (cont.)

Complessità spaziale: numero di porte, numero di linee (o fili), numero di ingressi delle porte

Letterale: una singola variabile, sia in forma diretta che negata, presente all’interno di un termine

Quando un’espressione booleana è implementata con porte logiche il numero di termini e letterali è
direttamente proporzionale alla complessità (spaziale) del circuito

F = X’YZ + X’YZ’ + XZ 3 termini 8 letterali

F = X’Y + XZ 2 termini 4 letterali

Calcolatori a.a. 13/14 Dario Bruneo


15
Manipolazioni algebriche (cont.)

Per ridurre un espressione si possono utilizzare Alcune semplificazioni ricorrenti sono:


le regole dell’algebra booleana
1. X + XY = X(1+Y) = X
2. XY + XY’ = X(Y+Y’) = X
L’unico metodo manuale è basato su una 3. X + X’Y = (X+X’)(X+Y) = X+Y
procedura iterativa che utilizza le regole
dell’algebra per la manipolazione delle
espressioni
Si può provare il principio di dualità:

3D. X(X’+Y) = XX’+XY = 0+XY = XY

Calcolatori a.a. 13/14 Dario Bruneo


16
Teorema del consenso

Per semplificare le espressioni booleane è, a volte utile, usare il seguente teorema (detto del consenso)

XY + YZ + ZX’ = XY + ZX’

dimostrazione

XY + YZ +ZX’ = XY + YZ(X + X’) + ZX’ =


Si noti l’introduzione di
= XY + YZX + YZX’ +ZX’ = termini ridondanti.
= XY(1+Z) + ZX’(1+Y) = Concetto di minimo locale.

= XY + ZX’.

Duale:

(X+Y)(Y+Z)(Z+X’) = (X+Y)(Z+X’)

Calcolatori a.a. 13/14 Dario Bruneo


17
Funzioni in forma complementata

Il complemento di una funzione si ottiene complementando i valori assunti nella tabella di verità

Si può anche ottenere algebricamente applicando il teorema di DeMorgan

f = ABC’+AB f ’ = (ABC’+AB)’ = ((ABC’)’)((AB)’) = (A’ + B’ + C)(A’ + B’)

Un metodo più semplice consiste nel considerare la duale e negare ogni letterale

f = ABC’+AB fD=(A + B + C’)(A +B) f ’ = (A’ + B’ + C)(A’ + B’)

Fare attenzione alle differenze tra dualità ed il teorema di DeMorgan!

Calcolatori a.a. 13/14 Dario Bruneo


18
Forme canoniche

Una funzione booleana in forma algebrica può essere espressa in molte forme tra loro equivalenti

Nasce l’esigenza di identificare una prima espressione booleana che rappresenti la funzione per poi
procedere con la semplificazione

Una possibile scelta consiste nell’utilizzo delle forme canoniche che sono forme standard univocamente
determinate

Le forme canoniche facilitano le procedure di semplificazione delle espressioni e conducono spesso a


circuiti più semplici

Le forme canoniche sono due:

una espressa come somma di prodotti

una espressa come prodotto di somme

Calcolatori a.a. 13/14 Dario Bruneo


19
Mintermini e Maxtermini

Si definisce mintermine di una funzione un prodotto nel quale tutte le variabili appaiono una volta, o in
forma diretta o in forma negata

Data una funzione di n variabili esistono 2n mintermini

Il pedice di ogni mintermine è identificato dal numero decimale corrispondente alla combinazione binaria
degli ingressi che lo “attivano” (tali cioè che il mintermine abbia valore 1)

Calcolatori a.a. 13/14 Dario Bruneo


20
Mintermini e Maxtermini (cont.)

Si definisce maxtermine di una funzione una somma nella quale tutte le variabili appaiono una volta, o in
forma diretta o in forma negata

Data una funzione di n variabili esistono 2n maxtermini

Il pedice di ogni maxtermine è identificato dal numero decimale corrispondente alla combinazione binaria
degli ingressi che lo “attivano” (tali cioè che il maxtermine abbia valore 0)

Calcolatori a.a. 13/14 Dario Bruneo


21
Mintermini e Maxtermini (cont.)

Dalle tabelle di verità dei mintermini e dei maxtermini si possono derivare le seguenti affermazioni:

Un mintermine è una funzione booleana, diversa da f=0, avente il minor numero di 1 nella propria tabella di verità

Un maxtermine è una funzione booleana, diversa da f=1, avente il maggior numero di 1 nella propria tabella di verità

Un mintermine ed un maxtermine identificati dallo stesso pedice risultano l’uno il complementare dell’altro

M j = m j’

Calcolatori a.a. 13/14 Dario Bruneo


22
Somma di mintermini

Una funzione booleana può essere espressa nella forma canonica somma di prodotti (SP) sommando
tutti i mintermini che fanno assumere il valore 1 alla funzione

F(X, Y, Z) = m1 + m4 + m5 + m6 + m7 =

= ∑m(1,4,5,6,7) =

= X’Y’Z + XY’Z’ + XY’Z +

+ XYZ’ + XYZ

Calcolatori a.a. 13/14 Dario Bruneo


23
Prodotto di maxtermini

Una funzione booleana può essere espressa nella forma canonica prodotto di somme (PS)
moltiplicando tutti i maxtermini che fanno assumere il valore 0 alla funzione

F(X, Y, Z) = M0‧M2‧M3 =

= ∏M(0,2,3)

= (X+Y+Z)‧(X+Y’+Z)‧

‧ (X+Y’+Z’)

Calcolatori a.a. 13/14 Dario Bruneo


24
Commenti

Qualunque funzione booleana può essere espressa in una qualsiasi delle due forme canoniche

Una funzione di n variabili che include tutti i 2n mintermini (o maxtermini) è uguale a 1 (o a 0)

Il complemento di una funzione espressa nella forma canonica SP (o PS) si può esprimere come la somma
dei mintermini (o il prodotto dei maxtermini) non inclusi nella funzione di partenza oppure come il
prodotto dei maxtermini (o la somma dei mintermini) aventi lo stesso pedice dei mintermini (o maxtermini)
inclusi nella funzione

Es.

f(X,Y,Z) = ∑m(1,4,5,7) f ’(X,Y,Z) = ∑m(0,2,3,6)

f(X,Y,Z) = ∑m(1,4,5,7) f ’(X,Y,Z) = ∏M(1,4,5,7)

Una funzione non espressa in forma canonica può essere convertita in una delle due forme canoniche
utilizzando la tabella di verità

Calcolatori a.a. 13/14 Dario Bruneo


25
Commenti (cont.)

Esistono circuiti, espressi come somma di prodotti o come prodotto di somme, che non sono in forma
canonica

Affinché un circuito sia espresso in forma canonica i termini della somma o del prodotto devono essere
corrispondentemente mintermini o maxtermini

non sono in forma canonica!

Anche in questo caso per risalire ad una forma canonica è necessario partire dalla tabella di verità del
circuito

Calcolatori a.a. 13/14 Dario Bruneo


26
Implementazione a due livelli

Le implementazioni somma di prodotti (o prodotto di somma), sia in forma canonica che no, corrispondono
a circuiti composti da un insieme di porte AND (o OR) che confluiscono in una porta OR (o AND)

Tali circuiti prendono il nome di circuiti a due livelli

rete a 2 livelli rete multilivello

Le reti a due livelli migliorano le prestazioni “temporali”, in quanto risultano più veloci delle corrispondenti
reti multilivello

Calcolatori a.a. 13/14 Dario Bruneo


27
Mappe di Karnaugh

La semplificazione delle espressioni mediante trasformazioni algebriche risulta difficile per la mancanza di
regole specifiche

Inoltre è difficile determinare se è stata ottenuta l’espressione più semplice

Il metodo di semplificazione delle mappe di Karnaugh (o K-map) offre una procedura diretta per funzioni
booleana fino a quattro variabili

Sebbene sia possibile costruire K-map di cinque o sei variabili il loro utilizzo risulta complesso

Calcolatori a.a. 13/14 Dario Bruneo


28
Mappe di Karnaugh (cont.)

Una K-map è un diagramma composto da celle ognuna delle quali rappresenta un mintermine della funzione
in oggetto

Una qualsiasi funzione espressa in forma canonica è identificabile graficamente su una K-map

Le K-map forniscono una rappresentazione bidimensionale della tabella di verità di una funzione

Le K-map consentono una visualizzazione immediata dei differenti modi in cui una funzione può essere
espressa

Calcolatori a.a. 13/14 Dario Bruneo


29
K-map a 2 variabili

La K-map a due variabili è formata da quattro celle, una per ciascun mintermine

Le etichette 0 e 1 denotano il valore delle variabili X e Y

Ciascuna variabile appare in forma diretta nelle celle dove è uguale a 1 e in forma negata dove invece è
uguale a 0

Calcolatori a.a. 13/14 Dario Bruneo


30
K-map a 3 e a 4 variabili

La sequenza dei numeri lungo le colonne differisce dalla usuale sequenza dei numeri binari

Si utilizza la codifica Gray

In tal modo nel passaggio da una cella “adiacente” ad un’altra vi sarà la variazione di un solo bit

K-map a 3 variabili K-map a 4 variabili

Calcolatori a.a. 13/14 Dario Bruneo


31
K-map e funzioni

Una funzione può essere rappresentata nella mappa mettendo un 1 nelle celle che corrispondono ai
mintermini inclusi nella funzione stessa

XY’ XY’Z’ + X’YZ’ A’B’CD’ + A’BCD + ABCD’

Una mappa con tutti 1 corrisponderà alla funzione logica F=1 mentre una mappa con tutti 0 alla funzione
F=0

Calcolatori a.a. 13/14 Dario Bruneo


32
Semplificazione di funzioni

In una K-map due celle adiacenti corrispondono a mintermini che differiscono tra loro per una sola variabile

La somma logica di tali mintermini può essere semplificata mettendo in evidenza i termini in comune

Graficamente le celle vengono raggruppate in insiemi, di dimensione pari a 2 celle, evidenziati da una cornice

Es. X’YZ + X’YZ’ = X’Y(Z+Z’) = X’Y

XY’Z’ + XY’Z = XY’(Z’+Z) = XY’

Le adiacenze possono essere estese in maniera circolare:

Calcolatori a.a. 13/14 Dario Bruneo


33
Semplificazione di funzioni (cont.)

Il concetto di adiacenza può essere esteso agli insiemi precedentemente definiti

m0 + m2 = X’Y’Z’ + X’YZ’ = X’Z’

m4 + m6 = XY’Z’ + XYZ’ = XZ’

In questo caso i due rettangoli possono essere raggruppati per ottenere un’ulteriore semplificazione

Graficamente si otterrà un insieme di 4 celle

m0 + m2 + m4 + m6 = Z’

Calcolatori a.a. 13/14 Dario Bruneo


34
Semplificazione di funzioni (cont.)

Per potere calcolare l’espressione semplificata di una funzione è necessario che la scelta degli insiemi di celle
adiacenti comprenda tutti i mintermini (copertura della funzione)

Esempi

Calcolatori a.a. 13/14 Dario Bruneo


35
Semplificazione di funzioni (cont.)

Esempi
Raggruppamento di 8
celle adiacenti

Particolare
adiacenza
F = Y’ + W’Z’ + XZ’

Calcolatori a.a. 13/14 Dario Bruneo


36
Semplificazione di funzioni (cont.)

In alcuni casi possono esistere diverse alternative, con lo stesso grado di semplificazione, per la copertura
della stessa funzione

Es.

F = X’Z + XZ’ + Y’Z F = X’Z + XZ’ + XY’

Calcolatori a.a. 13/14 Dario Bruneo


37
Semplificazione di funzioni (cont.)

In generale all’aumentare del numero di celle che vengono combinate si ottengono prodotti con meno
letterali

I raggruppamenti, in una K-map di dimensione 2n, possono avere dimensioni crescenti con la potenza del 2
(2i, i=0,1…,n)

Un raggruppamento di dimensione 2m all’interno di una mappa di dimensione 2n produrrà un termine con


(n-m) letterali con una semplificazione pari a m letterali

Calcolatori a.a. 13/14 Dario Bruneo


38
Semplificazione di funzioni (cont.)

Durante il processo di semplificazione mediante le K-map occorre assicurarsi che, nel combinare le celle,
siano inclusi tutti i mintermini della funzione

Nello stesso tempo, al fine di ottenere un’espressione minima, si devono scegliere i raggruppamenti più
grandi evitando le ridondanze

Necessità di un procedimento sistematico

Calcolatori a.a. 13/14 Dario Bruneo


39
Implicanti

Un prodotto P è un implicante di una funzione se essa assume il valore 1 per tutte le combinazioni delle
variabili che fanno assumere il valore 1 al prodotto P

Tutti i mintermini di una funzione sono implicanti così come i raggruppamenti di mintermini adiacenti delle
K-map

Un implicante che cessa di essere tale a causa della rimozione di qualsiasi letterale prende il nome di primo
implicante

Primi implicanti

Implicante

Calcolatori a.a. 13/14 Dario Bruneo


40
Implicanti (cont.)

I primi implicanti possono essere ottenuti dalla relativa mappa ricercando tutti i più grandi raggruppamenti
di 2m celle contenenti il valore 1

I primi implicanti che contengono un mintermine della funzione che non è contenuto in altri primi implicanti
vengono detti primi implicanti essenziali

Primi implicanti
essenziali

Tutti i primi implicanti essenziali dovranno comparire nella versione “semplificata” dell’espressione

Calcolatori a.a. 13/14 Dario Bruneo


41
Metodo sistematico

La semplificazione mediante il metodo delle mappe di Karnaugh permette di ottenere una minimizzazione a
due livelli esatta della funzione

Il metodo consiste nell’esecuzione dei seguenti passi:

Ricerca di tutti i primi implicanti

Selezione dei primi implicanti essenziali (prima fase di copertura della funzione)

Copertura del resto della funzione, se necessario, utilizzando il minor numero di primi implicanti non essenziali

Calcolatori a.a. 13/14 Dario Bruneo


42
Esempio

Si semplifichi, mediante il metodo delle mappe di Karnaugh, la seguente funzione di quattro variabili:

f(A,B,C,D) = ∑m(0,1,2,4,5,6,9,10,12,13,14,15)
soluzione:

ricerca dei primi implicanti selezione dei primi implicanti essenziali copertura della funzione

1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1

La funzione semplificata è:
f(A,B,C,D) = CD’ + AB + C’D + A’C’

Calcolatori a.a. 13/14 Dario Bruneo


43
Semplificazioni multilivello

Si consideri la seguente funzione di 7 variabili (già nella forma SP minima)

Complessità spaziale:

6 porte AND a 3 ingressi


Z = ADF + AEF + BDF + BEF + CDF + CEF + G 1 porta OR a 7 ingressi

Applicando le seguenti trasformazioni si può trovare un’espressione multilivello che risulta più semplice dal
punto di vista della complessità spaziale
Complessità spaziale:

1 porta AND a 3 ingressi


Z = (AD + AE + BD + BE + CD + CE)F + G 1 porta OR a 3 ingressi
2 porte OR a 2 ingressi
Z = [(A + B + C)D + (A + B + C)E]F + G
Z= (A + B + C)(D + E)F + G

Calcolatori a.a. 13/14 Dario Bruneo


44
Funzioni espresse nella forma PS

Con pochi accorgimenti è possibile semplificare, mediante le K-Map, funzioni espresse nella forma canonica
PS

A tal fine si mette uno 0 nelle celle in cui non vi sono mintermini

Tali 0 corrisponderanno ai maxtermini della funzione

Semplificando la mappa (degli 0) si otterrà:

la funzione minima in forma PS (se si interpreteranno gli 0 come maxtermini)

F = (A’ + B’)(C’ + D’)(B’ + D)

la funzione minima complementare in forma SP (se si interpreteranno gli 0 come mintermini)

F’ = AB + CD + BD’

Calcolatori a.a. 13/14 Dario Bruneo


45
Condizioni di don’t care

Esistono applicazioni nelle quali non è specificato il valore che la funzione deve assumere per certe
combinazioni di valori delle variabili di ingresso

Ciò può accadere per due motivi:

Si prevede che tali combinazioni di ingresso non si presentino durante il normale funzionamento

Le combinazioni di ingresso si possono presentare ma non è rilevante stabilire quale valore deve assumere l’uscita

Tali condizioni, chiamate condizioni di indifferenza o don’t care, vengono rappresentate nella tabella di
verità mediante i simboli “-”, “x” o “d”

0
1
x
1
0
1
x
1

Calcolatori a.a. 13/14 Dario Bruneo


46
Condizioni di don’t care (cont.)

Le condizioni di don’t care, durante il processo di minimizzazione, corrispondono a gradi di libertà

I mintermini contrassegnati con una X possono essere utilizzati per creare raggruppamenti di celle più
grandi (vengono considerati come 1)

Non è necessario selezionare tutte le X durante la fase di copertura della funzione

Calcolatori a.a. 13/14 Dario Bruneo


47
Condizioni di don’t care (cont.)

Le condizioni di don’t care rappresentano un’indeterminatezza nell’uscita che ha un senso effettivo


esclusivamente nella fase progettuale

Una volta semplificata la funzione ed applicata la combinazione degli ingressi il circuito risponderà sempre
con un valore binario (0 o 1)

Il valore dell’uscita in corrispondenza dei don’t care dipenderà dall’avere o no adoperato una “x”durante la
fase della copertura della funzione: tale valore non avrà comunque importanza durante il normale
funzionamento del circuito

F(0,1,0,1) = 0 F(0,1,0,1) = 1

Calcolatori a.a. 13/14 Dario Bruneo


48
Funzioni booleane di 2 variabili

Esistono, in tutto, 16 possibili funzioni booleane di 2 variabili

Oltre alle porte AND, OR e NOT altre porte sono utilizzate per la progettazione dei circuiti digitali

i fattori da tenere in considerazione nella scelta delle nuove porte sono: la realizzabilità, il costo e la possibilità, con esse, di
implementare le altre funzioni booleane

Calcolatori a.a. 13/14 Dario Bruneo


49
Porte AND, OR, NOT e buffer

Ci si riferirà all’indicatore della negazione mediante un “pallino” all’ingresso o all’uscita di una porta

Un buffer produce la funzione logica F=X, poiché il valore binario dell’ingresso coincide con l’uscita.

Il circuito è utilizzato principalmente per amplificare un segnale elettrico o come elemento di ritardo

Calcolatori a.a. 13/14 Dario Bruneo


50
Porta NAND

Rappresenta il complemento della porta AND

Non gode della proprietà associativa! (mancanza di simbolo algebrico)

È un operatore funzionalmente completo

X’ = dalla tabella di verità = X NAND X


X + Y = applicando DeMorgan 2 volte = (X’Y’)’ = (X NAND X) NAND (Y NAND Y)
XY = dalla definizione di NAND = ((XY)’)’ = (X NAND Y) NAND (X NAND Y)

Trasformazioni grafiche

da AND/OR a NAND/NAND

Calcolatori a.a. 13/14 Dario Bruneo


51
Porta NOR

Rappresenta il complemento della porta OR

Non gode della proprietà associativa! (mancanza di simbolo algebrico)

Anch’esso è un operatore funzionalmente completo

X’ = dalla tabella di verità = X NOR X


X + Y = dalla definizione di NOR= ((X+Y)’)’ = (X NOR Y) NOR (X NOR Y)
XY = applicando DeMorgan 2 volte = (X’+Y’)’ = (X NOR X) NOR (Y NOR Y)

Trasformazioni grafiche

da OR/AND a NOR/NOR

Calcolatori a.a. 13/14 Dario Bruneo


52
Porta XOR

L’operatore XOR funge da invertitore pilotato

Gode della proprietà commutativa e associativa

A⊕B=B⊕A
(A⊕B)⊕C = A⊕(B⊕C) = A⊕B⊕C

Sebbene dal punto di vista circuitale sia possibile usare porte XOR con tre o più ingressi, il simbolo
normalmente esiste solo per porte a due ingressi

Calcolatori a.a. 13/14 Dario Bruneo


53
Porta XNOR

È il negato dell’operatore XOR

È detto anche “coincidenza”

infatti si attiva solo quando i segnali di ingresso coincidono

Anch’esso gode della proprietà commutativa e associativa

XY + X’Y’ = ((X’ + Y’)(X +Y))’ =


= (X’X + X’Y + Y’X + Y’Y)’ =
=(X’Y+Y’X)’=
=(X⊕Y)’

Calcolatori a.a. 13/14 Dario Bruneo


54
Funzione dispari

Si consideri l’operazione XOR che coinvolge tre o più variabili

X⊕Y⊕Z = (XY’ + X’Y)Z’ + (X’Y’ + XY)Z =


Tale funzione è uguale a 1 soltanto se una sola variabile di ingresso = XY’Z’ + X’YZ’ + X’Y’Z + XYZ
è uguale a 1 oppure se lo sono tutte e tre

Nel caso di più variabili la funzione si attiva solo se sono attivi un numero dispari di ingressi

Utilizzando l’operatore XNOR si ottiene la funzione pari

Calcolatori a.a. 13/14 Dario Bruneo


55
Generatore di parità

Utilizzato per individuare errori durante la trasmissione di informazioni binarie

0
1
1
0
1
0
0
1 generatore controllore

Sostituendo la porta XOR di uscita con una porta XNOR ottengo un generatore di disparità

Calcolatori a.a. 13/14 Dario Bruneo


56
Logica tri-state

Finora sono stati introdotti solo 2 livelli logici (0 e 1)

Abbiamo visto anche il valore “don’t care”, ma esso appare solo in fase di progetto non nei circuiti reali

Limitazioni delle porte logiche:

Le uscite di due porte non possono essere connesse

I segnali, all’interno del circuito, possono viaggiare in una sola direzione

La logica tri-state introduce un terzo livello logico: lo stato ad alta impedenza (Hi-Z)

Lo stato ad alta impedenza si comporta come un circuito aperto: l’uscita è quindi disconnessa

Qualsiasi blocco logico può essere dotato di uscita a tre stati

Calcolatori a.a. 13/14 Dario Bruneo


57
Buffer tri-state

Un buffer tri-state si differenzia dal normale buffer per la presenza di un ingresso supplementare

L’ingresso EN (enable) farà commutare l’uscita nello stato di Hi-Z (EN=0) o nello stato logico
corrispondente all’ingresso (EN=1)

Si distinguono:

buffer “attivi alti” o “attivi bassi” con o senza negazione dell’uscita mediante l’utilizzo di “bubbles”

Calcolatori a.a. 13/14 Dario Bruneo


58
Buffer tri-state (cont.)

Le uscite di un buffer tri-state possono essere Bisogna, comunque, evitare che i due buffer siano
connesse insieme attivati contemporaneamente!

Calcolatori a.a. 13/14 Dario Bruneo


59
Ritardo di propagazione

Finora si sono considerati dispositivi logici ideali

In realtà la variazione dell’uscita di una porta logica non è una conseguenza istantanea della variazione
degli ingressi, ma avviene dopo un periodo di tempo detto ritardo di propagazione (tpd)

Il ritardo di propagazione è il parametro più restrittivo nella programmazione logica

Tipicamente, i produttori specificano i valori massimi e tipici sia per tPHL e tPLH che per tpd

Calcolatori a.a. 13/14 Dario Bruneo


60
Ritardo di propagazione (cont.)

Il ritardo di un circuito sarà dato dalla somma del ritardo di ogni porta lungo il cammino più lungo tra gli
ingressi e l’uscita

Assumendo per esempio che ogni porta abbia un tpd pari a 2ns i ritardi dei due circuiti in figura saranno:

tpd = 4ns tpd = 6ns

Le realizzazioni multilivello, sebbene meno complesse dal punto di vista spaziale, portano normalmente a
circuiti più lenti

Calcolatori a.a. 13/14 Dario Bruneo


61

You might also like