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