Algebra booleana e Ottimizzazione (16-3

Algebra di commutazione
E’ un caso particolare di algebra booleana.
B = Dominio
Op1 = AND  Vale 1 solo se entrambi gli operandi sono 1
Op2 = OR  Vale 0 se entrambi I termini sono zero, altrimenti 1
Op3 = NOT  Se un ingresso è 1 l’uscita vale zero, e viceversa
Esempi di funzione sull’algebra di commutazione:
AND: BxB  B
OR: BxB  B
NOT: B  B
Abbiamo visto anche le tabelle delle verità.
SIMBOLOGIA
Z = AND (x,y)  z= x*y  xy
Z = OR (x,y)  z = x+y
Z = NOT(x,y)  z = z’ (cioé non z)
PROPRIETA’
1) Elemento neutro:
x+1 = 1
x+0 = x
x*0 = 0
x*1=x
2) Idempotenza:
x+x=x
x*x=x
3) Complementazione:
x+x’=1 (esempio con x=0, x’=1 perché x’ é x negato)
4) Commutatività:
x+y = y+x
x*y=y*x
5) Associativa:
(x+y)+z = x+(y+z)
(x*y)*z = x*(y*z)
6) Assorbimento:
x + xy = x
x*(x*y) = x
Dimostrazione (non presente nelle slide):
x+xy=x
x+xy = x(1+y) = x*1 = x
7) Distributività:
X+y *z = (x+y)*(x+z)
X*(y+z)=x*y + x*z
Dimostrazione (non presente nelle slide):
x+y*z = (x+y)*(x+z)
Ma (x+y)*(x+z) = x*x + xz + yz + yz
Ma x*x = x perché 0*0 = 0 oppure 1*1 = 1 quindi:
x+xz+xy+yz = x+xy+yz = x+yz
8) Involuzione:
(x’)’ = x
9) Dualità (De Morgan):
(x1 + x2 + … + xn)’ = x1’*x2’*…*xn’
(x1*x2*…*xn)’ = x1’ + x2’ +…+ xn’
TEOREMA DI SHANNON (solo enunciato):
Data una funzione booleana f(B^n)=B é sempre vero che:
f(x1,x2,…,xn) = x1 * f(1,x2,x3,…,xn) + x1 * f(0, x2,…, xn)
f(x1,x2,…,xn) = (x1 + f(0,x2,…,xn) *(x1 + f(1, x2,…,xn))
OPERATORI FUNZIONALI COMPLETI
- Terna di operatori AND, OR, NOT:
1) (AND, NOT) è funzionalmente completa.
Dimostrazione:
Tenendo presente che:
(x+y)’ = x’*y’
X+y = (x’*y’)
(dimostrazione nelle slide)
2) (OR, NOT) é funzione completa.
Dimostrazione:
Tenendo presente che:
(x*y)’ = x’ + y’
X*y = (x’ + y’)
(dimostrazione nelle slide)
ALTRI DUE OPERATORI CHE SONO FUNZIONALMENTE COMPLETI (DA DIMOSTRARE)
- NAND (x,y) = NOT(AND(x,y))
- NOR (x,y) = NOT(OR(x,y))
In una espressione booleana si definisce “letterale” ogni presenza in forma diretta o negata di una variabile
in una espressione e numero di letterali il loro numero.
Esempio:
e4 = x*y’+y*z
L’espressione e4 ha 4 letterali, perché non sono solo le 3 variabili x, y, z, ma anche la negazione di y = y’.
Il numero di letterali indica la complessità della nostra parte logica.
Esempio alla lavagna sul numero di livelli:
((x*y) +y)*z + x’y’
x
Questo è a tre livelli, infatti:
x’
y
*
*
y
+
y’
z
*
PORTE LOGICHE (SIMBOLOGIA)
- Nelle slide: NOT, AND, OR, NAND, NOR
E’ con la combinazione di questi elementi logici che ad esempio funziona la calcolatrice, e possiamo con i
criteri visti prima creare qualsiasi funzione matematica.
Esempio nelle slide della funzione f=(ab+a’c’)(d+e)
NB: Ci sono da considerare però nei circuiti reali anche i ritardi:
3 livelli danno un ritardo di 3 delta, 2 livelli 2 delta, … n livelli danno n*delta, supponendo che ogni
operazione abbia delta ritardo.
NB: Possono esistere tante espressioni equivalenti che possano rappresentare una funzione.
Esempio:
e1 = xy’ + xy’z +xz
e2 = xy’ + xz
e1 = e2 per la proprietà dell’assorbimento, infatti ricordando che
x+xz = x
avremo allora che xy’+ xy’z = xy’ perché posto
r=xy’ è come dire r+rz = r.
FORME CANONICHE
Data una f(B^n)=B funzione booleana ad una uscita completamente specificata, le 2^n configurazioni degli
ingressi possono essere mappate sui vertici di un n-cubo in modo tale che due punti adiacenti siano a
“distanza di Hamming” pari ad 1.
NB: Si mette un pallino pieno dove la funzione vale 1, vuoto se vale zero.
Esempio della funzione OR dove ritroviamo 3 pallini pieni ed 1 vuoto perché:
0+1=1
1+0=1
1+1=1
0+0=0
- Letterale: E’ una coppia variabile valore (a,0), (a,1), (b,0), (b,1), (c,0), (c,1)
- Implicante: Prodotto di letterali tale che se tale prodotto vale 1 anche f vale 1
Una funzione la possiamo esprimere come combinazione di implicanti.
Lo capiremo meglio quando parleremo di minimizzazione delle reti.
NB: L’implicante è un sottolivello del cubo; in aula abbiamo visto che la superfice posteriore del cubo delle
slide è b perché l’unico numero che non cambia nei 4 vertici è il secondo, che corrisponde a b; stessa cosa
per la superfice laterale a destra, dove l’implicante risulterà rappresentato dal letterale c.
Mintermine = E’un implicante in cui compaiono tutte le variabili di ingresso. In questo caso con l’esempio
dell’OR ne abbiamo 7 perché non sono altro che tutti i vertici pieni del cubo.
Maxtermine = è un punto in cui la funzione nel cubo vale zero (quindi nel caso dell’OR ne abbiamo 1 solo)
On-set  insieme di tutti i mintermine
Off-set  insieme di tutti i maxtermine
Implicante primo = implicante tale che non esiste nessun altro implicante di dimensioni maggiori che lo
contenga interamente. In pratica è implicante primo quello avente la superfice quadra del cubo con tutti e
4 i pallini pieni.
Esempio ab’c’ non è primo perché è contenuto in ab’ che a sua volta è contenuto in a, che è primo.
NB: All’interno della funzione non esiste un solo implicante primo, ma ad esempio nel caso della funzione
OR ne abbiamo 3: a,b,c.
NB: il punto 001 è coperto soltanto da un implicante primo (cioè in pratica l’unica superfice con tutti e 4 i
vertici pieni – che è per le regole su dette l’implicante primo – che contiene il punto 001 è l’implicante c,
corrispondente alla superfice laterale destra del cubo delle slide per la funzione OR).
Copertura di una funzione = è un insieme di implicanti che coprono tutti i mintermini (cioè i pallini pieni)
della funzione.
Esempio con {a,b,c}, oppure {a, b, a’b’c}.
Importante: ad ogni mintermine
SECONDA FORMA CANONICA
Definizione nelle diapositive.
Nelle diapositive troviamo:
Per i mintermini (PFC)  Somma  m0 + m3 + m4 + m7, ovvero a’b’c’ + a’bc + ab’c’ + abc
Per i Maxtermini (SFC)  Prodotto  M1*M2*M5*M6, ovvero (a+b+c’)*(a+b’+c)*(a’+b+c’)*(a’+b’+c)
Ricordando ovviamente che i mintermini corrispondono ai valori della funzione pari ad 1, mentre i
Maxtermini ai valori nulli della funzione. Per facilitare la comprensione è consigliabile guardare la tabella
dei valori della funzione delle slide nella seconda forma canonica.
NOTAZIONE CONTRATTA PER FUNZIONI NON COMPLETAMENTE SPECIFICATE
OTTIMIZZAZIONE DELLE RETI COMBINATORIE
Compromesso tra:
- Prestazioni (ritardi di propagazione)
- Area (o costo, cioè quante porte e transistor mettere nel nostro sistema)
- Potenza dissipata (meno ne dissipiamo, maggiore sarà la durata, minore il riscaldamento, ecc…)
- Testabilità
-…
Relazione tra area e ritardo. Nelle slide ci sono due esempi chiari su:
- Ottimizzazione dell’area
- Ottimizzazione del ritardo
PROSSIMO ARGOMENTO: MINIMIZZAZIONE DI UNA FUNZIONE BOOLEANA MEDIANTE IL METODO DI
“KARNAUGH”
Appunti presi da
Alessio Regalbuto
Per www.appuntiunict.rv89.com