La descrizione algebrica delle reti combinatorie

Documenti analoghi
Calcolatori Elettronici Lezione 2 Algebra delle reti Logiche

Algebra di commutazione

Algebra di Commutazione

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

Richiami di Algebra di Commutazione

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

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

Algebra di commutazione

Fondamenti di Informatica

Elementi di Informatica A. A. 2016/2017

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

Esercitazione del 15/03/ Soluzioni

Algebra di commutazione

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

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.

Sintesi di reti combinatorie. Motivazioni. Sommario. Funzioni Espressioni

Sintesi di una rete combinatoria

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

Reti Logiche Combinatorie

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

Circuiti combinatori Sintesi mediante mappe di Karnaugh Mappe di Karnaugh con 5 variabili

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

Algebra di Boole Cenni all Algebra di Boole

Algebra di commutazione

Fondamenti di Informatica

Sintesi di reti combinatorie

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

Esercitazioni di Reti Logiche. Lezione 3

Algebra di commutazione

Algebra di Commutazione

I circuiti digitali: dalle funzioni logiche ai circuiti

Algebra di Boole Cenni all Algebra di Boole

Fondamenti di Informatica B. Esercitazione n.2

Algebra di Boole. Cenni all Algebra di Boole

Algebra di Boole. Andrea Passerini Informatica. Algebra di Boole

Algebra di Boole X Y Z V. Algebra di Boole

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

Elementi di informatica

Fondamenti di Informatica

Algebra di commutazione. Reti combinatorie

Laboratorio del 10/11/ Soluzioni

Sintesi di Reti Logiche Combinatorie

Esercizi di sintesi - Soluzioni

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

Esercitazione del 10/03/ Soluzioni

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

Algebra e circuiti elettronici

Corso di Calcolatori Elettronici I

Il livello logico digitale

Calcolatori Elettronici Reti Logiche

Circuiti digitali combinatori

Fondamenti di Informatica

Algebra di Boole Algebra di Boole

Funzioni, espressioni e schemi logici

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

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

Dispensa di Informatica I.5

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

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

APPUNTI DI ELETTRONICA DIGITALE

Esercitazioni su circuiti combinatori

Costruzione di. circuiti combinatori

Il Livello Logico-Digitale. Reti combinatorie -2015

Parte IV Indice. Algebra booleana. Esercizi

Proposizioni logiche e algebra di Boole

Funzioni booleane. Vitoantonio Bevilacqua.

Fondamenti di Informatica B

Algebra di Boole e reti logiche. 6 ottobre 2017

Dalla tabella alla funzione canonica

Metodo di Quine- McCluskey

Sommario. 1 Calcolo degli implicanti primi. 2 Copertura. 3 Funzioni a piú uscite. Algoritmo. 1 Fase di espansione 2. 2 Fase di copertura

Il Livello Logico-Digitale

Metodo di Quine-McCluskey. Algoritmo. Sommario. Sommario. M. Favalli

Tutorato architettura degli elaboratori modulo I (lezione 3)

Fondamenti di Informatica. Algebra di Boole

Introduzione alla logica proposizionale

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

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

Corso E Docente: Siniscalchi. Algebra di Boole

Algebra Booleana. 13. Rif:

Operazioni logiche e algebra di Boole

Informatica e Bioinformatica: Circuiti

Segnali in circuiti elettronici digitali

Semplificazione delle funzioni logiche mediante il metodo delle mappe di Karnaugh

Minimizzazione delle funzioni booleane tramite: prima parte

Calcolatori Elettronici

Corso di Calcolatori Elettronici I A.A Algebra di Boole Lezione 4

Algebra di Boole: mappe di Karnaugh

Algebra di Boole: minimizzazione di funzioni booleane

Metodo di Quine- McCluskey

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

Metodo di Quine-McCluskey. Algoritmo. Sommario. Sommario. M. Favalli

Minimizzazione di funzioni booleane: espansione e copertura. Ottimizzazione di funzioni combinatorie: espansione (1/3)

Minimizzazione di funzioni booleane:

Logica booleana. Bogdan Maris ( )

( ) ( ) ( ) ( ) Proprietà distributiva: ( ) ( ) ( ) ( ) ( ) ( ) Teoremi dell assorbimento: ( ) ( ) ( ) ( )

Calcolatori Elettronici

Come realizzate un AND a tre ingressi utilizzando solo porte NAND? Disegnate lo schema circuitale.

Soluzioniagliesercizi Capitolo 2 Soluzione 2.1. Soluzione 2.2. Soluzione 2.3. Soluzione 2.4.

Algebra di Boole. Da Boole a Shannon

Transcript:

La descrizione algebrica delle reti combinatorie Esaminiamo ora il modello matematico che ci permetta di discorrere in modo efficiente di reti combinatorie, e alcune rappresentazioni grafiche connesse al modello. L algebra delle reti logiche L algebra che andiamo ad esaminare è un ALGEBRA DI BOOLE. Essa opera su variabili che assumono, a seconda delle circostanze, uno tra due valori (indicati con e ). Se una variabile ha sempre lo stesso valore, essa è di fatto una costante. L insieme di due elementi {, } e le tre operazioni di somma logica, prodotto logico e negazione che operano su variabili (che assumono i valori o ) e le costanti e, definiscono quella particolare algebra booleana chiamata algebra delle commutazioni. Sono definite le seguenti operazioni - funzioni elementari - in maniera tabellare: P) - somma logica (OR): A + B = C (L operatore di somma logica si indica spesso con il segno ) A B C P2) - prodotto logico (AND): A B = C (L operatore di prodotto logico si indica spesso con il segno e spesso esso viene anche omesso) A B C P3) - negazione (NOT): A (L operatore di negazione si indica spesso con il segno - oppure ) A A

Principio di dualità L algebra delle commutazioni è duale ovvero, sostituendo in una relazione vera (ad esempio + = ) la somma logica con il prodotto logico e viceversa e le costanti con le loro negazioni si ottiene una relazione vera (nell esempio = ). Attenzione!!! Le variabili rimangono inalterate quando si applica il principio di dualità!!! A questo punto si può passare ad esaminare alcune proprietà: Proprietà P4) - speciali proprietà di zero e uno (Limitazione Universale) Duali A+ = A A = A A+ = A = P5) - Idempotenza A+ A= A A A= A P6) - Complementazione A+ A= A A= P7) - Involuzione A = A autoduale P8) - Proprietà Commutativa A+ B = B + A A B = B A P9) - Proprietà Associativa A ( B C) = ( A B) C A+ ( B+ C) = ( A+ B) + C P) -Proprietà Distributiva A ( B+ C) = ( A B) + ( A C) A+ ( B C) = ( A+ B) ( A+ C) P) Assorbimento P2) -De Morgan P3) Fusione A ( A+ B) = A A+ ( A B) = A A + B = A B A B = A+ B ( A B) + ( A B) = A ( A+ B) ( A+ B) = A 2

La dimostrazione può avvenire usando il metodo della perfetta induzione, che consiste nel verificarne la validità per tutti i possibili casi. DEFINIZIONI Si dice espressione logica un espressione costituita da costanti binarie e variabili binarie, connesse tra loro da connettori logici. Si dice lettera di un espressione una variabile, affermata o complementata, dell espressione stessa. (Una stessa variabile, affermata e complementata, dà origine a due diverse lettere). Si dice termine prodotto di un espressione un prodotto di lettere che compare nell espressione. Si dice termine somma di un espressione una somma di lettere che compare nell espressione. Si dice funzione logica una funzione le cui variabili sono variabili binarie. Teorema di De Morgan A + B + C +... = A B C... ed il suo duale A B C... = A + B + C +... [Il metodo di perfetta induzione non vale con n variabili. Si ricorre allora all induzione finita (o induzione matematica) che consiste nel verificare il Teorema per n = 2 e nel dimostrare che, supposto che valga per n = j, allora vale anche per n = j +. Nel nostro caso, verificato che: A + A = A A 2 2 si suppone che valga: A + A + A + + A = A A A A 2 3... J 2 3... J Posto allora: α = A + A + A +... + A α 2 3 = A A 2 A 3... A J J 3

si considera la somma negata di j+ variabili: A + A + A +... + A J + A J = α + A J 2 3 + + Dal momento che il teorema è verificato per due variabili: α + A = α A = A A A... A J A J + J + 2 3 J + e ciò dimostra il teorema]. Teorema di De Morgan generalizzato Data una funzione f (A, A 2, A 3,..., A n, +, ) f (A, A 2, A 3,..., A n, +, ) = f (A, A 2, A 3,..., A n,, +) Espressione di una funzione logica Una funzione logica può essere rappresentata mediante un espressione logica oppure mediante una lista dei valori che essa assume per ogni combinazione delle variabili (tabella delle combinazioni o tabella di verità). Ad esempio, la funzione: può anche essere rappresentata dalla tabella: f = ( x y) z x y z 2 3 4 5 6 7 4

5 7 ALGEBRA BOOLEANA E MAPPE DI KARNAUGH Sembrerebbe piuttosto pesante esprimere una funzione logica mediante una tabella di verità. Tuttavia le tabelle di verità possono essere scritte in modo molto conciso (specifica decimale) listando i numeri delle righe per cui l uscita e uguale ad. Nel nostro caso: f ( x, y, z ) = ( 3,, ) oppure, semplicemente: ( 3, 5, 7 ) 3 dove il pedice 3 sta ad indicare che si tratta di una funzione di tre variabili. Come soluzione equivalente, si possono anche listare i numeri delle righe per cui la funzione vale : f ( x, y, z ) = (,, 2, 4, 6 ) o, in analogia a quanto detto sopra, scrivendo semplicemente: (,, 2, 4, 6 ) 3 Nell esempio precedente abbiamo visto come sia immediato scrivere la tabella di verità di una funzione a partire dalla sua espressione logica: basta sostituire nell espressione i valori delle variabili e calcolare i corrispondenti valori dell espressione. Non altrettanto immediato è il cammino opposto che, partendo dalla tabella di verità, consente di giungere ad una espressione logica della funzione. Come vedremo in seguito, la soluzione di questo problema è estremamente importante dal momento che il modo più naturale per descrivere un problema combinatorio è quello di scriverne la tabella di verità mentre la realizzazione della rete corrispondente si basa sull espressione logica della funzione. OSSERVAZIONE: Mentre la tabella di verità di una funzione logica è unica, esistono più espressioni logiche equivalenti ad essa. 5

Teorema di espansione di Shannon f(x,y,z... ) = x f(,y,z,... )+ x f (,y,z,... ) Come esempio di applicazione del Teorema, consideriamo una funzione di due variabili: f(x,y)= x f(,y)+ x f(,y) = = x (y f(,)+ y f(,)+ x (y f(,)+ y f(,)) = = x y f(,)+ x y f(,)+ x y f(,)+ x y f(,) Un termine prodotto che contenga tutte le variabili, affermate o complementate, della funzione prende il nome di prodotto fondamentale o mintermine. L espressione di una funzione logica corrispondente alla somma dei suoi mintermini prende il nome di somma canonica o forma canonica SP (somma di prodotti). Riconsideriamo la precedente tabella di verità: x y z f 2 3 4 5 6 7 Otteniamo: Vale anche la formulazione duale: f = x y z + x y z + x y z f( xyz,,,...) = ( x+ f(, yz,,...)) ( x+ f(, yz,,...)) 6

( ( ALGEBRA BOOLEANA E MAPPE DI KARNAUGH Esemplificando ancora una volta per una funzione a due variabili si ottiene: f(x,y)= (x + f(,y)) x + f(,y)) = = x + (y + f(,)) (y + f(,))) x + (y + f(,)) ( y + f(,))) = = (x + y + f(,)) (x + y + f(,))) ( x + y + f(,)) ( x + y + f(,))) Un termine somma che contenga tutte le variabili prende il nome di somma fondamentale o maxtermine. L espressione di una funzione logica corrispondente al prodotto dei suoi maxtermini prende il nome di prodotto canonico o forma canonica PS (prodotto di somme). Riconsideriamo la precedente tabella di verità: Otteniamo: Riassumendo: x y z f 2 3 4 5 6 7 f = ( x + y + z ) ( x + y + z ) ( x + y + z ) ( x + y + z) ( x + y + z ) La forma canonica SP di una funzione logica si ottiene sommando tra loro tanti prodotti di tutte le variabili quante sono le righe della tabella di verità per cui la funzione vale ; in ciascuno di questi prodotti le variabili compaiono affermate se il loro valore nella riga corrispondente è negate nel caso contrario. 7

ALGEBRA BOOLEANA E MAPPE DI KARNAUGH Esempio: x y f f = x y + x y La forma canonica PS di una funzione logica si ottiene moltiplicando tra loro tante somme di tutte le variabili quante sono le righe della tabella di verità per cui la funzione vale ; in ciascuna di queste somme le variabili compaiono affermate se il loro valore nella riga corrispondente è, negate nel caso contrario. Esempio x y f f = ( x + y ) ( x + y ) ( x + y ) 8

+ + + + = ALGEBRA BOOLEANA E MAPPE DI KARNAUGH Forme semplificate di una funzione Usando le proprietà dell algebra booleana che abbiamo riassunto in una tabella in precedenza è possibile semplificare una funzione espressa in forma canonica. Esempio: f = xyzw + xyzw + xyzw + xyzw + xyzw = = xyzw + xyzw + xyzw + xyzw xyzw xyzw xyzw xyzw ma noi sappiamo che: xyzw + xyzw = xyz xyzw + xyzw = xyw xyzw + xyzw = yzw xyzw + xyzw = xyw pertanto: f = xyz+ xyw+ yzw+ xyw f = xyz+ xy+ yzw f = xy + yzw Si può passare semplicemente da una forma ridotta alla forma canonica ricordando che: xy = xy( z + z ) = xyz + xyz 9

ESPRESSIONE GRAFICA DI FUNZIONI Oltre che da un espressione tabellare e funzionale, le funzioni logiche possono essere rappresentate graficamente Un espressione grafica particolarmente utile per funzioni con limitato numero di variabili fu sviluppata da Maurice Karnaugh negli AT&T Bell Laboratories nel corso degli anni 5. Definite adiacenti due configurazioni di variabili che differiscono per un valore di queste, tale concetto di adiacenza si trasporta immediatamente nel concetto di adiacenza fra caselle di una mappa etichettate con il valore delle variabili. Ad esempio, per n = 3. xy Z C E A B F Per conservare le proprietà di adiacenza, occorre immaginare la mappa avvolta ad un cilindro, sia orizzontalmente che verticalmente, con i lati opposti che si toccano. Così le caselle E ed F della figura precedente saranno adiacenti e, analogamente, per n=4, saranno adiacenti le caselle A e B della figura sottostante: W YZ A B

L utilità delle mappe di Karnaugh si arresta per n = 5, caso in cui la situazione diviene quella di figura, in cui l adiacenza si estende alle caselle che differiscono per la quinta variabile w. xy zt w= w= * * Qui di seguito si riportano alcune mappe di Karnaugh per 2, 3, 4 e 5 variabili con alcuni esempi di celle adiacenti: y x a a xy Z c b b c YZ W b c c a a b xy xy zt zt a a c b b d d c w= w= Sia g = xyzw una funzione di 4 variabili, costituita da un solo mintermine.

g è una funzione che ha un solo nella tabella di verità; g vale uno infatti per la sola combinazione degli ingressi (x=l, y=l, z=l, w=) e sarà rappresentata da un nella casella corrispondente della mappa di Karnaugh. Consideriamo ora un prodotto con una variabile in meno; la funzione g= xyz = xyzw+ xyzw sarà rappresentata da due in due caselle adiacenti della mappa di Karnaugh. Rappresenteremo g con un rettangolo che contiene le due caselle adiacenti in una mappa di Karnaugh di 4 variabili. Un prodotto di due variabili può essere espanso in 4 mintermini e sarà rappresentato da un rettangolo che contiene quattro caselle adiacenti in una mappa di Karnaugh di 4 variabili. Ciò che vale per un prodotto g = xyzw, può essere esteso ad esempio alla funzione somma s = x+ y+ z+ w costituita da un solo maxtermine, operando sugli della funzione e sui valori complementati delle variabili. a b a b a+b a bc a bc a c a bc c ac bc a ac bc b+c a +c 2

ab cd ab cd a cd a+c +d abc a +b +c cd ab c cd ab ab b b+c+d b+d cd ab ab cd b c bd c c+d 3

Implicanti di una funzione logica (espressioni SP) Definizione. Siano date due funzioni, Φ e Ψ, nelle stesse variabili. Si dirà allora che Φ è un implicante di Ψ se, per ciascuna combinazione delle variabili per cui Φ =, anche Ψ=. Diremo che un prodotto P è un implicante della funzione se ogni cella occupata da P contiene ( copre ) un della funzione. Proprietà : Una funzione f può sempre essere espressa da una somma di implicanti purché essi coprano tutti gli della funzione. Definizione. Data una funzione espressa in forma normale SP, diremo che un termine prodotto (non necessariamente appartenente all espressione) è implicante principale o primo se: a) implica la funzione; b) non esiste nessun termine della funzione che include questo termine. (Per le funzioni espresse in PS si parla invece di implicati di una funzione quando ci si riferisce ad un termine somma). Proprietà 2: Per ogni funzione f esiste almeno un insieme di implicanti primi P = {p+p2+...+pk} tale che la funzione può essere espressa come: f=p +p2 +...+ pk [Una funzione è espressa da una somma di implicanti. Supponiamo che tra questi esistano degli implicanti non primi. Allora per ciascuno degli implicanti non primi esiste un implicante primo che lo include e che può essere sostituito nell espressione della funzione.] Deduzione degli implicanti primi La mappa di Karnaugh di una funzione non è altro che una diversa rappresentazione della tabella di verità. Esempio: f( wxyz,,, ) = w x y z+ w x y z+ w x y z+ w x y z+ w x y z 4

wx yz i cui termini sono tutti implicanti primi. f = x y z+ w x z + x y z Il metodo delle mappe di Karnaugh consiste quindi nel contrassegnare i termini canonici che possono combinarsi, tenendo presente che, se una serie di essi è contenuta in una serie più grande, solo quest ultima deve essere contrassegnata. Esempio: f(w,x,y,z)=w x y z +w xy z+w xyz+wxyz+wxyz+wx yz +wx yz wx yz I termini corrispondenti ai contrassegni sono i primi implicanti e la funzione può essere scritta: f=x y z +xz+wyz 5

Operatori e porte complesse Ogni funzione logica può essere espressa in termini di operatori AND, OR e NOT. Ma una qualsiasi delle due coppie di operatori (AND, NOT) oppure (OR, NOT) è sufficiente ad esprimere una funzione. (De Morgan ) Inoltre ciascuna di tali coppie può essere combinata in un singolo operatore, rispettivamente NAND (NOT AND) e NOR (NOT OR) definiti come segue: NAND NOR A B A B A B A B NAND (indicato con ) e NOR (indicato con ) sono detti operatori universali. Per dimostrare le affermazioni precedenti basta mostrare come gli operatori NOT, OR ed AND possano essere espressi mediante gli operatori universali. operatore NAND NOT x x = (x x) = x OR (x x) (y y)=(x y ) =x+y AND (x y) (x y)=((x y) (x y) ) =x y operatore NOR NOT x x = (x+x) = x OR (x y) (x y)=((x+y) +(x+y) ) =x+y AND (x x) (y y)=(x +y ) =xy IMPORTANTE. Gli operatori NAND e NOR godono della proprietà commutativa ma non di quella associativa. Infatti: x (y z) (x y) z 6

x (y z) (x y) z Tutte le volte che più di due valori (costanti o variabili) sono legati fra loro da uno dei precedenti operatori, bisogna ricondursi alla definizione dell operatore (NAND = NOT AND, NOR = NOT OR) per trovare gli sviluppi corretti. Esempio: x y z=(xyz) =x +y +z Trasformazione SP in NAND usando De Morgan oppure si applica la seguente regola: si sostituiscono tutti gli operatori (AND,OR,NOT) presenti con l operatore NAND ( ricordando che x =x x ) ma se vi è un prodotto con una sola lettera, esso deve essere complementato, se l espressione contiene un solo prodotto P, si somma il prodotto a se stesso P+P es: f= c+a b - (c c) ((a a) b) Trasformazione PS in NOR valgono le stesse regole 7

OR ESCLUSIVO Viene spesso adoperato un altro importante operatore complesso. Si tratta dell operatore somma modulo 2 ovvero ECLUSIVE OR (abbreviato in OR ed indicato nell algebra come ). La tabella di verità che lo definisce per due variabili è la seguente: A B A B Questo operatore riesce particolarmente utile nella espressione di funzioni aritmetiche. Gode della proprietà commutativa e associativa. Non è un operatore universale; esistono solo due operatori universali (NAND e NOR) NOR = OR complementato = operatore coincidenza 8

Le reti logiche Un loro schema molto semplificato è: Z Rete Logica n Z m Le grandezze fisiche (segnali), 2,..., n e Z,.., Z m che compaiono in ingresso ed in uscita possono assumere, ciascuna, solo un insieme di valori limitato e discreto (generalmente due). Più che di ingressi e di uscite si parla quindi di combinazioni di ingresso e di uscita. Distinguiamo le reti logiche in due classi: reti combinatorie e reti sequenziali: Una rete (logica) combinatoria è una rete in cui le uscite dipendono esclusivamente dagli ingressi presenti nella rete. Una rete (logica) sequenziale è una rete le cui uscite dipendono non solo dagli ingressi che sono presenti sulla rete ma anche dalla sua storia precedente. L algebra delle commutazioni è adatta a rappresentare circuiti in cui vengono elaborati segnali binari. Le variabili e le costanti dell algebra delle commutazioni (variabili e costanti booleane o logiche) vengono associate ai due valori di tensione che i segnali presenti in tali circuiti (circuiti o reti logiche ) possono assumere. Il valore alto (H) ed il valore basso (L) vanno intesi come tensione più positiva e tensione meno positiva. = H ; = L logica positiva = H ; = L logica negativa Analogamente, gli operatori dell algebra OR, AND, NOT, NAND, NOR e OR vengono associati ad elementi fisici (o porte). 9

AND OR NOT NAND NOR OR Ogni espressione algebrica di una funzione può essere tradotta in una rete sostituendo agli operatori le rispettive porte. Fan-in = numero massimo di ingressi di una porta Fan-out = numero massimo di porte che una porta può alimentare Livello di una porta: si assegna il livello alla porta in uscita Tutte le reti logiche composte di blocchi combinatori e prive di cicli sono reti combinatorie Il comportamento di una rete combinatoria può essere descritto mediante una funzione logica. In generale, l analisi di una rete consiste proprio nel ricavare la tabella di verità o nello scrivere la funzione che la rete realizza alle sue uscite. Nella figura che segue è mostrato un semplicissimo esempio di analisi: x x+y y z f=(x+y)z 2

Diverso dall analisi è il problema della sintesi di una rete. In questo caso, da una descrizione non ambigua della funzione che la rete deve realizzare si deve giungere alla sua progettazione in termini di porte logiche tra loro opportunamente interconnesse. SINTESI DELLE RETI COMBINATORIE Sintetizzare una rete combinatoria significa determinarne il progetto logico partendo da una descrizione non ambigua di ciò che la rete deve fare. Possono esistere progetti diversi che realizzano la stessa funzione logica. La soluzione che desideriamo dovrà avere il minimo costo ovvero il minimo numero di porte e, a parità di porte, il minimo numero di segnali di ingresso. Trasportando il discorso nel campo dell algebra delle commutazioni ciò significa ricercare espressioni delle funzioni contenenti il minimo numero di termini e, a parità di termini, il minimo numero di lettere. La soluzione dei passi che conducono alla sintesi di una rete a due livelli di logica può allora essere schematizzata come segue: a) la funzione da realizzare viene descritta in modo da determinarne con precisione la tabella di verità b) dalla tabella di verità viene ricavata una forma canonica; c) l espressione canonica viene minimizzata; d) viene disegnata la rete corrispondente. Minimizzazione di una funzione logica Noti tutti gli implicanti primi, una funzione può essere espressa dalla loro somma (somma completa). In molti casi è sufficiente sommarne solo una parte. Un implicante primo si dice eliminabile se esso implica la somma degli altri implicanti primi. Un implicante primo è ineliminabile se non implica la somma dei rimanenti implicanti primi. Gli implicanti primi ineliminabili si dicono implicanti essenziali della funzione. 2

Dicesi nucleo della funzione la somma di tutti gli implicanti essenziali. Gli implicanti primi (non essenziali) che implicano il nucleo della funzione sono detti assolutamente eliminabili. Dicesi forma irridondante di una funzione una forma tale che nessuno dei suoi termini o delle sue lettere può essere tolto. Dicesi forma minima di una funzione quella forma che contiene il minor numero di termini e, a parità di termini, il minor numero di lettere. Per ottenere la forma minima di una funzione considereremo due metodi: il metodo delle mappe di Karnaugh e quello della tabella di copertura. Metodo delle mappe di Karnaugh Presentiamo il metodo ricorrendo ad un esempio. Sia: + + + + + + f ( w, x, y, z) = wxyz + wxyz wx yz wxyz wxyz wx yz wx yz wxyz yz wx Da tale mappa ricaviamo agevolmente tutti gli implicanti primi. La funzione può allora essere espressa come somma di questi (somma completa): f ( w, x, y, z) = wy + xyz + wxz + w yz + x yz + wxz Un buon inizio è sempre quello di controllare ciascuna cella per vedere se è inclusa in un solo implicante; in caso affermativo, la cella viene contrassegnata. Ricordiamo che un implicante primo che include una cella non inclusa in nessun altro implicante primo è un implicante essenziale e come tale deve essere incluso in ogni forma minima. 22

Il metodo delle mappe di Karnaugh è un metodo visivo, il cui successo è determinato dall abilità dell operatore. Il metodo successivo si presenta invece come una procedura sistematica. Metodo della tabella di copertura Si consideri la funzione di figura, della quale abbiamo già ottenuto gli implicanti, che riportiamo per completezza e che identifichiamo con lettere maiuscole: yz wx 5 6 7 2 8 3 4 A = wy B = wxz C = x yz D = wyz E = wxz F = xyz Per comodità, contrassegnamo gli della funzione con gli interi da ad 8. Costruiamo poi una tabella, detta tabella di copertura, nella quale riportiamo in riga gli implicanti ed in colonna gli della funzione. Per ogni riga (implicante), contrassegnamo le colonne corrispondenti agli della funzione che sono coperti da quell implicante. 2 3 4 5 6 7 8 * A B C D E F 23

Una forma minima della funzione corrisponde ad un insieme di righe R tale che: a) copre tutta la tabella ovvero, per ogni colonna della tabella, esiste almeno una riga di R che ha un contrassegno in quella colonna; b) fra tutti gli insiemi di righe che godono della proprietà precedente, R ha il minimo numero di righe. Alcuni suggerimenti possono aiutare nella ricerca della forma minima. Si osservi infatti che se, in una tabella di copertura, una colonna ha un solo contrassegno, la riga in cui questo compare corrisponde ad un implicante essenziale (e prende il nome di riga essenziale). Nell esempio, le colonne 3 e 4 hanno un solo contrassegno che corrisponde alla riga A. Poiché l implicante A deve essere presente in ogni somma irridondante, possiamo rimuovere la riga A e le colonne da essa ricoperte, 2, 3, 4 indicando con un contrassegno a fianco della riga stessa che essa fa parte della soluzione. La rimozione delle colonne, 2, 3, 4 dalla tabella è giustificata dal fatto che selezionando la riga A nella soluzione, abbiamo già tenuto conto della copertura di tali colonne. Il problema della copertura della funzione viene a questo punto ricondotto a quello mostrato nella figura seguente: 5 6 7 8 B C D E F La riga B ha una sola in colonna 5, mentre la riga C ha una in colonna 5 ed una in colonna 6. Possiamo (dominanza fra righe) scartare la riga B, che si dice essere dominata dalla riga C in quanto C ha la stessa capacità di copertura di B ed inoltre copre un ulteriore della funzione. Quando una riga ne domina un altra, la riga dominata può essere tolta dalla soluzione. È possibile nel nostro esempio scartare la riga F, che risulta dominata dalla riga E. Dopo l eliminazione delle righe B ed F: 24

5 6 7 8 C D E L unico modo per coprire la riga 5 è quello di selezionare la riga C, poiché la colonna 5 è rimasta con una sola nella riga C; analogamente sarà necessario selezionare la riga E che è l unica a coprire la colonna 8. C ed E sono divenute righe essenziali; si noti tuttavia che esse non corrispondono ad implicanti essenziali. Selezionando le righe C ed E, tutte le colonne della tabelle sono state coperte e quindi ottenuta una copertura minima: f = A + C + E = wy + x yz + wxz Funzioni non completamente specificate In determinati casi, alcune combinazioni delle variabili in ingresso non possono mai presentarsi o non rivestono significato. Se dobbiamo progettare una rete che abbia uscita z = quando gli ingressi corrispondono ai numeri, 3, 5, 9, la funzione può essere descritta: Esempio: Codifica binaria delle cifre decimali: x x2 x3 x4 2 3 4 5 6 7 8 9 25

Se dobbiamo progettare una rete che abbia uscita z= quando gli ingressi corrispondono ai numeri, 3, 5, 9, la funzione può essere descritta con la seguente tabella: x 3 x 4 x x Vi sono sei combinazioni di valori delle variabili (,,,, e ) che non possono mai presentarsi se non in presenza di un guasto sulla rete. Contrassegnamo allora i corrispondenti valori della funzione con delle. Funzioni come quella dell esempio prendono il nome di funzioni incomplete o non completamente specificate. Risulta intuitivo come si possa attribuire ad ognuna delle indifferentemente il valore oppure il valore. Se le condizioni di indifferenza sono h, saranno perciò possibili 2 h diverse funzioni ciascuna delle quali costituisce una valida soluzione per il problema di partenza. Per ottenere forme normali minime allora (caso SP): a) si determinano gli implicanti primi attribuendo il valore a tutte le condizioni di indifferenza e si scartano poi quegli implicanti che coprono esclusivamente delle b) si minimizza tenendo conto solo degli l effettivi della funzione. Nell esempio visto in precedenza gli implicanti primi significativi sono x x, x x, x x, dei quali x3x 4 3 4 2 4 4, x2x sono essenziali. La copertura minima risulta, di conseguenza: f = x 3x + x2x 4 4 4. 26