Cap. II. Funzioni Logiche

Slides:



Advertisements
Presentazioni simili
Training On Line - CONP. 2 Richiesta Da Menu: Conferimenti ad inizio anno termico > Agosto > Pluriennali > Nuova Richiesta Si accede alla pagina di Richiesta.
Advertisements

Algebra Booleana Generalità
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
Algebra di Boole Casazza Andrea 3EA I.I.S. Maserati.
I numeri naturali ….. Definizione e caratteristiche
Elaborazione dei segnali mediante circuiti analogici o digitali.
Informatica Generale Marzia Buscemi IMT Lucca
1 MeDeC - Centro Demoscopico Metropolitano Provincia di Bologna - per Valutazione su alcuni servizi erogati nel.
Mat_Insieme Lavoro di Gruppo Prodotti Notevoli
TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
Algebra di Boole e Funzioni Binarie
(sommario delle lezioni in fondo alla pagina)
Frontespizio Economia Monetaria Anno Accademico
Lez. 3 - Gli Indici di VARIABILITA’
Algebra di Boole.
2ab2 2b4 4x − 2y a 3b2y3 3b2y3b Definizione e caratteristiche
Esercitazioni su circuiti combinatori
Reti Logiche A Lezione n.1.4 Introduzione alle porte logiche
EIE 0607 III / 1 A B P a = 30 P b = 35 t = 2, tc = 1 Questo può essere un equilibrio? No! Politiche di un paese importatore: una tariffa allimportazione.
Analisi e sintesi di circuiti combinatori
Obiettivi del corso di Statistica Medica.
Informatica 3 Codifica binaria.
A.S.E.9.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 9 Funzione XORFunzione XOR Enumerazione di funzioniEnumerazione di funzioni Reti logicheReti.
A.S.E.13.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 13 Alcune definizioniAlcune definizioni Algoritmo di sintesi ottima di Quine-McCluskeyAlgoritmo.
A.S.E.5.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 5 Rappresentazione di numeri con segnoRappresentazione di numeri con segno –Modulo e segno (MS)
Canale A. Prof.Ciapetti AA2003/04
Corso di Informatica (Programmazione)
IFTS2002 Acq. Dati Remoti: INFORMATICA
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
Realizzazione e caratterizzazione di una semplice rete neurale per la separazione di due campioni di eventi Vincenzo Izzo.
Test di ipotesi X variabile casuale con funzione di densità (probabilità) f(x; q) q Q parametro incognito. Test Statistico: regola che sulla base di un.
Reti Combinatorie: sintesi
1 Sistemi Digitali. 2 Definizione Analog Waveform Time Voltage (V) 0 5 Digital Waveform Time Voltage (V)
Master universitario di II livello in Ingegneria delle Infrastrutture e dei Sistemi Ferroviari Anno Accademico 2012/2013 Cultura dimpresa, valutazione.
La partita è molto combattuta perché le due squadre tentano di vincere fino all'ultimo minuto. Era l'ultima giornata del campionato e il risultato era.
Cos’è un problema?.
L'algebra di Boole e le sue applicazioni
Indice: L’algebra di Boole Applicazione dell’algebra di Boole
Prima e Seconda Forma Canonica
Algebra di Boole e Funzioni Binarie
Claudia Raibulet Algebra Booleana Claudia Raibulet
Contatore: esempio di circuito sequenziale
CHARGE PUMP Principio di Funzionamento
Velocità ed accelerazione
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
1)Completa la seguente successione: C4, B7, E10, D13, G16,. A. G19 B
LE SAI LE TABELLINE? Mettiti alla prova!.
Un trucchetto di Moltiplicazione per il calcolo mentale
Esempi risolti mediante immagini (e con excel)
NO WASTE Progetto continuità scuola primaria scuola secondaria Salorno a.s. 2013_
Numeri Interi senza segno
I chicchi di riso e la sfida al Bramino
Il numero più grande Accademia dei Lincei
TRASFORMATA DI FOURIER
A.P. cat. B - 1 Per chi vuole: Libro di testo D.P. Curtis, K. Foley, K. Sen, C. Morin Informatica di base 2° edizione Mc Graw-Hill Companies.
Teoria dei sistemi Autore: LUCA ORRU'.
FONDAMENTI DI INFORMATICA
Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano Reti Logiche A Macchine non completamente specificate.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Algebra di Boole.
ARCHITETTURA DEI SISTEMI ELETTRONICI
Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano © 2001/02 - William Fornaciari Reti Logiche A Lezione.
Algebra di Boole.
Fondamenti di Informatica1 Memorizzazione su calcolatore L'unità atomica è il bit (BInary DigiT) L'insieme di 8 bit è detta byte Altre forme di memorizzazione:
Rappresentazione dell'informazione
Sintesi Reti Combinatorie
La tabella delle verità è un modo per rappresentare il comportamento di una funzione combinatoria La tabella delle verità ha due tipi di colonne: colonne.
Transcript della presentazione:

Cap. II. Funzioni Logiche G.- F. Dalla Betta, G. Soncini. Appunti di Elettronica 2. Cap. II. Funzioni Logiche II.1. Funzioni logiche binarie II.2. Operatori logici elementari AND, OR, NOT II.3. Operatori logici universali NAND, NOR II.4. Mappe di Karnaugh II.5. Progetto logico Esempi ed Esercizi Appendice 1

II.1. Funzioni logiche binarie Funzione logica binaria: il valore F dipende da un insieme ordinato di variabili binarie A,B,C,.. dove A, B, C, … possono assumere i valori 0 od 1. Ad n variabili binarie corrispondono 2n possibili combinazioni per F Le cifre binarie 0 e 1 possono venire associate a operazioni logiche 1® vero 0 ® falso (logica positiva) La funzione logica F è rappresentabile tramite la Tabella della Verità: ad ogni possibile combinazione dei valori 0 ed 1 delle variabili binarie indipendenti di ingresso viene associato il valore binario dipendente della funzione F di uscita. In alternativa, la funzione logica F è rappresentabile mediante una espressione contenente le variabili e le operazioni primitive di somma logica, prodotto logico e complementazione. 2

Esempio 1: rappresentare la tabella della verità della funzione logica F=F(A,B) che assume valore 1 (vero) solo quando A=B A 1 1 Soluzione: n=2 variabili binarie 22=4 combinazioni B 1 1 F 1 1 Esempio 2: rappresentare la tabella della verità della funzione logica F=F(A,B,C) che assume valore 1 (vero) solo quando A=B e B¹C Soluzione: A 1 1 1 1 B 1 1 1 1 n=3 variabili binarie 23=8 combinazioni C 1 1 1 1 F 1 1 3

Funzioni incomplete o non completamente specificate Il valore dell’uscita non risulta definito per alcune configurazioni di ingresso. Ciò può accadere per due diversi motivi: 1) Il codice di ingresso alla rete non impiega tutte le configurazioni disponibili. 2) Particolari valori di alcune variabili tolgono ogni significato ai valori contemporanemente presenti in uscita. Le funzioni incomplete possono essere rappresentate da Tabelle della Verità ricorrendo all’impiego di un nuovo simbolo (-) per le condizioni di indifferenza. Esempio A 1 1 1 1 B 1 1 1 1 C 1 1 1 1 F - - - 1 - 4

II.2. Operatori logici elementari Funzioni logiche binarie esprimibili tramite Tabella della Verità sintetizzabili tramite operatori logici elementari, OR, AND e NOT, traducibili in circuiti elettronici digitali (porte logiche) immediatamente realizzabili in forma integrata. Esistono quattro diverse funzioni di una variabile binaria u1 = 0, u4 = 1 costanti i u2 Buffer 5

Operatore logico NOT (invertitore) convenzionalmente rappresentato dal simbolo di figura svolge la funzione logica evidenziata dalla tabella A A A NOT A 1 1 Tabella della Verità (Truth Table) X= complemento di X o X negato Significato logico: Se A è vero, A è falso 8

Esistono sedici diverse funzioni di due variabili binarie AND OR NOR NAND XOR SAME

Operatore logico OR (somma logica) convenzionalmente rappresentato dal simbolo di figura svolge la funzione logica evidenziata dalla tabella A A B A+B A+B OR B 1 1 1 1 1 1 1 Tabella della Verità (Truth Table) Significato logico: Se o A o B o entrambi sono veri, anche A+B è vero 6

Operatore logico AND (prodotto logico) convenzionalmente rappresentato dal simbolo di figura svolge la funzione logica evidenziata dalla tabella A A B A·B AND A·B B 1 1 1 1 1 Tabella della Verità Truth Table Significato logico: Se e A e B sono veri, anche A·B è vero 7

Leggi elementari della logica binaria 10) X + Y = Y + X 11) X·Y = Y·X 12) X + (Y + Z) = (X + Y) + Z 13) X·(Y·Z) = (X·Y)·Z 14) X·(Y + Z) = (X·Y) + (X·Z) 15) X + X·Y = X 16) X·(X + Y) = X 17) (X + Y)·(X + Z) = X + Y·Z 18) X + X·Y = X + Y 19) X·Y + Y·Z + X·Z = X·Y + X·Z proprietà commutativa Postulati 1) 0 + X = X 2) 1 + X = 1 3) X + X = X 4) X + X = 1 5) 0·X = 0 6) 1·X = X 7) X·X = 0 8) X·X = X 9) X = X proprietà associativa proprietà distributiva identità ausiliarie Dimostrabili mediante ragionamento deduttivo Consentono di semplificare le funzioni logiche complesse 9

regola 14 regola 4 regole 14 e 18 regole 2 e 6 Esempio 1: semplificare la seguente funzione logica Soluzione: regola 14 regola 4 regole 14 e 18 regole 2 e 6 Funzione logica binaria in forma minima N.B. La minimizzazione della funzione logica binaria ne consente la sintesi con un numero minimo di operatori logici fondamentali. 11

Leggi di De Morgan a) prima legge di De Morgan (X+Y) = X·Y b) seconda legge di De Morgan (X·Y) = X + Y Ne consegue che una qualsiasi funzione logica può essere implementata utilizzando: o sole porte logiche OR e NOT o sole porte logiche AND e NOT La scelta ottimale dipende dalla tecnologia con cui vengono integrate le porte logiche elementari 13

Dimostrazione prima legge di De Morgan: ? Dimostriamo che soddisfa le due proprieta’del complemento: Z = X + Y; Z = X + Y = X · Y Z + Z = 1 X + Y + X · Y = X + Y + X = 1 + Y = 1 Z · Z = 0 (X + Y) · (X · Y) = X · X · Y + Y · Y · X = 0 Oppure: X Y X+Y X+Y X Y X · Y 1 1 1 1 1 1 1 1 1 1 1 1 1 15

Una qualsiasi funzione logica binaria Forme canoniche Una qualsiasi funzione logica binaria di cui sia nota la Tabella della verità, può essere espressa da: a) somma di prodotti delle variabili binarie di ingresso b) prodotto di somme delle variabili binarie di ingresso Tali espressioni costituiscono le cosidette Forme canoniche della funzione 18

a) somma di prodotti Esempio 1: esprimere come somma di prodotti fondamentali la funzione logica a tre variabili binarie definita dalla Tabella della Verità: A 1 1 1 1 B 1 1 1 1 C 1 1 1 1 F 1 1 1 1 Si considerino le sole combinazioni delle variabili binarie di ingresso corrispondenti ad una uscita F di valore 1, e per queste sole si scrivano i prodotti delle variabili (se 1) o dei loro negati (se 0). Forma canonica della funzione logica definita dalla tabella della verità. 20

b) prodotto di somme Esempio 2: esprimere come prodotto di somme fondamentali la funzione logica a tre variabili binarie definita dalla Tabella della Verità: A 1 1 1 1 B 1 1 1 1 C 1 1 1 1 F 1 1 1 1 1 Si considerino le sole combinazioni delle variabili binarie di ingresso corrispondenti ad una uscita F di valore 0, e per queste sole si scrivano le somme delle variabili (se 0) o dei loro negati (se 1). Forma canonica della funzione logica definita dalla tabella della verità 21

II.3 Operatori logici universali NOR = OR negato = OR con NOT in cascata NAND = AND negato = AND con NOT in cascata Altri operatori di conveniente impiego: XOR OR esclusivo SAME OR esclusivo negato Tutti disponibili in forma integrata (Porte logiche) 23

Operatore logico NOR NOR OR NOT (somma logica complementare o negata) convenzionalmente rappresentato dal simbolo di figura svolge la somma logica negata delle variabili binarie evidenziata dalla tabella A A B A+B NOR A+B B 1 1 1 Equivalente a: 1 1 A OR NOT A+B B 24

Operatore logico NAND NAND AND NOT (prodotto logico complementare o negato) convenzionalmente rappresentato dal simbolo di figura svolge il prodotto logico negato delle variabili binarie evidenziato dalla tabella A A B A·B NAND A·B B 1 1 1 1 1 Equivalente a: 1 1 A AND NOT A·B B 25

NAND e NOR sono operatori logici universali Una qualsiasi funzione logica F(A,B,C,…) è implementabile tramite opportune combinazioni: o di soli operatori logici NAND o di soli operatori logici NOR Dimostrazione: Tramite soli operatori logici NAND (o analogamente NOR) è possibile implementare i tre operatori logici fondamentali AND, OR, NOT Segue verifica per gli operatori NAND. Analoga procedura si applica per gli operatori NOR 26

NAND A A·A=A B=A A B=A A·B A·B 1 1 1 1 Esempio 1: implementare l’operatore NOT mediante operatori NAND soluzione A NAND A·A=A B=A Tabella della Verità A B=A A·B A·B 1 1 1 1 27

NAND NAND A A·B B A·B A B A·B A·B 1 1 1 1 1 1 1 1 Esempio 2: implementare l’operatore AND mediante operatori NAND Soluzione A A·B NAND B NAND A·B Tabella della Verità A B A·B A·B 1 1 1 1 1 1 1 1 28

NAND NAND NAND A A A·B= A+B B B A+B A B A·B A·B 1 1 1 1 1 1 1 1 1 1 1 Esempio 3: implementare l’operatore OR mediante operatori NAND Soluzione A A NAND A·B= A+B NAND B B De Morgan NAND Tabella della Verità A+B A B A·B A·B 1 1 1 1 1 1 1 1 1 1 1 29

Sintesi a NAND ( ) = (a + (b · c) ) = ((b · c) + 0 ) ( a + (b · c) ) A partire da un’espressione del tipo somme di prodotti (SP) oppure somme di prodotti di somme (SPS), ecc.: 1) inserire tutte le parentesi sottintese dalla espressione SP (priorità al prodotto logico); 2) complementare tutte le variabili che risultano direttamente operate dal simbolo di somma logica; 3) sostituire tutti i simboli + e · con Esempio (SP) : F = a + b · c = (a + (b · c) ) ( a + (b · c) ) = ( a (b c) ) Caso particolare F = b · c F = b c = b · c + 0 = ((b · c) + 0 ) ( (b · c) + 1) = ( (b c) 1)

Sintesi a NOR ( ) = c · (a + d ) · (a + ( c · d )) = ((b + c) · 1 ) A partire da un’espressione del tipo prodotti di somme (PS) oppure prodotti di somme di prodotti (PSP), ecc.: 1) inserire tutte le parentesi sottintese dalla espressione PS; 2) complementare tutte le variabili che risultano direttamente operate dal simbolo di prodotto logico; 3) sostituire tutti i simboli + e · con Esempio (PSP): F= c · (a + d ) · (a + c · d) = c · (a + d ) · (a + ( c · d )) c · (a + d ) · (a + ( c · d )) = c (a d ) (a ( c d )) Caso particolare F = b + c F = b c = (b + c) · 1 = ((b + c) · 1 ) ( (b + c) · 0) = ( (b c) 0)

Se o A o B (non entrambi!) sono veri, anche F è vero Operatore logico XOR (Exclusive OR) convenzionalmente rappresentato dal simbolo di figura confronta le variabili in ingresso e fornisce uscita 1 solo quando gli ingressi sono fra loro differenti A A B XOR B 1 1 1 1 Funzione logica XOR 1 1 Significato logico: Se o A o B (non entrambi!) sono veri, anche F è vero 30

Se entrambi A e B sono o veri o falsi, anche F è vero Operatore logico SAME (Exclusive OR negato) convenzionalmente rappresentato dal simbolo di figura confronta le variabili in ingresso e fornisce uscita 1 solo quando gli ingressi sono fra loro uguali A A B SAME SAME F B 1 1 1 Funzione logica SAME 1 1 1 Significato logico: Se entrambi A e B sono o veri o falsi, anche F è vero 32

II.4. Mappe di Karnaugh Metodo alternativo di rappresentazione delle funzioni logiche binarie Funzione logica binaria: Alle n variabili binarie di ingresso A, B, C,… corrispondono 2n possibili combinazioni (minterms) per F Esempio: n=2 (22=4 minterms) A A B A·B A·B B A·B A B Esempio: n=3 (23=8 minterms) A B A B A B A B C A B C A B C A B C A B C C A B C A B C A B C A B C 34

Esempio: n=4 (24=16 minterms) A B A B A B A B C D A B C D A B C D A B C D A B C D C D A B C D A B C D A B C D A B C D C D A B C D A B C D A B C D A B C D C D A B C D A B C D A B C D A B C D N.B. La sequenza delle variabili di ingresso in caselle adiacenti si diversifica sempre per un solo bit. Per n>4 introduco un’adiacenza nella terza dimensione … 35

Esempio: n=5 (25=32 minterms) A B A B A B A B C D A B C D A B C D A B C D A B C D C D A B C D A B C D A B C D A B C D C D A B C D A B C D A B C D A B C D C D A B C D A B C D A B C D A B C D E A B A B A B A B C D A B C D A B C D A B C D A B C D C D A B C D A B C D A B C D A B C D C D A B C D A B C D A B C D A B C D C D A B C D A B C D A B C D A B C D

Esempio: n=6 (26=64 minterms) E F E F A B A B A B A B A B A B A B A B C D ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD C D ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD C D ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD C D ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD E F E F A B A B A B A B A B A B A B A B C D ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD C D ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD C D ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD C D ABCD ABCD ABCD ABCD ABCD ABCD ABCD ABCD

Rappresentazione della funzione logica binaria: Mappa di Karnaugh Tabella della verità A 1 1 1 1 AB 0 0 0 1 1 1 1 0 C B 1 1 1 1 1 1 1 C 1 1 1 1 1 1 F 1 1 1 1 In ognuna delle 2n caselle della Mappa di Karnaugh si riporta il valore assunto dalla funzione F corrispondente alla combinazione delle n variabili di ingresso relativa alla casella stessa (valore del mintermine). 36

Rete combinatoria di costo minimo Criteri di ottimalità Una R.C. si dice di costo minimo se soddisfa in ordine gerarchico i seguenti obiettivi: minimo transitorio (massima velocità di elaborazione) minimo numero di gates minimo numero di interconnessioni tra i gates La corrispondente espressione minima ha le seguenti proprietà: è di tipo S.P. o P.S. (due stadi in cascata di AND/OR o OR/AND) impiega il minimo numero di AND, OR, NOT i prodotti e le somme elaborano il minimo numero di letterali (raggruppamenti di massima dimensione)

Procedura di minimizzazione di funzioni logiche binarie rappresentate mediante mappa di Karnough Sintesi di F minima come somma di prodotti logici. Procedura: a) raggruppare gli 1 contigui (in orizzontale o in verticale) in sottogruppi di 1, 2, 4, 8, … b) identificare il numero minimo di sottogruppi distinti, partendo dai sottogruppi maggiori b) con riferimento al sottogruppo: escludere le variabili binarie che cambiano considerare le sole variabili binarie che rimangono invariate come variabile stessa se 1, variabile negata se 0 c) trascrivere il prodotto logico per ciascun sottogruppo d) rappresentare la F come somma dei prodotti logici suddetti 37

Esempio 1 A 1 1 1 1 B 1 1 1 1 C 1 1 1 1 F 1 1 Tabella della verità Mappa di Karnaugh A 1 1 1 1 AB 0 0 0 1 1 1 1 0 C B 1 1 1 1 1 1 C 1 1 1 1 1 F 1 1 Funzione logica minima: Individuo il sottogruppo (1 sottogruppo da 2) individuo la variabile che cambia: A trascrivo il prodotto delle variabili che rimangono invariate: BC F = BC Procedura convenzionale: applico le regole della logica binaria Forma canonica: assendo: 38

Esempio 2 Esempio 3 Mappa di Karnaugh AB Funzione logica minima: 0 0 0 1 1 1 1 0 C 1 1 1 N.B.: le celle al bordo orizzontale o verticale si considerano fra loro contigue Esempio 3 Mappa di Karnaugh AB Funzione logica minima: 0 0 0 1 1 1 1 0 C 1 1 1 1 due sottogruppi da 2 celle, di cui uno verticale ed uno orizzontale 39

Esempio 4 Mappa di Karnaugh AB 0 0 0 1 1 1 1 0 CD 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 sottogruppo da 4: 1 sottogruppo da 2: B C D 1 sottogruppo da 1: Funzione logica minima: F= A C + B C D + A B C D 40

Esempio 5 (comprese condizioni indifferenza) Mappa di Karnaugh AB 0 0 0 1 1 1 1 0 CD 0 0 1 1 - 0 1 1 1 - - 1 1 - 1 0 1 1 sottogruppi da 4: A C 1 sottogruppo da 2: A B D Funzione logica minima: F= A C + A B D

Mappe di Karnaugh con variabili riportate Sono mappe che contengono variabili al loro interno e si possono ottenere come “compressione” di mappe ordinarie. Possono essere considerate una forma intermedia tra l’espressione booleana e la mappa di una funzione logica. Esempio AB 0 0 0 1 1 1 1 0 C X - 1 1 Y

Procedura di sintesi di una mappa a variabili riportate Sintesi basata su somma di prodotti logici. Si azzerano tutte le variabili riportate nella mappa e si esegue una normale sintesi degli 1 contigui Si pongono uguali ad indifferenza gli 1 appena sintetizzati e si sceglie poi una variabile ponendola uguale a 1 lasciando le rimanenti a 0. Si sintetizza la mappa cosi’ ottenuta e si pone il risultato in AND con la variabile scelta (le altre si tralasciano !). Si ripete l’operazione precedente per tutte le variabili riportate sulla mappa considerando una variabile e la sua negata come variabili indipendenti da sintetizzare in due passi distinti. L’espressione booleana finale e’ l’OR di tutti gli AND trovati. N.B. Le condizione di indifferenza restano immutate e possono essere usate per ottimizzare la copertura. 37

Esempio 1 Sintetizzare la seguente mappa a una variabile riportata. AB 0 0 0 1 1 1 1 0 C D - D 1 1 D Azzero le variabili e sintetizzo gli 1. AB 0 0 0 1 1 1 1 0 C - 1 1

Pongo D=1, D=0, 1=indifferenza. AB 0 0 0 1 1 1 1 0 C 1 - 1 - 1 Pongo D=0, D=1, 1=indifferenza. AB 0 0 0 1 1 1 1 0 C - - 1 1 Calcolo F come OR dei tre AND.

Esempio 2 Sintetizzare la seguente mappa a due variabili riportate. AB 0 0 0 1 1 1 1 0 C - D - 1 1 E E Azzero le variabili e sintetizzo gli 1. AB 0 0 0 1 1 1 1 0 C - - 1 1 Pongo D=1, E=0, E=0, 1=indifferenza. AB 0 0 0 1 1 1 1 0 C - 1 - - 1

Pongo D=0, E=1, E=0, 1=indifferenza. AB 0 0 0 1 1 1 1 0 C - - - 1 1 1 Pongo D=0, E=0, E=1, 1=indifferenza. AB 0 0 0 1 1 1 1 0 C - - - 1 1 1 Calcolo F come OR dei tre AND.

Esempio 3 Sintetizzare la seguente mappa con caselle contenenti espressioni booleane di due variabili riportate. AB 0 0 0 1 1 1 1 0 C 1 D+E 1 D · E 1 - D Metodo 1: ogni operazione booleana distinta va trattata come una variabile “indipendente” (cosi’ come in precedenza si e’ fatto per una variabile e la sua negata). Azzero le variabili e sintetizzo gli 1. AB 0 0 0 1 1 1 1 0 C 1 1 1 - 37

Pongo D=1, DE=0, D+E=0, 1=indifferenza. AB 0 0 0 1 1 1 1 0 C - 1 - - 1 Pongo D=0, DE=1, D+E=0, 1=indifferenza. AB 0 0 0 1 1 1 1 0 C - 1 1 - - Pongo D=0, DE=0, D+E=1, 1=indifferenza. AB 0 0 0 1 1 1 1 0 C - 1 1 - -

Calcolo infine F come OR delle diverse sottoespressioni. N.B. L’espressione cosi’ ottenuta non e’ minima! Metodo 2: per ottenere una sintesi migliore devo considerare le come variabili le singole variabili e non le celle. Azzero le variabili e sintetizzo gli 1. AB 0 0 0 1 1 1 1 0 C 1 1 1 - Pongo D=1, E=0, 1=indifferenza, implicazioni D+E=1, DE=0 AB 0 0 0 1 1 1 1 0 C - 1 1 - - 1

Pongo D=0, E=1, 1=indifferenza, implicazioni D+E=1, DE=0 AB 0 0 0 1 1 1 1 0 C - 1 1 - - Pongo D=1, E=1, 1=indifferenza, implicazioni D+E=1, DE=1 AB Gia’ coperta ! 0 0 0 1 1 1 1 0 C - 1 1 1 - - 1 Calcolo infine F come OR delle diverse sottoespressioni.

II.5. Progetto logico Data una funzione logica binaria, determinare una possibile combinazione di Operatori logici che la implementino Operatori logici elementari AND; OR; NOT Operatori logici universali NAND; NOR La soluzione non è univoca: esiste una soluzione ottimale: vincoli tecnologici ed economici 43

Progetto logico: procedura Descrizione funzionale della rete combinatoria definizione della relazione logica fra l’uscita F e le variabili binarie di ingresso A, B, C,... Rappresentazione tramite Tabella della verità Deduzione della funzione logica F(A, B, C,…) in forma canonica (o somma di prodotti o prodotti di somme) Minimizzazione della funzione logica o tramite le leggi elementari della logica binaria o tramite le Mappe di Karnaugh Sintesi della funzione tramite Operatori logici elementari (AND, OR, NOT) e/o universali (NAND, NOR) 44

Descrizione funzionale della rete combinatoria Esempio: date tre variabili binarie in ingresso A, B, C, si abbia: F=A per C=0; F=B per C=1 Rappresentazione tramite Tabella della verità A 1 1 1 1 B 1 1 1 1 C 1 1 1 1 F 1 1 1 1 Deduzione della funzione logica F(A, B, C,…) in forma canonica Somma di prodotti: Prodotto di somme: 45

Minimizzazione della funzione logica o tramite le leggi elementari della logica binaria o tramite le Mappe di Karnaugh Mappa di Karnaugh AB 0 0 0 1 1 1 1 0 C Funzione logica minima: 1 1 1 1 1 2 sottogruppi orizzontali da 2: AC, BC Equivalente (ma meno conveniente): 1 sottogruppo verticale da 2: 2 sottogruppi singoli da 1: 46

Sintesi della funzione tramite operatori logici elementari (AND; OR; NOT) A A B B C C B BC AND C F OR C C NOT AC AND A 47

Sintesi della funzione tramite operatori logici universali (NAND oppure NOR) In questo esempio parto da forma SP, quindi uso il NAND: A A B B C C BC NAND F NAND AC NAND 48

Appendice X Y X+Y X·(X+Y) 1 1 1 1 1 1 1 1 1 Esempio: dimostrazione della identità ausiliaria X·(X + Y) = X Applico le regole dell’algebra binaria per la verifica “a posteriori” della identità. X·(X + Y) = X ·X + X ·Y = X + X ·Y = X Verifica mediante tabella della verità X Y X+Y X·(X+Y) 1 1 1 1 1 1 1 1 1 Tutte le leggi elementari della logica binaria sono dimostrabili mediante analoga procedura 10

Esempio: dimostrazione della identità ausiliaria X·Y + Y·Z + X·Z = X·Y + X·Z mediante diagrammi di Venn (teoria degli insiemi) X Y X X Z X·Y Y·Z = X· Y· Z +X· Y· Z X·Z

Esercizio “Cinque astronauti A, B, C, D, E sono stati addestrati per partecipare ad una missione spaziale. Individuare gli equipaggi possibili tenendo conto che prove psico-fisiche impongono di soddisfare contemporaneamente i seguenti vincoli: - A o B devono essere sicuramente inclusi, ma non insieme; - C o E devono essere sicuramente inclusi, anche insieme; - qualora D sia incluso, lo deve essere anche B; - A e C possono essere o entrambi inclusi o entrambi esclusi; - qualora E sia incluso, lo devono essere anche C e D. Soluzione - ??? Risposta - Devono partire A e C.

Dimostrazione seconda legge di De Morgan: ? complemento ? Z = X · Y ; Z = X · Y = X + Y complemento ? Z + Z = 1 X · Y + X + Y = Y + X + Y = 1 + X = 1 Z · Z = 0 (X · Y) · (X + Y) = X · Y · X + X ·Y ·Y = 0 X Y X·Y X·Y X Y X + Y 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 17

Forme algebriche compatte a) somme di prodotti F = S m(a, b, c, ...), dove a, b, c rappresentano il corrispondente decimale dei valori delle variabili d’ingresso per cui l’uscita vale 1. b) prodotti di somme F = P M(A, B, C, ...) dove A, B, C rappresentano il corrispondente decimale dei valori delle variabili d’ingresso per cui l’uscita vale 0 Nel caso di funzioni incomplete si aggiunge un termine d(x, y, z, ...) dove x, y, z rappresentano il corrispondente decimale dei valori delle variabili d’ingresso per cui l’uscita è indeterminata) A 1 1 1 1 Esempio: F = Sm(1, 3, 6)+d(2, 5) F = PM(0, 4, 7)+d(2, 5) B 1 1 1 1 C 1 1 1 1 F 1 - 1 - 1

Procedura di minimizzazione di funzioni logiche binarie rappresentate mediante mappa di Karnough Sintesi di F minima come prodotto di somme logiche Procedura: a) raggruppare gli 0 contigui (in orizzontale o in verticale) in sottogruppi di 1, 2, 4, 8, … b) identificare il numero minimo di sottogruppi distinti, partendo dai sottogruppi maggiori b) con riferimento al sottogruppo: escludere le variabili binarie che cambiano considerare le sole variabili binarie che rimangono invariate come variabile stessa se 0, variabile negata se 1 c) trascrivere la somma logica per ciascun sottogruppo d) rappresentare la F come prodotto delle somme logiche suddette 41

Esempio 1 Mappa di Karnaugh Tabella della verità A 1 1 1 1 AB 0 0 0 1 1 1 1 0 C B 1 1 1 1 1 1 1 C 1 1 1 1 1 1 1 1 F 1 1 1 1 1 1 Funzione logica minima: Individuo il sottogruppo (1 sottogruppo da 2) individuo la variabile che cambia: trascrivo la somma delle variabili che rimangono invariate: 42

Esempio 2 Mappa di Karnaugh AB 0 0 0 1 1 1 1 0 CD 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 Funzione logica minima: F = ( C + D ) · (A + B + D )

Esercizio Realizzare la sintesi a NOR della funzione logica espressa dalla seguente Mappa di Karnaugh: AB 0 0 0 1 1 1 1 0 CD 0 0 1 1 0 1 - 1 1 - 1 1 0 1 1 Funzione logica minima di tipo PS: F = A ·( B + D ) · (C + D )

F = (A) · ( B + D ) · ( C + D ) (A ) · ( B + D ) · ( C + D ) NOR NOR D NOR C