Algebra di commutazione. Reti combinatorie

Documenti analoghi
Il Livello Logico-Digitale

Algebra di commutazione

Il Livello Logico-Digitale. Reti combinatorie -2015

Algebra di Commutazione

I circuiti digitali: dalle funzioni logiche ai circuiti

Richiami di Algebra di Commutazione

Algebra di Boole. Tavole di verità. Fondamenti di Informatica Algebra di Boole. Si basa su tre operazioni logiche: AND (*) OR (+) NOT (!

Logica combinatoria. La logica digitale

Fondamenti dell Informatica Algebra di Boole. Prof.ssa Enrica Gentile

Corso di studi in Ingegneria Elettronica A.A. 2006/2007. Calcolatori Elettronici. Esercitazione n 2

Algebra di Commutazione

I circuiti digitali: dalle funzioni logiche ai circuiti (le SOP)

Fondamenti di Informatica

Reti logiche: analisi, sintesi e minimizzazione Esercitazione. Venerdì 9 ottobre 2015

Calcolatori Elettronici Lezione 2 Algebra delle reti Logiche

Minimizzazione di reti/funzioni logiche con le Mappe di Karnaugh. 12 ottobre 2015

I circuiti digitali: dalle funzioni logiche ai circuiti

I circuiti digitali: dalle funzioni logiche ai circuiti (le SOP)

Lezione 3. Architetture dei calcolatori e delle reti. Algebra di Boole circuiti logici. Sommario. ! Algebra di Boole

I circuiti binari: definizione delle funzioni logiche

Circuiti digitali combinatori

Algebra di Boole. Modulo 2. Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB)

Algebra di Boole Cenni all Algebra di Boole

PORTE LOGICHE. Si effettua su due o più variabili, l uscita assume lo stato logico 1 se almeno una variabile di ingresso è allo stato logico 1.

Algebra di Boole Cenni all Algebra di Boole

Elementi di informatica

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica Operazioni logiche

Lezione 3. Algebra di Boole e circuiti logici. A. Borghese, F. Pedersini Dip. Scienze dell Informazione Università degli Studi di Milano

Algebra di Boole X Y Z V. Algebra di Boole

Fondamenti di Informatica

Algebra di Boole Cenni all Algebra di Boole. Algebra Booleana: definizione

I circuiti digitali: dalle funzioni logiche ai circuiti

Esercitazione del 15/03/ Soluzioni

Laboratorio del 10/11/ Soluzioni

Algebra di Boole. Cenni all Algebra di Boole

Esercitazioni su circuiti combinatori

Esercizi di sintesi - Soluzioni

Algebra di Boole. Introdotta nel 1874 da George Boole per fornire una rappresentazione algebrica della logica

Algebra di Boole e circuiti dalle funzioni logiche ai circuiti digitali

Reti logiche: analisi, sintesi e minimizzazione. Giovedì 9 ottobre 2014

Le variabili logiche possono essere combinate per mezzo di operatori detti connettivi logici. I principali sono:

Algebra di commutazione

Algebra di commutazione

Il livello logico digitale

circuiti combinatori Esercitazioni su Algebra Booleana: funzioni logiche di base Algebra booleana: equazioni

17/10/16. Espressioni Booleane

Costruzione di. circuiti combinatori

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico

Algebra di Boole. Andrea Passerini Informatica. Algebra di Boole

Fondamenti di Informatica

Algebra e circuiti elettronici

Circuiti digitali. Operazioni Logiche: Algebra di Boole. Esempio di circuito. Porte Logiche. Fondamenti di Informatica A Ingegneria Gestionale

Reti Logiche Combinatorie

Sintesi di Reti Combinatorie Ottimizzazione di Reti Combinatorie a Due Livelli: Metodo di Karnaugh

Algebra di Boole Algebra di Boole

Algebra di commutazione

Logica booleana. Bogdan Maris ( )

Fondamenti di Informatica

Algebra di commutazione

Algebra di Boole e circuiti dalle funzioni logiche ai circuiti digitali

Architettura degli elaboratori Ricapitolando (ciascuna freccia rappresenta un procedimento, che vedremo)

Procedimento di sintesi. Dalla tavola della verità si ricavano tante funzioni di commutazione quante sono le variabili di uscita

Circuiti e reti combinatorie. Appendice A (libro italiano) + dispense

Esercitazioni di Reti Logiche. Lezione 3

Elementi di Informatica A. A. 2016/2017

I circuiti logici: definizione delle funzioni logiche

Esercitazione del 10/03/ Soluzioni

Esercitazioni di Reti Logiche. Algebra Booleana e Porte Logiche

I circuiti logici: definizione delle funzioni logiche

Tutorato architettura degli elaboratori modulo I (lezione 3)

Sintesi di reti combinatorie. Motivazioni. Sommario. Funzioni Espressioni

Sintesi di Reti Combinatorie Ottimizzazione di Reti Combinatorie a Due Livelli: Metodo di Karnaugh. Mariagiovanna Sami a.a.

I circuiti logici: definizione delle funzioni logiche

Algebra di Boole: mappe di Karnaugh e funzioni NAND e NOR

La seconda forma canonica Circuiti notevoli. Sommario

13/10/16. FB ed EB associate. Forme canoniche e forme normali. Assumiamo di avere n variabili {x 1,,x n }:

Sintesi di reti combinatorie a due livelli: Introduzione (2)

Algebra di commutazione

Algebra & Circuiti Elettronici. Tabelle di Verità. Algebra booleana e circuiti logici. Blocco logico

Fondamenti di Informatica. Algebra di Boole

Algebra & Circuiti Elettronici. Algebra booleana e circuiti logici. Blocco logico. Tabelle di Verità e Algebra Booleana

Ottimizzazione delle reti combinatorie

Sintesi di reti combinatorie a due livelli: Sintesi di reti combinatorie a due livelli:

Corso di Calcolatori Elettronici I

Sintesi di Reti Logiche Combinatorie

Il livello logico digitale

Algebra di Boole e circuiti

associate ai corrispondenti valori assunti dall uscita.

Ottimizzazione delle reti combinatorie

ALGEBRA DI BOOLE. In caso di errori di battitura o se si volesse contribuire a migliorare la seguente guida contattare:

Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica ALGEBRA BOOLEANA

A.A. 2003/2004 Appunti ed integrazioni alle esercitazioni di Reti Logiche A

Algebra di Boole: mappe di Karnaugh

A.A. 2003/2004 Esercizi di Reti Logiche A

Segnali in circuiti elettronici digitali

Proposizioni logiche e algebra di Boole

Algebra Booleana. 13. Rif:

Transcript:

lgebra di commutazione Reti combinatorie Corso CSO prof. C. Silvano lgebra di oole L algebra di oole (dal suo inventore, il matematico inglese George oole, 1815-1864) 86 serve e a descrivere e e le operazioni o logiche. Componenti dell algebra di oole: L insieme di elementi (operandi booleani) sui quali vengono eseguite le operazioni; Operatori booleani che agiscono sugli elementi dell insieme ; Elementi neutri di necessari a definire le operazioni; 22/11/2009 Corso CSO prof. C. Silvano Politecnico di Milano 2 Corso CSO prof. C. Silvano Politecnico di Milano 1

lgebra di commutazione L insieme contiene solo due elementi a cui vengono assegnati per convenzione i valori 0 (falso) e 1 (vero): = {0, 1}. Gli elementi neutri corrispondono ai due soli valori dell insieme. Operatori logici elementari: and: vale 1 solo se applicata a due valori entrambi uguali a 1, altrimenti vale 0; or: vale 0 solo se applicata a due valori entrambi uguali a 0, altrimenti vale 1; not: vale 1 se applicata al valore 0, e vale 0 se applicata al valore 1. 22/11/2009 Corso CSO prof. C. Silvano Politecnico di Milano 3 Operatori logici e tabelle di verità Il valore di un operazione logica elementare (e più in generale di una funzione logica) può essere espresso da una Tabella di Verità (Truth Table, TT) che elenca tutte le combinazioni dei valori di ingresso e il corrispondente valore del risultato dell operazione logica. n = 2 ingressi colonna uscita 2 n = 2 2 = 4 righe f = and 0 0 0 0 1 0 1 0 0 1 1 1 22/11/2009 Corso CSO prof. C. Silvano Politecnico di Milano 4 Corso CSO prof. C. Silvano Politecnico di Milano 2

Tabella di Verità (Truth Table, TT) La tabella di verità di una fuzione a n ingressi ha 2 n righe, che corrispondono a tutte le possibili configurazioni di ingresso La tabella di verità ha due gruppi di colonne: colonne degli ingressi, le cui righe contengono tutte le combinazioni di valori delle variabili della funzione colonna dell uscita, che riporta i corrispondenti valori assunti dalla funzione 22/11/2009 5 Corso CSO prof. C. Silvano Politecnico di Milano Porte logiche elementari Rappresentano circuiti che forniscono in uscita il risultato di operazioni logiche elementari sui valori delle n variabili in ingresso. La funzione calcolata da un circuito con n ingressi è descritta da una corrispondente tabella per ciascuna delle 2 n combinazioni degli ingressi. U 22/11/2009 Corso CSO prof. C. Silvano Politecnico di Milano 6 Corso CSO prof. C. Silvano Politecnico di Milano 3

NOT (!): complemento o negazione Tabella di verità Simbolo funzionale U 0 1 1 0 U Notazione: Not! 22/11/2009 Corso CSO prof. C. Silvano Politecnico di Milano 7 ND (*): prodotto logico Tabella di verità Simbolo funzionale U 0 0 0 0 1 0 1 0 0 1 1 1 U Notazione: and && x 22/11/2009 Corso CSO prof. C. Silvano Politecnico di Milano 8 Corso CSO prof. C. Silvano Politecnico di Milano 4

OR (+): somma logica Tabella di verità Simbolo funzionale U 0 0 0 0 1 1 1 0 1 1 1 1 U Notazione: or + 22/11/2009 Corso CSO prof. C. Silvano Politecnico di Milano 9 Porte logiche Componendo le porte logiche elementari not, and e or è possibile ottenere le porte logiche: nand nor xor xnor 22/11/2009 10 Corso CSO prof. C. Silvano Politecnico di Milano Corso CSO prof. C. Silvano Politecnico di Milano 5

NND Tabella di verità Simbolo funzionale U 0 0 1 0 1 1 1 0 1 1 1 0 U Equivalenza: nand = not ( and ) Notazione: nand ( && ) ( ) ( x ) 22/11/2009 Corso CSO prof. C. Silvano Politecnico di Milano 11 Tabella di verità U 0 0 1 0 1 0 1 0 0 1 1 0 NOR Simbolo funzionale U Equivalenza: nor = not ( or ) Notazione: nor ( ) ( + ) 22/11/2009 Corso CSO prof. C. Silvano Politecnico di Milano 12 Corso CSO prof. C. Silvano Politecnico di Milano 6

XOR: OR esclusivo Tabella di verità U 0 0 0 0 1 1 1 0 1 1 1 0 Simbolo funzionale Equivalenza: xor = ( and ) or ( and ) Notazione: xor ( ^ ) ( ) U 22/11/2009 Corso CSO prof. C. Silvano Politecnico di Milano 13 Tabella di verità U 0 0 1 0 1 0 1 0 0 1 1 1 XNOR Simbolo funzionale U Equivalenza: xnor= not ( xor ) Notazione: xnor ( ^ ) ( ) 22/11/2009 Corso CSO prof. C. Silvano Politecnico di Milano 14 Corso CSO prof. C. Silvano Politecnico di Milano 7

Generalizzazione di ND e OR Le porte logiche elementari ND e OR a 2 ingressi si possono generalizzare a 3, 4,, 8 ingressi (raramente più di 8). Nota bene: non tutti i tipi di porte a più di 2 ingressi si possono realizzare come cascata di porte a 2 ingressi (funziona sempre con ND, OR, X-OR, X-NOR) 22/11/2009 15 Corso CSO prof. C. Silvano Politecnico di Milano Esempio: ND a 3 ingressi Tabella di verità C X 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 C Simbolo funzionale L uscita Luscita vale 1 se e solo se tutti e 3 gli ingressi valgono 1. X 22/11/2009 Corso CSO prof. C. Silvano Politecnico di Milano 16 Corso CSO prof. C. Silvano Politecnico di Milano 8

Esempio: ND a 3 ingressi La porta ND a 3 ingressi si può realizzare come cascata di porte ND a 2 ingressi C = () C C X X C 22/11/2009 Corso CSO prof. C. Silvano Politecnico di Milano 17 Esempio: ND a 4 ingressi X = C D C D X Circuito a cascata X = ( () C ) D Circuito ad albero X = () (CD) C D C X D 22/11/2009 Corso CSO prof. C. Silvano Politecnico di Milano 18 Corso CSO prof. C. Silvano Politecnico di Milano 9

Porta OR a 3 ingressi Simbolo funzionale C L uscita vale 0 se e solo se tutti e 3 gli ingressi valgono 0 X = + + C = ( + ) + C X Tabella di verità C X 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 22/11/2009 Corso CSO prof. C. Silvano Politecnico di Milano 19 Funzioni combinatorie Una funzione combinatoria ( o funzione booleana o funzione logica) corrisponde ad un espressione booleana, contenente una o più variabili booleane composte attraverso gli operatori booleani ND, OR, ecc Le variabili e le funzioni sono binarie. Esempio di funzione combinatoria a tre ingressi e un uscita: f (,, C) = + C Per specificare il comportamento di una funzione combinatoria è possibile specificare, per ogni possibile configurazione degli ingressi, il valore dell uscita (Tabella di verità). 22/11/2009 Corso CSO prof. C. Silvano Politecnico di Milano 20 Corso CSO prof. C. Silvano Politecnico di Milano 10

Esempio di f( 2 ) = 1 f 0 0 1 0 1 1 1 0 1 1 1 0 f (, ) = nand 22/11/2009 21 Esempio f( 3 ) = 1 C f 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 f (,, C) = not ( or or C) 22/11/2009 22 Corso CSO prof. C. Silvano Politecnico di Milano 11

Funzioni combinatorie Più in generale, le funzioni logiche hanno n ingressi e m uscite: f ( n ) = m assumendo che l insieme d ingresso I sia composto dai numeri binari a n bit e l insieme d uscita O dai numeri binari a m bit La tabella di verità ha 2 n righe e (n+m) colonne. 22/11/2009 23 Esempio di f( 2 ) = 2 f1 f2 0 0 0 1 0 1 0 0 1 0 0 0 1 1 1 1 f1 (, ) = and f2 (, ) = xnor 22/11/2009 24 Corso CSO prof. C. Silvano Politecnico di Milano 12

lgebra di commutazione lgebra che descrive le funzioni logiche (e i corrispondenti circuiti) che si ottengono combinando le porte logiche elementari. 22/11/2009 25 Proprietà dell algebra di oole Gli operatori elementari dell algebra di oole sono caratterizzati ti da una serie di identità e teoremi che sono riassunti nella seguente tabella. 22/11/2009 26 Corso CSO prof. C. Silvano Politecnico di Milano 13

Proprietà dell algebra di oole Proprietà ND (x) OR (+) Identità 1x = 0+ = Elemento nullo 0 x = 0 1 + = 1 Idempotenza x = + = Inverso x = 0 + = 1 Commutativa x = x + = + ssociativa ( x ) x C = x ( x C) ( + ) + C = + ( + C) Distributiva x ( + C) = ( x ) + ( x C) + ( xc) = ( + ) x ( + C) ssorbimento x ( + ) = + = De Morgan ( x ) = + ( + ) = x 22/11/2009 27 Osservazioni Le proprietà commutativa, distributiva, identità e inverso sono postulati (cioè assunti veri per definizione). Le altre proprietà sono teoremi (dimostrabili per induzione matematica completa attribuendo alle variabili coinvolte sia il valore 0 che il valore 1). 22/11/2009 28 Corso CSO prof. C. Silvano Politecnico di Milano 14

Principio di dualità Nell algebra di oole vale il principio di dualità. Il duale di una funzione booleana si ottiene sostituendo and a or, or a and, gli 0 agli 1, e gli 1 agli 0. 22/11/2009 29 Proprietà dell inverso + = 1 + ( ) = 1 ttenzione: + = xnor 22/11/2009 30 Corso CSO prof. C. Silvano Politecnico di Milano 15

Teorema di De Morgan ( x ) = + La negazione dell and d di due variabili (cioè il nand di due variabili) equivale all or delle variabili negate. Negando entrambi i membri delle due precedenti espressioni si ricava: x = ( + ) L and di due variabili equivale al nor delle variabili negate. 22/11/2009 31 Teorema di De Morgan ( + ) = x La negazione dell or di due variabili (cioè il nor di due variabili) equivale all and delle variabili negate. Negando entrambi i membri delle due precedenti espressioni si ricava: + = ( x ) L or di due variabili equivale al nand delle variabili negate. 22/11/2009 32 Corso CSO prof. C. Silvano Politecnico di Milano 16

Equivalenza Due espressioni booleane sono equivalenti se hanno la stessa tabella di verità. Esempi: L operatore xor equivale a: xor = ( and ) or ( and ) L operatore xnor equivale a: xnor=( and ) or(and) 22/11/2009 33 Tautologia Un espressione booleana è una tautologia se è sempre vera. Esempio: ( or ) 22/11/2009 34 Corso CSO prof. C. Silvano Politecnico di Milano 17

Contraddizione Un espressione booleana è una contraddizione se è sempre falsa: Esempio: ( and ) 22/11/2009 35 Operatori universali I tre operatori logici elementari (and, or, not) costituiscono un insieme funzionalmente completo (cioè consentono di rappresentare una qualunque funzione di commutazione). Problema: Esistono insiemi di operatori più ridotti, che siano ancora un insieme funzionalmente completo? 22/11/2009 36 Corso CSO prof. C. Silvano Politecnico di Milano 18

Operatori universali Consideriamo l insieme composto dai due operatori (not, and): per vedere se è funzionalmente completo dobbiamo verificare se, mediante applicazioni anche ripetute di not e and, è possibile realizzare l operatore or Dal teorema di De Morgan: ( x ) = + E possibile realizzare l operatore or componendo gli operatori not e and l insieme se e( (not, and) è funzionalmente completo. peto 22/11/2009 37 Operatori universali Consideriamo l insieme composto dai due operatori (not, or): per vedere se è funzionalmente completo dobbiamo verificare se, mediante applicazioni anche ripetute di not e or, è possibile realizzare l operatore and Dal teorema di De Morgan: ( + ) = E possibile realizzare l operatore and componendo gli operatori not e or l insieme se e( (not, or) è funzionalmente completo. peto 22/11/2009 38 Corso CSO prof. C. Silvano Politecnico di Milano 19

Operatori universali l contrario se consideriamo l insieme composto dai due operatori (and, or) si dimostra che non è funzionalmente completo, perché la loro composizione non permette di ricavare in alcun modo l operatore not. 22/11/2009 39 Operatori universali Qual è il numero minimo di porte logiche con cui è possibile implementare tutte le altre? Per il teorema di De Morgan, riusciamo a passare da tre a due (con not e and si ottiene or e con not e or si ottiene and). E possibile usarne una sola? 22/11/2009 40 Corso CSO prof. C. Silvano Politecnico di Milano 20

Operatori universali Problema: L insieme composto dal solo operatore (nor) è un insieme funzionalmente completo? 22/11/2009 41 Operatori universali Per vedere se l operatore nor costituisce un insieme funzionalmente completo dobbiamo verificare se mediante il nor è possibile realizzare gli operatori not, and, e or: 0 nor = not (oppure nor = not ) ( nor ) nor 0 = or ( nor 0) nor ( nor 0) = and L operatore nor è funzionalmente completo (operatore universale). 22/11/2009 42 Corso CSO prof. C. Silvano Politecnico di Milano 21

Operatori universali Problema: L insieme composto dal solo operatore (nand) è un insieme funzionalmente completo? 22/11/2009 43 Soluzione Per vedere se l operatore nand costituisce un insieme funzionalmente completo dobbiamo verificare se mediante il nand è possibile realizzare gli operatori not, and, e or 1 nand = not (oppure nand = not ) ( nand ) nand 1 = and ( nand 1) nand ( nand 1) = or Nota: Tali relazioni si possono ottenere da quelle viste per l operatore nor applicando il principio di dualità. L operatore nand è funzionalmente completo (operatore universale). 22/11/2009 44 Corso CSO prof. C. Silvano Politecnico di Milano 22

Circuiti combinatori 22/11/2009 45 Dalla funzione logica al circuito In generale, ad ogni funzione logica (data come espressione booleana) è possibile associare il circuito logico equivalente (chiamato circuito combinatorio) composto dall interconnessione di porte logiche elementari. Un circuito combinatorio è un circuito digitale: dotato di n 1 ingressi principali formato da porte logiche elementari privo di retroazioni 22/11/2009 CSO prof. C. Silvano 46 Corso CSO prof. C. Silvano Politecnico di Milano 23

Dalla funzione logica al circuito Costruzione del circuito combinatorio a partire dalla funzione logica variabili e variabili negate ogni termine dell espressione è sostituito dal corrispondente circuito composto da porte fondamentali le uscite corrispondenti ad ogni termine si compongono come indicato dagli operatori... 22/11/2009 47 F(,, C) = + C ingressi principali Esempio 1 segnale interno uscita C C F segnale interno 22/11/2009 48 Corso CSO prof. C. Silvano Politecnico di Milano 24

Esempio 2 f (,, C) = + C f C C 22/11/2009 49 nalisi di circuiti combinatori: dal circuito alla funzione logica In generale, dato un circuito (o rete combinatoria), è possibile determinare la funzione logica calcolata. 22/11/2009 50 Corso CSO prof. C. Silvano Politecnico di Milano 25

nalisi di circuiti combinatori: dal circuito alla funzione logica Dato il circuito combinatorio (schema logico): (1) Si applicano dei nomi ai segnali interni: p, q e r p C q F r 22/11/2009 51 nalisi di circuiti combinatori: dal circuito alla funzione logica (2) Si ricavano le espressioni booleane corrispondenti ai segnali interni: p = q = C p r = C C q F r 22/11/2009 52 Corso CSO prof. C. Silvano Politecnico di Milano 26

nalisi di circuiti combinatori: dal circuito alla funzione logica (3) Si ricava l uscita come espressione booleana in funzione dei segnali interni: F = p + q + r p C q F r 22/11/2009 53 nalisi di circuiti combinatori: dal circuito alla funzione logica (4) Per sostituzione, si ricava l uscita come espressione booleana in funzione degli ingressi principali: F = p + q + r F(,, C) = + C + C 22/11/2009 54 Corso CSO prof. C. Silvano Politecnico di Milano 27

nalisi di circuiti combinatori: dal circuito alla funzione logica p C q F r F(,, C) = + C + C L espressione booleana così trovata è equivalente allo schema logico di partenza 22/11/2009 55 Circuiti combinatori Circuiti logici digitali in cui le decisioni logiche dipendono solo da una combinazione degli ingressi: Il risultato non dipende dallo stato del circuito Il valore delle uscite è aggiornato immediatamente dopo il cambiamento degli ingressi. 22/11/2009 56 Corso CSO prof. C. Silvano Politecnico di Milano 28

Circuiti combinatori I circuiti combinatori sono senza memoria: ogni volta che vengono forniti gli stessi valori in ingresso, si ottengono le stesse uscite (indipendentemente dalla storia passata) I circuiti combinatori possono essere descritti in modo equivalente come: Espressioni booleane Tabella di verità a più ingressi Circuiti logici 22/11/2009 57 Esempio C f f (,, C) = + C 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 f C 22/11/2009 58 Corso CSO prof. C. Silvano Politecnico di Milano 29

Simulazione circuitale (dal circuito alla tabella della verità) La tabella di verità di una circuito combinatorio può anche essere ricavata per simulazione del funzionamento del circuito combinatorio stesso Per simulare il funzionamento circuitale di una rete combinatoria, si applicano dei valori agli ingressi, e li si propaga lungo il circuito fino all uscita 22/11/2009 59 Es. di simulazione circuitale (corrisponde alla riga 0 della tabella) C 0 0 0 0 1 1 F Risultato della simulazione: F(0, 0, 0) = 1 22/11/2009 60 Corso CSO prof. C. Silvano Politecnico di Milano 30

Es. di simulazione circuitale (corrisponde alla riga 1 della tabella) C 0 0 1 0 0 0 F Risultato della simulazione: F(0, 0, 1) = 0 22/11/2009 61 Es. di simulazione circuitale C (corrisponde alla riga 2 della tabella) 0 0 1 1 0 1 F Risultato della simulazione: F(0, 1, 0) = 1 22/11/2009 62 Corso CSO prof. C. Silvano Politecnico di Milano 31

Es. di simulazione circuitale C (corrisponde alla riga 3 della tabella) 0 0 1 0 1 0 F Risultato della simulazione: F(0, 1, 1) = 0 22/11/2009 63 Es. di simulazione circuitale C (corrisponde alla riga 4 della tabella) 1 0 0 1 0 1 F Risultato della simulazione: F(1, 0, 0) = 1 22/11/2009 64 Corso CSO prof. C. Silvano Politecnico di Milano 32

Es. di simulazione circuitale C (corrisponde alla riga 5 della tabella) 1 0 0 0 1 0 F Risultato della simulazione: F(1, 0, 1) = 0 22/11/2009 65 Es. di simulazione circuitale C (corrisponde alla riga 6 della tabella) 1 1 1 1 0 1 F Risultato della simulazione: F(1, 1, 0) = 1 22/11/2009 66 Corso CSO prof. C. Silvano Politecnico di Milano 33

Es. di simulazione circuitale C (corrisponde alla riga 7 della tabella) 1 1 1 1 1 0 F Risultato della simulazione: F(1, 1, 1) = 1 22/11/2009 67 Risultato della simulazione C F 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 22/11/2009 68 Corso CSO prof. C. Silvano Politecnico di Milano 34

Esempio C F 0 0 0 1 0 0 1 0 0 1 0 1 F(,, C) = + C 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 C F 22/11/2009 69 Circuiti combinatori equivalenti Una funzione combinatoria può ammettere più circuiti combinatori differenti che la rappresentano Circuiti combinatori che realizzano la medesima funzione combinatoria si dicono equivalenti Essi hanno tutti la stessa funzionalità (comportamento ingresso/uscita), ma possono avere struttura (costo e area) differente 22/11/2009 70 Corso CSO prof. C. Silvano Politecnico di Milano 35

Esempio di 2 circuiti equivalenti R1 F1 = + C C C +C (+C) F F Trasformazione (Prop. distributiva): F1 = + C = = ( + C) = =F2 C +C R2 F2 = ( + C) 22/11/2009 71 Sintesi di funzioni combinatorie 22/11/2009 72 Corso CSO prof. C. Silvano Politecnico di Milano 36

Sintesi di funzioni combinatorie La sintesi di una funzione combinatoria espressa come tabella di verità, consiste nel ricavare l espressione booleana corrispondente e il relativo schema logico (il circuito digitale). In generale, per una data tabella delle verità possono esistere più funzioni combinatorie (la soluzione al problema di sintesi non è dunque unica) Qual è la migliore? Esistono diversi metodi di sintesi di funzioni combinatorie, che differiscono per: Complessità del metodo Ottimalità della rete combinatoria risultante, per area e velocità 22/11/2009 73 Sintesi di funzioni combinatorie: forme canoniche Data una funzione booleana, la soluzione iniziale al problema di determinare una sua espressione a partire dalla tabella di verità consiste nel ricorso alle forme canoniche. La forma canonica di una funzione costituisce una forma universale mediante la quale è possibile rappresentare qualunque funzione booleana. La forma canonica si basa su componenti (mintermini/maxtermini) caratterizzanti la struttura della funzione. 22/11/2009 74 Corso CSO prof. C. Silvano Politecnico di Milano 37

Sintesi di funzioni combinatorie: forme canoniche Data una funzione booleana, le forme canoniche sono due: Pi Prima forma canonica - Somma di Prodotti (SOP) Seconda forma canonica - Prodotto di Somme (POS) Data una funzione booleana esistono una ed una sola forma canonica SOP ed una e una sola forma POS che la rappresenta. 22/11/2009 75 Prima forma canonica (o somma di prodotti) Data una tabella delle verità, a n 1 ingressi, la funzione F che la realizza può essere specificata come: somma logica (OR) di tutti (e soli) i termini prodotto (ND) delle variabili di ingresso corrispondenti agli 1 della funzione. Ogni termine prodotto (o mintermine) è costituito dal prodotto logico di tutte le n variabili di ingresso (letterali) prese in forma naturale se valgono 1, in forma complementata se valgono 0. 22/11/2009 76 Corso CSO prof. C. Silvano Politecnico di Milano 38

1 a forma canonica: esempio Data la funzione espressa dalla seguente tabella: a b f(a,b) 0 0 0 0 1 1 1 0 0 1 1 1 È intuitivo osservare che la funzione possa essere ottenuta dal OR delle seguenti funzioni: a b f(a,b) a b m 1 (a,b) a b m 3 (a,b) 0 0 0 0 0 0 0 0 0 0 1 1 = 0 1 1 + 0 1 0 1 0 0 1 0 0 1 0 0 1 1 1 1 1 0 1 1 1 22/11/2009 77 1 a forma canonica: esempio Per cui, intuitivamente, si ottiene: a b f(a,b) a b m 1 (a,b) a b m 3 (a,b) 0 0 0 0 0 0 0 0 0 0 1 1 = 0 1 1 + 0 1 0 1 0 0 1 0 0 1 0 0 1 1 1 1 1 0 1 1 1 m 1 (a,b)= a b m 3 (a,b)= ab Quando a=0 e b=1 il prodotto a b assume valore 1 mentre vale 0 in tutti gli altri casi. Quando a=1 e b=1 il prodotto ab assume valore 1 mentre vale 0 in tutti gli altri casi. 22/11/2009 78 Corso CSO prof. C. Silvano Politecnico di Milano 39

1 a forma canonica: esempio a b f(a,b) 0 0 0 0 1 1 1 0 0 1 1 1 a b m 1 (a,b) 0 0 0 0 1 1 1 0 0 1 1 0 = + a b m 3 (a,b) 0 0 0 0 1 0 1 0 0 1 1 1 f(a,b) = a b + ab Mettendo in OR i mintermini della funzione si ottiene l espressione booleana della funzione stessa espressa come somma di prodotti. 22/11/2009 79 Mintermine Un mintermine m i è una funzione booleana a n ingressi che vale 1 in corrispondenza della sola configurazione di ingresso che vale i. Esempio: m 1 (a,b)= a b Un mintermine m i corrisponde al prodotto di n letterali, ciascuno dei quali compare nella forma x se nella corrispondente configurazione di ingresso ha valore 1, nella forma x se ha valore 0. Data una funzione ad n ingressi, possiamo avere fino a 2 n mintermini. Ogni mintermine è rappresentabile con un ND a n ingressi. 22/11/2009 80 Corso CSO prof. C. Silvano Politecnico di Milano 40

Prima forma canonica (o somma di prodotti) Data una funzione logica, la sua espressione booleana del tipo prima forma canonica o somma di prodotti (SOP) èdata dalla somma dei suoi mintermini (termini prodotto). Data una funzione logica ad n ingressi espressa come somma di k termini prodotto (k mintermini) dove k 2 n, è facile passare al circuito: Il circuito logico equivalente è composto dall interconnessione di k porte logiche and ad n ingressi le cui uscite sono collegate ad 1 porta logica or a k ingressi. i Circuito con struttura regolare su 2 livelli di porte logiche. 22/11/2009 81 1 a forma canonica: esempio f (a, b) = a b + a b a b f 22/11/2009 82 Corso CSO prof. C. Silvano Politecnico di Milano 41

Seconda forma canonica (o prodotto di somme) Data una tabella delle verità, a n 1 ingressi, la funzione F che la realizza può essere specificata come: prodotto logico (ND) di tutti (e soli) i termini somma (OR) delle variabili di ingresso corrispondenti agli 0 della funzione. Ogni termine somma (o maxtermine) è costituito dalla somma logica di tutte le n variabili di ingresso (letterale) prese in forma naturale se valgono 0, in forma complementata se valgono 1. 22/11/2009 83 2 a forma canonica: esempio Si consideri nuovamente lo stesso esempio: a b f(a,b) 0 0 0 0 1 1 1 0 0 1 1 1 È intuitivo osservare che la funzione possa essere ottenuta dall ND delle seguenti funzioni: a b f(a,b) 0 0 0 0 1 1 1 0 0 1 1 1 a b M 0 (a,b) 0 0 0 0 1 1 1 0 1 1 1 1 = * a b M 2 (a,b) 0 0 1 0 1 1 1 0 0 1 1 1 22/11/2009 84 Corso CSO prof. C. Silvano Politecnico di Milano 42

2 a forma canonica: esempio Per cui, intuitivamente, si ottiene: a b f(a,b) a b M 0 (a,b) a b M 2 (a,b) 0 0 0 0 0 0 0 0 1 0 1 1 = 0 1 1 * 0 1 1 1 0 0 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 M 0 (a,b)=(a b ) M 2 (a,b)=(a b ) Infatti, ad esempio, quando a=0 e b=0 il termine (a b ) assume valore 0 mentre vale 1 in tutti gli altri casi. M 0 (a,b)= a + b M 2 (a,b)= a + b 22/11/2009 85 2 a forma canonica: esempio pplicando le leggi di De Morgan, si ottiene le seguente trasformazione: f 1 (a,b)=(a b ) f 1 (a,b)=(a+b) f 2 (a,b)=(ab ) f 2 (a,b)=(a +b) f(a,b) = (a+b)* (a + b) Mettendo in ND i maxtermini della funzione si ottiene l espressione booleana della funzione stessa espressa come prodotto di somme. 22/11/2009 86 Corso CSO prof. C. Silvano Politecnico di Milano 43

Maxtermine Un maxtermine M i è una funzione booleana a n ingressi che vale 0 in corrispondenza della sola configurazione di ingresso che vale i. Esempio: M 2 (a,b)= a + b Un maxtermine M i corrisponde alla somma di n letterali, ciascuno dei quali compare complementato - cioè nella forma x se nella configurazione delle variabili corrispondente appare un 1 e nella forma x se compare uno 0. Data una funzione ad n ingressi, possiamo avere fino a 2 n maxtermini. i Ogni maxtermine è rappresentabile con un OR a n ingressi. 22/11/2009 87 Seconda forma canonica (o prodotto di somme) Data una funzione logica, la sua espressione booleana del tipo seconda forma canonica o prodotto di somme (POS) èdata dal prodotto dei suoi maxtermini (termini somma). Data una funzione logica ad n ingressi espressa come prodotto di m termini somma (m maxtermini) dove m 2 n, è facile passare al circuito: Il circuito logico equivalente è composto dall interconnessione di m porte logiche or ad n ingressi le cui uscite sono collegate ad 1 porta logica and a m ingressi. i Circuito con struttura regolare su 2 livelli di porte logiche. 22/11/2009 88 Corso CSO prof. C. Silvano Politecnico di Milano 44

2 a forma canonica: esempio f (a, b) = (a+ b) (a + b) a b f 22/11/2009 89 Esempio: Funzione di maggioranza Si consideri una funzione combinatoria dotata di 3 ingressi, e C, ediun uscita uscita F, funzionante come segue: Se la maggioranza degli ingressi vale 0, l uscita vale 0 Se la maggioranza degli ingressi vale 1, l uscita vale 1 22/11/2009 90 Corso CSO prof. C. Silvano Politecnico di Milano 45

Esempio: Funzione di maggioranza L uscita vale 1 se e solo se 2 o tutti e 3 gli ingressi valgono 1 (cioè se e solo se il valore 1 è in maggioranza) m3 C F 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 mintermini m5 m6 m7 1 0 1 1 1 1 0 1 1 1 1 1 22/11/2009 91 Esempio: Funzione di maggioranza Dalla tabella della verità si ricava, tramite la sintesi in 1 a forma canonica (somma di prodotti) l espressione booleana che rappresenta la funzione: F(,, C) = C + C + C + C 22/11/2009 92 Corso CSO prof. C. Silvano Politecnico di Milano 46

Esempio: Funzione di maggioranza Dall espressione booleana si ricava il circuito combinatorio di tipo somma di prodotti (circuito a 2 livelli): 22/11/2009 93 Esempio: Funzione di maggioranza C C 0 1 1 C 1 0 1 C F C 1 1 0 C 1 1 1 C 22/11/2009 94 Corso CSO prof. C. Silvano Politecnico di Milano 47

Semplificazione di una funzione Usando le proprietà dell algebra di oole, è possibile semplificare una funzione espressa in forma canonica in una funzione equivalente. Un altro metodo (che vedremo in seguito) per semplificare una funzione è basato sull utilizzo delle Mappe di Karnaugh. 22/11/2009 95 Esempio: Semplificazione della funzione di maggioranza F = C + C + C + C Per la proprietà dell idempotenza: F = C + C + C + C + C + C Per la proprietà distributiva: F = C ( + ) + C ( + ) + (C + C) Per la proprietà dell inverso: F = C 1 + C 1 + 1 Per la proprietà dell identità: F = C + C + 22/11/2009 96 Corso CSO prof. C. Silvano Politecnico di Milano 48

Esempio: Funzione di maggioranza Disegnare il circuito corrispondente alla funzione semplificata così ottenuta: F = + C + C C f 22/11/2009 97 Esempio: Funzione xnor Si consideri la funzione combinatoria a due ingressi espressa dalla seguente tabella di verità (funzione xnor): F 0 0 1 0 1 0 1 0 0 1 1 1 22/11/2009 98 Corso CSO prof. C. Silvano Politecnico di Milano 49

Esempio: Funzione xnor Dalla tabella della verità si ricava, tramite la sintesi in 1 a forma canonica (somma di prodotti) l espressione booleana che rappresenta la funzione: F(, ) = + mintermini F 0 0 1 0 1 0 1 0 0 m0 1 1 1 m3 22/11/2009 99 Esempio: Funzione xnor Dall espressione booleana si ricava il circuito combinatorio di tipo somma di prodotti (circuito a 2 livelli): F(, ) = + F 22/11/2009 100 Corso CSO prof. C. Silvano Politecnico di Milano 50

Esempio: Funzione xnor Dalla tabella della verità si ricava, tramite la sintesi in 2 a forma canonica (prodotto di somme) l espressione booleana che rappresenta la funzione: F(, ) = ( + ) ( + ) Maxtermini U 0 0 1 0 1 0 1 0 0 1 1 1 M 1 M 2 22/11/2009 101 Esempio: Funzione xnor Dall espressione booleana si ricava il circuito combinatorio di tipo prodotto di somme (circuito a 2 livelli): F(, ) = ( + ) ( + ) F 22/11/2009 102 Corso CSO prof. C. Silvano Politecnico di Milano 51

Passaggio da qualunque forma alla 1 a forma canonica Da una qualunque espressione booleana di una funzione si può ricavare la prima forma canonica nel seguente modo: Esempio: F (,, C, D) = C + C + C = = ( + ) C (D + D ) + ( + ) C (D + D ) + C (D + D ) = = C D + C D + CD + CD + CD + CD + CD + CD 22/11/2009 103 Esercizi con soluzioni 22/11/2009 104 Corso CSO prof. C. Silvano Politecnico di Milano 52

Esercizio 1 Calcolare la tabella di verità della seguente funzione: f (,, C) = + C 22/11/2009 105 Soluzione C C f 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 1 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0 1 1 1 1 1 1 1 0 1 22/11/2009 106 Corso CSO prof. C. Silvano Politecnico di Milano 53

Esercizio 2 Data la seguente tabella di verità, calcolare la corrispondente funzione f(,, C). Usando le proprietà dell algebra di oole, semplificare la funzione. Disegnare il circuito corrispondente alla funzione semplificata così ottenuta C f 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 22/11/2009 107 Soluzione C f Se consideriamo gli 1 della 0 0 0 0 0 1 0 1 0 0 0 1 funzione, possiamo scrivere la funzione come somma di prodotti (1 a forma canonica) nel seguente modo: 0 1 1 0 1 0 0 0 1 0 1 0 f= C +C +C 1 1 0 1 1 1 1 1 22/11/2009 108 Corso CSO prof. C. Silvano Politecnico di Milano 54

Soluzione Data la funzione così ottenuta: f = C + C + C usando le proprietà dell algebra di oole, è possibile semplificare la funzione nel seguente modo: Per la proprietà dell idempotenza: f = C + C + C + C Per la proprietà distributiva: f = C ( +)+(C+C + + C ) Per la proprietà dell inverso: f = C 1+ 1 Per la proprietà dell identità: f = C + 22/11/2009 109 Soluzione f = + C f C 22/11/2009 110 Corso CSO prof. C. Silvano Politecnico di Milano 55

Esercizio 3 Data la funzione dell esercizio precedente: f = + C esprimere la funzione f attraverso la sola porta logica nor e disegnare il circuito. 22/11/2009 111 Soluzione f = + C Per la proprietà associativa: f = ( + C ) Per De Morgan: f = ( + ( + C ) ) cioè: f = ( nor ( nor C)) C )) Essendo X = X nor X f= ( ( nor ) nor ( nor (C nor C))) 22/11/2009 112 Corso CSO prof. C. Silvano Politecnico di Milano 56

Soluzione C f 22/11/2009 113 Esercizio 4 Data la funzione dell esercizio precedente: f = + C esprimere la funzione f attraverso la sola porta logica nand e disegnare il circuito. 22/11/2009 114 Corso CSO prof. C. Silvano Politecnico di Milano 57

Soluzione f = + C Per De Morgan: f = (( ) ( C ) ) cioè: f = (( nand ) nand ( nand C )) Essendo X = X nand X f= ( ( nand ) nand ( nand (C nand C))) 22/11/2009 115 Soluzione C f 22/11/2009 116 Corso CSO prof. C. Silvano Politecnico di Milano 58

Esercizio 5 Data la seguente funzione: f (,, C, D) = + CD Disegnare il circuito corrispondente. Esprimere la funzione f attraverso la sola porta logica nand e disegnare il circuito. 22/11/2009 117 Soluzione f C D 22/11/2009 118 Corso CSO prof. C. Silvano Politecnico di Milano 59

f = + CD Soluzione Per De Morgan: f = (() (CD) ) ) cioè: f= (( nand ) nand (C nand D)) f C D 22/11/2009 119 Esercizio 6 Data la seguente funzione: f (,, C, D) = ( + ) (C + D) Disegnare il circuito corrispondente. Esprimere la funzione f attraverso la sola porta logica nor e disegnare il circuito. 22/11/2009 120 Corso CSO prof. C. Silvano Politecnico di Milano 60

Soluzione f C D 22/11/2009 121 f = ( + ) (C + D) Soluzione Per De Morgan: f = (( + ) +(C+D) ) + ) cioè: f= (( nor ) nor (C nor D)) f C D 22/11/2009 122 Corso CSO prof. C. Silvano Politecnico di Milano 61

Esercizio 7 Usando le proprietà dell algebra di oole, semplificare in una funzione equivalente la seguente funzione, indicando i singoli passi svolti e il nome oppure l espressione della proprietà utilizzata (ad esempio, Proprietà ssociativa oppure ( ) C = ( C) ): f = C + C + C + C Disegnare il circuito corrispondente alla funzione semplificata così ottenuta 22/11/2009 123 Soluzione f = C + C + C + C Per la proprietà distributiva: f = C ( + ) + C ( + ) Per la proprietà dell inverso: f = C 1 + C 1 Per la proprietà dell identità: f = C + C 22/11/2009 124 Corso CSO prof. C. Silvano Politecnico di Milano 62

Soluzione C f 22/11/2009 125 Esercizio 8 Usando le proprietà dell algebra di oole, semplificare in una funzione equivalente la seguente funzione, indicando i singoli passi svolti e il nome oppure l espressione della proprietà utilizzata (ad esempio, Proprietà ssociativa oppure ( ) C = ( C) ): f = C + C + C + C Disegnare il circuito corrispondente alla funzione semplificata così ottenuta 22/11/2009 126 Corso CSO prof. C. Silvano Politecnico di Milano 63

Soluzione f = C + C + C + C Per la proprietà dell idempotenza: f = C + C + C + C + C + C Per la proprietà distributiva: f = C ( + ) + (C + C) + C ( + ) Per la proprietà p dell inverso: f = C 1 + 1 + C 1 Per la proprietà dell identità: f = C + + C 22/11/2009 127 Soluzione C f 22/11/2009 128 Corso CSO prof. C. Silvano Politecnico di Milano 64

Esercizio 9 Usando le proprietà dell algebra di oole, semplificare in una funzione equivalente la seguente funzione, indicando i singoli passi svolti e il nome oppure l espressione della proprietà utilizzata (ad esempio, Proprietà ssociativa oppure ( ) C = ( C) ): f = C + C + C Disegnare il circuito corrispondente alla funzione semplificata così ottenuta 22/11/2009 129 Soluzione f = C + C + C Per la proprietà p dell idempotenza: f = C + C + C + C Per la proprietà distributiva: f = C ( + ) + (C + C) Per la proprietà dell inverso: f = C1+ 1 Per la proprietà dell identità: f = C + 22/11/2009 130 Corso CSO prof. C. Silvano Politecnico di Milano 65

Soluzione C f 22/11/2009 131 Esercizio 10 Usando le proprietà dell algebra di oole, semplificare in una funzione equivalente la seguente funzione, indicando i singoli passi svolti e il nome oppure l espressione della proprietà utilizzata (ad esempio, Proprietà ssociativa oppure ( ) C = ( C) ): f = C + C + C + C + C Disegnare il circuito corrispondente alla funzione semplificata così ottenuta 22/11/2009 132 Corso CSO prof. C. Silvano Politecnico di Milano 66

Soluzione f = C + C + C + C + C Per la proprietà dell idempotenza: f = C + C + C + C + C + C Per la proprietà distributiva: f = (C + C) + (C + C) + C ( + ) Per la proprietà dell inverso e dell identità: f = + + C Per la proprietà distributiva: f = ( + ) + C Per la proprietà dell inverso e dell identità: f = + C 22/11/2009 133 Soluzione f = + C f C 22/11/2009 134 Corso CSO prof. C. Silvano Politecnico di Milano 67

Esercizio 11 Usando le proprietà dell algebra di oole, trasformare in una funzione equivalente (che utilizzi solo porte logiche or e not) la seguente funzione: f = ( C D) Disegnare il circuito corrispondente alla funzione semplificata così ottenuta 22/11/2009 135 Soluzione f = ( C D ) Per la proprietà associativa: f = (( ) (C D) ) Per il teorema di De Morgan: f = ( ) + (C D) Per il teorema di De Morgan: f = ( + ) + ( C + D ) Per la proprietà associativa : f = + + C + D 22/11/2009 136 Corso CSO prof. C. Silvano Politecnico di Milano 68

Esercizio 12 Usando le proprietà dell algebra di oole, trasformare in una funzione equivalente (che utilizzi solo porte logiche or e not) la seguente funzione: f = ( D) + ( + C ) Disegnare il circuito corrispondente alla funzione semplificata così ottenuta 22/11/2009 137 Esercizio 13 Usando le proprietà dell algebra di oole, dimostrare le seguenti uguaglianze: + = + ( + ) (+C)=+C+ + C + C 22/11/2009 138 Corso CSO prof. C. Silvano Politecnico di Milano 69

Esercizio 14 Data la funzione: f = ( ) + ( C) Esprimere la funzione f con la sola porta logica nor e disegnarne il circuito. Esprimere la funzione f con la sola porta logica nand e disegnarne il circuito. 22/11/2009 139 Esercizio 15 F(a,b,c)=!a!b c +!a b c +!a b!c Espressione trasformata t proprietà utilizzata t!a!bc+!abc+!ab!c!a!bc+!abc+!abc+!ab!c!ac(!b+b) +!ab(c+!c) idempotenza x+x=x associativa xy+xz=x(y+z) inverso x+!x=1!ac1 +!ab1 identità x1=x!ac +!ab associativa!a(c + b) - 140 - Corso CSO prof. C. Silvano Politecnico di Milano 70

Calcolare costo e ritardo di propagazione di reti equivalenti (porte a 2 ingressi) della funzione: F(a,b,c)=!a!bc +!abc +!ab!c =!a(c+b) a b c a b c a b c Porte a 2 ingressi ND: Costo = 4, Rit. = 10 OR: Costo = 4, Rit. = 12 NOT: Costo = 1, Rit. = 2-141 - Sintesi tramite le mappe di Karnaugh - 142 - Corso CSO prof. C. Silvano Politecnico di Milano 71

Costo di una rete logica (1) Sintesi in 1 a forma canonica: la funzione logica ottenuta è costituita da n di mintermini pari agli 1 della funzione per ogni mintermine, n di letterali pari al numero delle variabili di ingresso (dualmente per la 2 a forma canonica) Il costo della rete è funzione sia del n di mintermini i i che del numero di letterali - 143 - Costo di una rete logica (2) L uso delle proprietà e dei teoremi dell algebra di commutazione consente di semplificare l espressione logica ridurre sia il n di mintermini che il numero di letterali La semplificazione tramite le proprietà e i teoremi dell algebra non è esprimibile tramite un algoritmo di riduzione non garantisce che si arrivi alla forma minima dell espressione, cioè a quella costituita dal minor numero di mintermini, ciascuno con il minor numero di letterali (sempre espressa come forma di prodotti) - 144 - Corso CSO prof. C. Silvano Politecnico di Milano 72

Considerazioni sulla riduzione (1) Dati due mintermini che differiscono per un solo letterale (che compare quindi in forma naturale e in forma complementata) es:!x!y z +!x y z pplicando le proprietà distributiva, inverso e elemento nullo si ottiene un solo termine prodotto costituito da tutti e soli i letterali identici nei due mintermini!x!y z +!x y z =!x z (!y + y) =!x z 1 =!x z I due mintermini si dicono logicamente adiacenti - 145 - Considerazioni sulla riduzione (2) Dati 2 (= 2 1 ) mintermini logicamente adiacenti è possibile sostituirli con un unico termine prodotto in cui è stato eliminato 1 letterale, qualunque sia il n di letterali (>=1) che li compongono originariamente!x!y z +!x y z =!x z (!y + y) =!x z 1 =!x z Dati 4 (= 2 2 ) mintermini logicamente adiacenti è possibile sostituirli con un unico termine prodotto in cui sono stati eliminati 2 letterali, qualunque sia il n di letterali (>=2) che li compongono originariamente!x!y z +!x y z +!x!y!z +!x y! z =!x z(!y +y) +!x!z (!y + y) =!x z 1 +!x!z 1 =!x (z +!z) =!x - 146 - Corso CSO prof. C. Silvano Politecnico di Milano 73

Mappe di Karnaugh (1) Sono un metodo tabellare di rappresentazione della tabella della verità Sfruttano, nella rappresentazione della tabella, l adiacenza logica tra mintermini Consentono di derivare un algoritmo per la semplificazione automatica delle espressioni come somme di prodotti (o prodotti di somme) lgoritmo: ricerca degli implicanti identificazione degli implicanti primi copertura della funzione - 147 - Mappe di Karnaugh (2) Ricerca degli implicanti sono sottogruppi di 2 n celle adiacenti (corrispondenti agli 1 della funzione) per le quali n variabili assumono sempre sia la forma naturale che quella complementata. Nel termine prodotto corrispondente è quindi possibile semplificare n letterali di ingresso Individuazione degli implicanti primi sono implicanti di dimensione massima (generano quindi il minimo numero di letterali nel termine prodotto corrispondente) in pratica un implicante è primo se non è contenuto interamente in nessun implicante di dimensioni maggiori della funzione Copertura della funzione: ricerca del minor numero di implicanti primi che coprono tutti gli 1 della funzione (si genera quindi il minor numero di termini prodotto). Gli implicanti primi possono anche essere parzialmente sovrapposti - 148 - Corso CSO prof. C. Silvano Politecnico di Milano 74

Sia data la funzione seguente MPP DI KRNUGH - Es. 1 f( (x, y) = f(0, 2, 3)=!x!y + x!y + x y m x y f 0 0 0 1 1 0 1 0 2 1 0 1 3 1 1 1 Tabella delle verità y x 0 1 0 1 0 1 1 1 1 f (x, y) = x +!y 2 3 Implicanti primi Mappa di Karnaugh SOP - 149 - MPP DI KRNUGH - Es. 2 f (x, y, z) = f(0, 4, 6, 7)=!x!y!z + x!y!z + x y!z + x y z m x y z f 0 0 0 0 1 1 0 0 1 0 2 0 1 0 0 3 0 1 1 0 4 1 0 0 1 5 1 0 1 0 6 1 1 0 1 7 1 1 1 1 Tabella delle verità - 150 - Corso CSO prof. C. Silvano Politecnico di Milano 75

La disposizione delle configurazioni per colonna rispetta il criterio di adiacenza. Le configurazioni sono a distanza Hamming unitaria MPP DI KRNUGH - Es. 2 Mappa di Karnaugh SOP y z x 00 01 11 10 0 1 0 1 3 2 1 1 1 1 4 5 7 6 Implicanti primi f (x, y, z) = xy +!y!z - 151 - Esempi di implicanti p 4 u v x y 00 01 11 10 00 1 1 01 1 1 1 11 1 10 1 p 5 p 1 p 1 =!x!u è implicante primo p 2 =!x y v è implicante primo p 3 = y u v è implicante primo p 4 =!x!u!v è implicante (ma non primo, perché in p 1 ) p 5 = x!y u!v è implicante primo (ed è anche mintermine) p 2 p 3-152 - Corso CSO prof. C. Silvano Politecnico di Milano 76

Esempio di raccoglimenti a,b c,d 00 01 11 00 1 1 0 10 0 01 1 1 1 1 11 0 0 1 1 10 1 0 0 1 raccoglimento Raccoglimento di dimensione massima 1 1 0 0 1 1 1 1 0 0 1 1 1 0 0 1 ERRORE: valido raccoglimento solo di 2,4,... - 153 - Esempio di raccoglimenti a,b c,d 00 01 11 10 00 1 1 0 0 01 1 1 1 1 11 0 0 1 1 10 1 0 0 1 Raccoglimento di dimensione massima Raccoglimento di dimensione massima essenziale 1 1 0 0 1 1 1 1 0 0 1 1 1 0 0 1 1 appartenente ad un solo implicante primo - 154 - Corso CSO prof. C. Silvano Politecnico di Milano 77

Identificazione del termine prodotto (implicante) d ogni raccoglimento è associato un termine prodotto. Il termine prodotto (implicante) è ottenuto: identificando le variabili che non cambiano mai di valore e riportando ogni variabile in modo naturale (esempio: a) se il valore che essa assume è 1 o in modo complementato (esempio: a ) se il valore da essa assunto è 0-155 - Esempio: identificazione del termine prodotto (implicante) a,b a,b c,d 00 01 11 10 00 01 00 1 1 0 0 01 1 1 1 1 11 0 0 1 1 10 1 0 0 1 d cambia valore c,d 11 10 00 1 1 0 0 01 1 1 1 1 11 0 0 1 1 10 1 0 0 1 b cambia valore b e d cambiano valore: non compaiono nel termine prodotto. a e c compaiono come 0 quindi a e c. Il termine prodotto è a c. - 156 - Corso CSO prof. C. Silvano Politecnico di Milano 78

Sintesi di reti combinatorie a due livelli: Metodi esatti - Karnaugh Metodo: Individuare gli implicanti primi e gli implicanti primi essenziali; Implicante primo Termine prodotto associato ad un raggruppamento (cubo) di dimensione massima. In pratica, un implicante è primo se non è contenuto interamente in nessun implicante di dimensioni maggiori della funzione Implicante primo essenziale Implicante primo che copre uno o più 1 non coperti da nessun altro implicante primo. In pratica, un implicante primo è essenziale se esiste almeno un mintermine della funzione coperto solo da quell implicante tra tutti gli implicanti primi della funzione. - 157 - Sintesi di reti combinatorie a due livelli: Metodi esatti - Karnaugh 1. Copertura minima: Scelta del minor numero di implicanti primi e primi essenziali implicanti implicanti primi implicanti primi essenziali - 158 - Corso CSO prof. C. Silvano Politecnico di Milano 79

Sintesi di reti combinatorie a due livelli: Metodi esatti - Karnaugh Scopo: identificare una forma SoP che includa il numero minimo di implicanti e a parità di numero di implicanti gli implicanti col minimo numero di letterali (definita come forma minima) garantendo la copertura di tutti gli 1 della funzione. Teorema: Esiste sicuramente una forma minima costituita da soli implicanti primi sulla mappa di Karnaugh si identificano tutti gli implicanti primi. Nota: la somma di tutti gli implicanti primi è spesso ridondante. Gli implicanti primi essenziali devono essere inclusi nella forma minima. Una forma minima costituita da soli implicanti primi essenziali è unica Condizione sufficiente. - 159 - Sintesi di reti combinatorie a due livelli: Metodi esatti - Karnaugh Copertura Copertura: sotto insieme i degli implicanti identificati tale per cui nessun 1 della funzione rimane scoperto. Poiché ogni implicante scelto aumenta il costo della realizzazione della funzione, il numero di implicanti da scegliere deve essere il minimo possibile. L obiettivo è la riduzione del costo; questo si traduce nella identificazione della copertura di minima cardinalità: Implicanti primi essenziali e sotto insieme degli implicanti primi identificati che realizza una copertura della funzione di cardinalità minima. - 160 - Corso CSO prof. C. Silvano Politecnico di Milano 80

Sintesi di reti combinatorie a due livelli: Metodi esatti - Karnaugh Copertura minima Scelta degli implicanti per realizzare la copertura minima: 1. Si scelgono tutti gli implicanti primi essenziali. Gli implicanti primi essenziali devono essere parte della copertura poiché sono essenziali e, quindi, non è possibile fare a meno di loro. 2. Si eliminano tutti gli implicanti primi che sono coperti da quelli essenziali (eliminazione implicanti completamente ridondanti) gli implicanti eliminati, i detti completamente t ridondanti, d coprono degli 1 che sono già ricoperti da quelli essenziali e, quindi, non servono ai fini della copertura. 3. Si seleziona il numero minimo degli implicanti primi che sono rimasti. gli implicanti primi residui sono detti parzialmente ridondanti - 161 - Esempio 1 f( a, b, c, d) = ( 0,1,2,4,5,9,10,11,13, 15 ) Implicanti primi essenziali a'c'; ad Implicanti primi a'b'd'; b'cd'; a b'c; c'd a,b c,d 00 01 11 10 00 1 1 0 0 01 1 1 1 1 11 0 0 1 1 10 1 0 0 1 a b c d f 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 Completamente ridondante - 162 - Corso CSO prof. C. Silvano Politecnico di Milano 81

Esempio 1 Implicanti primi essenziali a'c'; ad Tabella ottenuta dopo la selezione degli implicanti primi essenziali a,b c,d 00 01 11 10 00 0 0 01 11 0 0 10 1 0 0 1 1 da coprire f(a,b,c,d)= a'c'+ad+ b'c d Forma minima (unica) Implicanti primi a'b'd'; b'cd'; ab'c; c'd Parzialmente ridondanti: a'b'd'; ab'c; c'd - 163 - Corso CSO prof. C. Silvano Politecnico di Milano 82