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 Questo è a tre livelli, infatti: x y x 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