Sintesi di Espressioni Booleane
|
|
|
- Aurelia Bassi
- 9 anni fa
- Visualizzazioni
Transcript
1 MIXAGGI POCO FLUIDIISTITUTO DI ISTRUZIONE SUPERIORE ANGIOY Sintesi di Espressioni Booleane Prof. G. Ciaschetti. Definizioni preliminari Nella vita di tutti giorni, troviamo spesso le parole analisi e sintesi. La prima parola, analisi, l abbiamo sentita e usata spesso parlando di analisi del sangue, di analisi grammaticale o analisi logica, di analisi della situazione politica, di analisi di un testo, ecc. Il secondo termine, sintesi, è piuttosto ricorrente in espressioni del tipo sintesi musicale (il sintetizzatore), sintesi vocale (riproduzione della voce al computer), sintesi delle proteine, sintesi farmaceutica, ecc. Cosa significano queste due parole? Proviamo a darne una definizione: analisi: valutazione critica condotta scomponendo l'oggetto nelle sue parti costituenti, per poi descrivere tali parti e le loro relazioni col tutto (Wikipedia). sintesi: operazione mentale che riassume una quantità di dati conoscitivi in una conclusione unitaria ed essenziale (Dizionario della Lingua Italiana Sabatini-Coletti ). Dalle definizioni date, notiamo come l analisi è il processo inverso della sintesi, e viceversa, la sintesi è il processo inverso dell analisi. Possiamo allora riformulare le nostre definizioni nel seguente modo: analisi: data una descrizione in forma chiusa di un oggetto, trovare una descrizione in forma estesa. sintesi: data una descrizione in forma estesa di un oggetto, trovare una descrizione in forma chiusa. Richiamando la prima dispensa sull Algebra di Boole, ricordiamo che effettuare l analisi di un espressione booleana = f (x, x 2,, x n ) significa individuare per quali valori delle variabili x, x 2,, x n l espressione è vera o falsa, e questo possiamo farlo mediante le tavole di verità. La descrizione = f (x, x 2,, x n ) è in forma chiusa, mentre la tavola di verità è una descrizione in forma estesa. Appare allora evidente che fare la sintesi di un espressione booleana significa fare il contrario dell analisi: data la tavola di verità di una espressione booleana (forma estesa), come possiamo risalire alla sua espressione (forma chiusa)? Definizione: si dice sintesi di una espressione (o funzione) booleana = f (x, x 2,, x n ) l operazione mediante la quale partendo dai valori di verità o dell espressione per ogni possibile combinazione delle variabili che in essa compaiono, si vuole trovare l espressione che la genera. In che modo è possibile fare questo? Mediante le forme canoniche.
2 2 2. Forme canoniche Innanzitutto introduciamo due definizioni che ci serviranno: Definizione: un mintermine è un prodotto logico di variabili booleane, eventualmente negate, e un maxtermine è una somma logica di variabili booleana, eventualmente negate. Esempi: mintermini maxtermini x x 2 x x2 x x2x3 x x2 x3 Si noti che, secondo la definizione, x è un mintermine (il prodotto di un solo termine) ma è anche un maxtermine (la somma di un solo termine). Allo stesso modo, ad esempio, x2 è al tempo stesso un mintermine e un maxtermine. E veniamo alle forme canoniche: una forma canonica è un modo di rappresentare una espressione booleana. In particolare distinguiamo: Prima Forma Canonica (FC): Un espressione si dice in prima forma canonica se compare come somma logica di mintermini. Seconda Forma Canonica (2FC): Un espressione si dice in seconda forma canonica se compare come prodotto logico di maxtermini. In poche parole, si può dire che un espressione booleana è in FC se compare come somma (logica) di prodotti (logici), cioè come OR di AND. Un espressione booleana è, invece, in 2FC se compare come prodotto (logico) di somme (logiche), cioè come AND di OR. Esempi: FC 2FC x x2 x x3 xx 4 x x )( x x ) ( 2 2 x3 x x3 xx 2 ( x x2) x3 Siccome i mintermini e i maxtermini possono essere costituiti anche da un solo termine, come nella seconda riga degli esempi appena visti, può accadere che, ad esempio, l espressione x x 2 è sia in FC (un solo mintermine con due termini) che in 2FC (il prodotto di due maxtermini, ognuno dei quali ha un solo termine). Allo stesso modo, x + x 2 è sia in FC che in 2FC. Chiaramente, oltre alle espressioni in FC e 2FC, esistono anche espressioni che non sono né in FC né in 2FC, come ad esempio l espressione, che non è né un OR di AND, né un AND di OR. La forza delle forme canoniche sta nel fatto che per ogni espressione booleana c è una sua espressione equivalente in FC, e una sua espressione equivalente in 2FC.
3 3 3. Sintesi di espressioni booleane Torniamo al nostro obiettivo di fare la sintesi di un espressione booleana, ossia, di determinare l espressione in forma chiusa per una = f (x, x 2,, x n ) della quale conosciamo i valori di verità per ogni possibile combinazione delle variabili. Come possiamo fare? Abbiamo due alternative: - trovare l espressione equivalente in prima forma canonica (FC) - trovare l espressione equivalente in seconda forma canonica (2FC) 3. Sintesi di espressioni booleane in prima forma canonica (FC) Cominciamo con il primo dei due modi, con un esempio. Supponiamo di sapere che la nostra funzione booleana ha la seguente tavola di verità: x x 2 Volendo trovare la nostra espressione in FC, andiamo a considerare solo le righe della tabella in cui il valore della è. Ossia, la prima, la terza e la quarta. Ognuna di queste righe dà luogo a un mintermine. La nostra espressione sarà allora costituita dalla somma logica di tre mintermini. Ma come facciamo a sapere quali? Nel mintermine si riporta ogni variabile, negata se è falsa (cioè uguale a ), non negata se è vera (cioè uguale a ). Quindi, avremo i seguenti mintermini: x x 2 per la prima riga x x 2 per la terza riga x x 2 per la quarta riga Abbiamo trovato l espressione in FC: = x x + x x + x 2 2 x 2, e come si può vedere, è un OR di AND. Per verifica, si lascia per esercizio fare la tavola di verità dell espressione trovata. Facciamo un altro esempio: consideriamo la seguente tavola di verità x x 2 x 3 e troviamo, come prima, l espressione in prima forma canonica. Ci sono solo due righe in cui la è vera, quindi avremo due mintermini. L espressione cercata è x x2x3 x x2x3. Facile, no?
4 4 Riassumendo, per trovare un espressione in FC occorre: - considerare solo le righe nelle quali =. Ogni riga diventa un mintermine. - scrivere i mintermini con le variabili negate se sono, e non negate se sono. - scrivere l espressione come OR dei mintermini. 3.2 Sintesi di espressioni booleane in seconda forma canonica (2FC) Se invece che in FC, vogliamo trovare l espressione in seconda forma canonica, o 2FC, cioè come AND di OR, dobbiamo ribaltare tutto: stavolta siamo interessati alle righe della tavola di verità in cui la vale. Ognuna di queste righe darà luogo a un maxtermine. A differenza di prima, stavolta, nei maxtermini si riportano negate le variabili vere, e non negate le variabili false, proprio al contrario di quanto facevamo prima. Esempio: x x 2 Volendo trovare la nostra espressione in 2FC, andiamo a considerare solo le righe della tabella in cui il valore della è. Ossia, la seconda e la quarta. Avremo così due maxtermini, e cioè x x 2 per la seconda riga x per la quarta riga x 2 Dunque, la nostra espressione in 2FC diventa = x ) x ), ed è un AND di OR. Facciamo un altro esempio: sia data x x 2 x 3 ( x2 ( x2 Cerchiamo l espressione in 2FC: abbiamo tre maxtermini, essendo solo tre le righe in cui la vale, e precisamente, la prima, la quinta e la sesta. Otteniamo allora l espressione = (x + x 2 + x 3 ) ( x + x 2 + x 3 ) (x + x 2 + x 3 ). Riassumendo, per trovare un espressione in 2FC occorre: - considerare solo le righe nelle quali =. Ogni riga diventa un maxtermine. - scrivere i maxtermini con le variabili negate se sono, e non negate se sono. - scrivere l espressione come AND dei maxtermini.
5 5 4. Sintesi di espressioni booleane in forma minima Il problema che si ha nel fare la sintesi delle funzioni booleane nel modo appena descritto è che le espressioni ottenute sono piuttosto lunghe. Sicuramente, esisteranno espressioni equivalenti più ridotte di quelle trovate. Si pone allora il problema di semplificare le espressioni in modo da ricondurle a una forma minima. Ricordiamo, infatti, che per ogni operazione logica che compare nell espressione, occorre inserire nel circuito corrispondente una porta logica, e le porte logiche costano! Come possiamo fare, allora, per trovare l espressione in forma minima? Abbiamo due possibilità: ) Semplificare l espressione trovata con il metodo appena descritto, utilizzando le proprietà dell algebra booleana 2) Utilizzare le mappe di Karnaugh Se volessimo procedere seguendo la prima delle due strade, ad esempio, potremmo semplificare la funzione booleana trovata nel primo esempio del paragrafo precedente, = x x + x x + x 2 2 x 2, nel seguente modo: x x + x 2 2 ( x ) x2 x + x x 2 = ( x x ) x2 + x x 2 per la proprietà distributiva x + x x 2 = x 2 + x x 2 per la proprietà della complementarità x 2 + x x 2 = x 2 + x x 2 per la proprietà dell identità a questo punto la funzione non è più minimizzabile. Abbiamo trovato così che = x 2 + x x 2. Tuttavia, procedere in questo modo può risultare estremamente difficile se la funzione booleana da minimizzare è particolarmente complessa. Inoltre, bisognerebbe ricordarsi tutte le proprietà dell algebra booleana, il che non accade spesso, aimè. 4. Mappe di Karnaugh Un metodo più elegante ed efficace per miminizzare una formula booleana è quello che usa le mappe di Karnaugh. Cosa sono? Inventate dall ingegnere americano Maurice Karnaugh nel 957, sono nate con lo scopo di progettare reti elettriche per le compagnie telefoniche AT&T e Western Electric, che fossero efficienti e a costo minimo. Cosa sono e come funzionano queste mappe? Le mappe di Karnaugh sono delle griglie che possono contenere 2, 4, 8 o 6 caselle. Si tratta di disegnare una griglia nella quale riportare i valori della tavola di verità, e poi cercare di raggruppare questi nel minor numero di gruppi possibile. Andiamo a spiegare come, ma vediamo prima come sono fatte le mappe. Costruzione delle mappe mappa di Karnaugh con due celle mappa di Karnaugh con quattro celle
6 6 mappa di Karnaugh con otto celle mappa di Karnaugh con sedici celle Quale di queste dobbiamo utilizzare? E presto detto: servono tante celle quante sono le righe della tavola di verità. Quindi, se ad esempio abbiamo otto righe (tre variabili, ricordate la regola? Con n variabili binarie si hanno 2 n combinazioni), utilizzeremo una mappa con otto caselle, e se abbiamo una tavola di verità con sedici righe (quattro variabili), utilizzeremo una mappa con sedici caselle. E se abbiamo una tavola di verità con 32 righe (cinque variabili)? Si utilizzano due mappe di sedici caselle ognuna. E se abbiamo 64 righe? Quattro mappe da sedici. E così via.. Siccome ogni casella della mappa deve corrispondere a una riga della tavola di verità, si etichettano le righe e le colonne della mappa nel seguente modo: x due caselle = due righe della tavola = variabile x x 2 quattro caselle = quattro righe della tavola = 2 variabili Prima di procedere con le prossime tavole, più grandi, cerchiamo di capire cosa significa. Nella mappa da due celle, abbiamo la sola variabile x nell espressione (un solo ingresso nel circuito), che può valere o. Indichiamo allora una casella per il valore, e una casella per il valore dell unica variabile x. Nella mappa da quattro celle, invece, abbiamo due variabili, che possono valere,, o. Indichiamo x sulle righe e x 2 sulle colonne, in modo che: - le due caselle della prima riga corrispondono ai casi in cui x = - le due caselle della seconda riga corrispondono ai casi in cui x = - le due caselle della prima colonna corrispondono ai casi in cui x 2 = - le due caselle della seconda colonna corrispondono ai casi in cui x 2 =
7 7 Abbiamo quindi che la casella più in alto a sinistra corrisponde alla combinazione, quella alla sua destra alla combinazione, la prima in basso a sinistra alla combinazione, quella in basso a destra alla combinazione. Chiaro? Procediamo con le altre due mappe: x x 2 x 3 otto caselle = otto righe della tavola = 3 variabili Stavolta la faccenda si complica un po : cosa sta succedendo? Dobbiamo riportare sulla mappa le otto combinazioni,,,,. Facciamo variare la prima variabile sulle righe, e le altre due sulle colonne. Cioè, nella tavola di verità, la variabile x può essere quattro volte oppure quattro volte, quindi identifichiamo le quattro caselle di sopra con i primi quattro casi (x = ), le quattro caselle di sotto con gli altri (x = ). Le altre due variabili invece variano sulle colonne: esse possono essere,, o. Abbiamo dunque le due caselle più a sinistra con x 2 = e x 3 =, nella seconda colonna x 2 = e x 3 =, nella terza colonna x 2 = e x 3 = e nell ultima colonna x 2 = e x 3 =. Ma perché abbiamo messo prima e poi? Per rispettare una regola fondamentale nella costruzione delle mappe: tra caselle adiacenti deve esserci la variazione di una sola variabile. Infatti, prendiamo due caselle a caso: ad esempio, le due caselle centrali nella riga in alto. In una abbiamo x =, x 2 = e x 3 =, mentre nell altra abbiamo x =, x 2 = e x 3 =. Come possiamo osservare, tra le due è cambiata la sola variabile x 2, mentre le altre hanno mantenuto il proprio valore uguale. Prendiamone altre due a caso: le due a destra della riga in basso. In una abbiamo x =, x 2 = e x 3 =, mentre nell altra abbiamo x =, x 2 = e x 3 =. Di nuovo, è cambiata una sola variabile, x 3, mentre le altre due hanno mantenuto il loro valore. Proviamo con altre due, stavolta con adiacenza in verticale: prendiamo la seconda colonna. Nella casella in alto abbiamo x =, x 2 = e x 3 =, mentre nell altra abbiamo x =, x 2 = e x 3 =. E variata la sola variabile x. E d altra parte, c era da aspettarselo, visto che entrambe le caselle corrispondono alla combinazione di x 2 e x 3. Attenzione ora, che c è il colpo di genio ( ): prendiamo ad esempio la casella in alto a sinistra e la casella in alto a destra. Nella prima abbiamo, mentre nella seconda abbiamo. E variata la sola variabile x 2. Ma allora, se definiamo come adiacenti due caselle nelle quali cambia il valore di una sola variabile, anche queste due sono adiacenti. Magia, la mappa è circolare! Possiamo ripetere la prova per le due caselle in basso a sinistra e a destra, che è lasciata per esercizio. Possiamo pensare alla mappa circolare come a un braccialetto, o alla ghiera numerata di un lucchetto a combinazione, come nella seguente figura:
8 8 Attenzione però: in diagonale non c è adiacenza, mai! (si faccia la prova per esercizio). Bene, continuiamo ora con le altre mappe. x 3 x 4 x x 2 sedici caselle = sedici righe della tavola = 4 variabili Ripetendo il ragionamento fatto per la precedente mappa, abbiamo le variabili x e x 2 che variano sulle righe, mentre le variabili x 3 e x 4 variano sulle colonne. Di nuovo, tra colonne adiacenti cambia una sola variabile (si faccia qualche prova!) e la mappa è circolare. Stavolta, la circolarità non c è solo in orizzontale (le caselle della colonna a sinistra sono adiacenti a due a due con le caselle della colonna a destra), ma anche in verticale (le caselle della prima riga sono adiacenti a due a due con le caselle dell ultima riga). L immagine che viene fuori è allora quella di una mappa sferica, in cui l adiacenza tra le caselle è un po come in un pallone da calcio Quando le variabili in gioco sono più di 4, cioè le righe della tavola di verità sono 32 o 64 o più, bisogna usare più mappe da sedici. Per 5 variabili (32 righe), ad esempio, si usano due mappe da sedici, una per i sedici casi in cui x 5 =, e l altra per i restanti sedici casi in cui x 5 =. Per 6 variabili (64 righe), si usano quattro mappe da sedici, una in cui x 5 = e x 6 =, un altra in cui x 5 = e x 6 =, un altra ancora in cui x 5 = e x 6 = e l ultima in cui x 5 = e x 6 =. Ovviamente, in questi casi, non c è adiacenza tra una mappa e l altra (sebbene si possa teoricamente definire un concetto di adiacenza, in base alla definizione che abbiamo dato). Per un numero di variabili superiore a 6, in generale, le mappe sono sconsigliate a causa dell aumento di complessità della loro gestione, e si utilizzano altri metodi di minimizzazione. Utilizzo delle mappe Vediamo ora come utilizzare le mappe per minimizzare le nostre espressioni booleane. Innanzitutto, bisogna scegliere se si vuole un espressione in FC o in 2FC. Nel primo caso, riportiamo nella mappa solo i valori della tavola di verità, nel secondo caso, solo i valori.
9 9 Esempio: x 2 x x 2 se vogliamo la FC x Esempio: x x 2 x 3 x x 2 x 3 se vogliamo la 2FC Una volta decisa la forma canonica, e inseriti i valori che ci interessano all interno della mappa ( nel caso della FC, nel caso della 2FC), si cerca di raggruppare le caselle che contengono un valore nel minor numero di gruppi possibile, e con gruppi che siano più grandi possibile. Ogni gruppo dà luogo a un mintermine, nel caso della FC, o un maxtermine nel caso della 2FC. Si capisce allora perché è necessario che i gruppi siano meno possibile: meno gruppi equivale a meno mintermini (o maxtermini) nella espressione che troveremo. Il raggruppamento degli (o degli per la 2FC) avviene seguendo alcune regole: - i gruppi non contengono caselle vuote - i gruppi hanno dimensioni pari a potenze del 2 ed esattamente: a) x (una casella in orizzontale, una casella in verticale) b) x2 (una casella in orizzontale, due in verticale) c) 2x (due caselle in orizzontale, una in verticale) d) 2x2 (due caselle in orizzontale, due in verticale) e) 4x (quattro caselle in orizzontale, una in verticale) f) x4 (una casella in orizzontale, quattro in verticale) g) 4x2 (quattro caselle in orizzontale, due in verticale) h) 2x4 (due caselle in orizzontale, quattro in verticale) i) 4x4 (non succede mai! E se succede, non c è bisogno della mappa ) - i gruppi devono contenere caselle tra loro adiacenti a due a due : nel passare da una casella a un altra del gruppo, deve variare una sola variabile - i gruppi sono sovrapponibili - tutte le caselle piene (con o ) devono essere raggruppate, anche eventualmente in un gruppo x.
10 Facciamo qualche esempio: data la seguente tavola di verità, x x 2 x 3 costruiamo la mappa, inseriamo i valori che ci interessano e formiamo i gruppi. Supponiamo che vogliamo la FC. x 2 x 3 x Come si vede, in questo esempio possiamo innanzitutto formare un gruppo di quattro caselle piene, ed è il più grande gruppo possibile (gruppi da 8 caselle non ce ne sono). Resta un solo da piazzare ancora in un gruppo. Conviene prenderlo da solo, cioè in un gruppo x, oppure formare un gruppo 2x con la casella alla sua destra, sovrapponendo il nuovo gruppo a quello che già avevamo ottenuto? E meglio la seconda scelta! Come vedremo tra poco, conviene che i gruppi siano più grandi possibili, in modo da minimizzare il più possibile il mintermine (o maxtermine per la 2FC) che ne verrà fuori. x 2 x 3 x Abbiamo così raggruppato tutte le caselle che contengono, in due gruppi. Non ci sono altri da raggruppare. Come dicevamo, ogni gruppo dà luogo a un mintermine, nel seguente modo: Per la FC, si riportano nel mintermine solo le variabili che da una casella all altra del gruppo non cambiano il proprio valore, mentre si semplificano quelle che cambiano il loro valore. Le variabili che vanno riportate sono negate quando valgono, e non lo sono quando valgono. Nel nostro esempio, consideriamo il gruppo da due caselle. Nella casella più a sinistra, abbiamo x =, x 2 = e x 3 =. Nella casella più a destra, abbiamo invece x =, x 2 = e x 3 =. La variabile x 2 cambia il proprio valore, quindi va semplificata, mentre si riportano nel mintermine le variabili x e x 3 che non cambiano il loro valore. Siccome abbiamo x = e x 3 =, il mintermine diventa x x 3
11 Passiamo al gruppo da quattro. Di nuovo, vediamo quali variabili cambiano il proprio valore e quali no. Se consideriamo le caselle in senso orario, partendo da quella in alto a sinistra, abbiamo: prima casella: x =, x 2 = x 3 = seconda casella: x = x 2 = x 3 = terza casella: x = x 2 = x 3 = quarta casella: x = x 2 = x 3 = come si può osservare, l unica variabile che non cambia mai il suo valore all interno del gruppo è la variabile x 2, mentre le variabili x e x 3 cambiano il loro valore. Quindi, semplifichiamo x e x 3 e rimane il mintermine (non negato perché uguale a ) Abbiamo trovato la nostra espressione in forma semplificata: x x 2 x3 x2 Se avessimo scelto di prendere l restante da solo, anziché invece in un gruppo da 2, avremmo dovuto riportare tutte le variabili (nessuna cambia in una sola casella), e l espressione che avremmo ottenuto sarebbe stata x x2x3 x2, più lunga di quella che abbiamo trovato prima. Dall esempio, si può notare come - un gruppo da una sola casella non fa semplificare nessuna variabile - un gruppo da due caselle fa semplificare una variabile - un gruppo da quattro caselle fa semplificare due variabili - un gruppo da otto caselle fa semplificare tre variabili (prossimi esempi) Conviene prendere gruppi più grandi, no? Facciamo un altro esempio: x x 2 x 3 x 4 Supponiamo ora di volere la 2FC. Costruiamo la mappa e riportiamo su di essa gli della tabella.
12 2 x 3 x 4 x x 2 Procediamo con i raggruppamenti: minimo numero di gruppi più grandi possibile. x 3 x 4 x x 2 Siamo riusciti a formare tre gruppi, anche sfruttando la circolarità delle mappe. Scriviamo i maxtermini. Per la 2FC, si riportano nel maxtermine solo le variabili che da una casella all altra del gruppo non cambiano il proprio valore, mentre si semplificano quelle che cambiano il loro valore. Le variabili che vanno riportate sono negate quando valgono, e non lo sono quando valgono Abbiamo quattro maxtermini, uno per ognuno dei gruppi trovati: - gruppo di 4 caselle in orizzontale: non cambiano x e x 2 mentre cambiano x 3 e x 4. Il maxtermine è allora x x2 - gruppo di 2 caselle nella seconda colonna: non cambiano x, x 3 e x 4 mentre cambia x 2. Il maxtermine è x x3 x4 - gruppo di 2 caselle nella quarta colonna: non cambiano x 2, x 3 e x 4 mentre cambia x. Il maxtermine è x2 x3 x4 La funzione booleana trovata è = ( x x2 )( x x3 x4 )( x2 x3 x4 )
13 3 5. Forme di indifferenza e notazione sintetica 5. Forme di indifferenza Può accadere nella realtà dei circuiti combinatori che non sia importante il comportamento della rete per alcune combinazioni delle variabili. In questi casi, il fatto che nella tavola di verità, nella colonna della, ci sia o ci sia è indifferente. Si rappresenta allora l indeterminazione con una X, sia sulla tavola di verità che sulla mappa di Karnaugh. Le forma di indifferenza X possono essere usate nella mappa come joll, cioè siamo liberi di usarle solo se ci aiutano a formare gruppi più grandi. Esempio: x x 2 x 3 x x Se vogliamo la FC, la mappa risultante sarà x 2 x 3 x x x Procediamo con i gruppi (ricordarsi: minor numero di gruppi più grandi possibili). Stavolta possiamo scegliere se usare i joll oppure no. La scelta è facile: con le due x riusciamo a fare un gruppo di 4 caselle che copre due, quindi è meglio usarli. I migliori gruppi che possiamo fare sono solo 2, di quattro caselle ognuno: x 2 x 3 x x x Nel gruppo costituito dalle quattro caselle in alto, cambiano le variabili x 2 e x 3, mentre non cambia x. Abbiamo così il mintermine x (perché x = ). Nel gruppo costituito dalla quattro caselle laterali, cambiano le variabili x e x 2, mentre non cambia x 3. Abbiamo così il mintermine x 3 (perché x = ).
14 4 5.2 Notazione sintetica Nei nostri esercizi, e spesso nella realtà delle reti combinatorie, si usa di solito una notazione più compatta per rappresentare le tavole di verità, che non prevede di elencare tutti le possibili combinazioni delle variabili (pensate, ad esempio, a quanto sarebbe noioso scrivere una tavola di verità con 6 o più variabili). La notazione prevede di scrivere solo le combinazioni che ci interessano (quelle dove = se siamo interessati alla FC, o quelle dove = se siamo interessati alla 2FC), e di esprimere queste combinazioni come numeri decimali equivalenti ai numeri binari che si leggono per le variabili. Facciamo un esempio per capire meglio: Supponiamo di essere interessati alla FC (somma di prodotti). Ci interessano allora solo le righe in cui la =. Se abbiamo la tavola di verità x x 2 x 3 questa si può scrivere in modo compatto come (, 2, 3, 6, 7). Questa notazione significa che troviamo = in corrispondenza dei numeri binari ( in decimale), (2 in decimale), (3 in decimale), (6 in decimale) e (7 in decimale). Il simbolo in matematica rappresenta una sommatoria, e infatti cerchiamo la FC, cioè la somma di mintermini. Chiaro? Se invece vogliamo la 2FC (prodotto di somme), dobbiamo considerare come numeri decimali le righe in cui =, e usare il simbolo che indica una produttoria, poiché cerchiamo il prodotto di maxtermini. Nell esempio, possiamo indicare la tavola di verità come (, 4, 5). Infatti, abbiamo che = in corrispondenza delle combinazioni ( in decimale), (4 in decimale) e (5 in decimale). E le forme di indifferenza? Come si esprimono nella notazione sintetica? Con la lettera I, e vanno indicate sempre! Nell esempio seguente, x x 2 x 3 x 4 x x x x
15 5 Possiamo esprimere la tavola di verità come (,, 3, 6, 7, 8, ) + I(4,, 3, 5) se vogliamo la FC, oppure come (2, 5, 9, 2, 4) + I(4,, 3, 5) se vogliamo la 2FC. 6. Alcuni perché Concludiamo questa dispensa cercando di dare una motivazione a quanto stiamo facendo: perché è necessario fare l analisi e la sintesi di funzioni booleane, o dal punto di vista dei circuiti, di reti combinatorie? La seguente figura spiega quanto detto all inizio di questa dispensa: Come si può vedere, l analisi permette di conoscere il comportamento della rete conoscendone la sua struttura. In parole povere, sappiamo come è fatta la rete, cioè le porte logiche che la compongono, e in quale sequenza si trovano (o anche, dal punto di vista algebrico, conosciamo le operazioni booleane e le loro precedenze), e vogliamo capire come questa si comporta. Andiamo allora, tramite le tavole di verità, a valutare caso per caso, cioè, per ogni possibile combinazione delle variabili di ingresso, come si comporta la rete. Per quanto riguarda la sintesi, invece, vediamo che la sintesi permette di conoscere (e determinare) la struttura di una rete conoscendone il suo comportamento. In altre parole, se abbiamo una rete combinatoria della quale sappiamo come si comporta, o che vogliamo che si comporti in un certo modo, e vogliamo trovare una sua descrizione in forma chiusa, soprattutto allo scopo di massimizzarne le prestazioni (meno porte logiche = calcoli più veloci) e minimizzare i costi (meno porte logiche = rete più economica), dobbiamo effettuare la sintesi utilizzando le mappe di Karnaugh. Questo è molto importante nella progettazione di reti combinatorie, quando si vuole ottenere un certo risultato della rete, con il minor sforzo (economico e di tempo) possibile.
Dalla tabella alla funzione canonica
Dalla tabella alla funzione canonica La funzione canonica è la funzione logica associata alla tabella di verità del circuito che si vuole progettare. Essa è costituita da una somma di MinTerm con variabili
Sintesi di una funzione logica con le mappe di Karnaugh
Sintesi di una funzione logica con le mappe di Karnaugh Assegnata una funzione logica, la mappa di Karnaugh corrispondente non è altro che una rappresentazione grafica della tabella della verità della
Semplificazione delle funzioni logiche mediante le mappe K
Semplificazione delle funzioni logiche mediante le mappe K Le mappe di Karnaugh Le mappe di Karnaugh (o mappe K) servono a minimizzare una funzione booleana nel modo più semplice e soprattutto in modo
APPUNTI DI ELETTRONICA DIGITALE
APPUNTI DI ELETTRONICA DIGITALE Prerequisiti: Conoscere il sistema di numerazione binario Modulo 1 1. Concetti fondamentali L elettronica digitale tratta segnali di tipo binario, cioè segnali che possono
Procedimento di sintesi. Dalla tavola della verità si ricavano tante funzioni di commutazione quante sono le variabili di uscita
CIRCUITI LOGICI COMBINATORI. Generalità Si parla di circuito logico combinatorio quando il valore dell uscita dipende in ogni istante soltanto dalla combinazione dei valori d ingresso. In logica combinatoria
Funzioni booleane. Vitoantonio Bevilacqua.
Funzioni booleane Vitoantonio Bevilacqua [email protected] Sommario. Il presente paragrafo si riferisce alle lezioni del corso di Fondamenti di Informatica e Laboratorio di Informatica dei giorni 9
Reti Logiche Combinatorie
Testo di riferimento: [Congiu] - 2.4 (pagg. 37 57) Reti Logiche Combinatorie 00.b Analisi Minimizzazione booleana Sintesi Rete logica combinatoria: definizione 2 Una rete logica combinatoria èuna rete
Elementi di informatica
Elementi di informatica Algebra di Boole Algebra di Boole I circuiti logici sono componenti hardware che manipolano informazione binaria. I circuiti di base sono detti PORTE LOGICHE (logical gate). Allo
I Circuiti combinatori: LOGISIM
1 ISTITUTO DI ISTRUZIONE SUPERIORE ANGIOY I Circuiti combinatori: LOGISIM Prof. G. Ciaschetti 1. Le porte logiche Un circuito combinatorio (o sistema combinatorio o rete combinatoria) è un circuito elettrico,
Semplificazione delle funzioni logiche mediante il metodo delle mappe di Karnaugh
Semplificazione delle funzioni logiche mediante il metodo delle mappe di Karnaugh (26-2-3) Stefano Porcarelli ISTI-NR, 5634 Pisa, Italy, [email protected] http://bonda.cnuce.cnr.it Le
Le mappe di Karnaugh
Le mappe di Karnaugh Le semplificazioni di una funzione logica possono essere effettuate mediante i teoremi dell'algebra di Boole. Esiste però un metodo molto più pratico di semplificazione che quello
Reti logiche: analisi, sintesi e minimizzazione Esercitazione. Venerdì 9 ottobre 2015
Reti logiche: analisi, sintesi e minimizzazione Esercitazione Venerdì 9 ottobre 05 Punto della situazione Stiamo studiando le reti logiche costruite a partire dalle porte logiche AND, OR, NOT per progettare
Mappe di Karnaugh G. MARSELLA UNIVERSITÀ DEL SALENTO
Mappe di Karnaugh 1 G. MARSELLA UNIVERSITÀ DEL SALENTO Introduzione Le semplificazioni di una funzione logica possono essere effettuate mediante i teoremi dell'algebra di Boole. Esiste però un metodo molto
FUNZIONI BOOLEANE. Vero Falso
FUNZIONI BOOLEANE Le funzioni booleane prendono il nome da Boole, un matematico che introdusse un formalismo che opera su variabili (dette variabili booleane o variabili logiche o asserzioni) che possono
Fondamenti dell Informatica Algebra di Boole. Prof.ssa Enrica Gentile
Fondamenti dell Informatica Algebra di Boole Prof.ssa Enrica Gentile Algebra di Boole Si basa su tre operazioni logiche: AND (*) OR (+) NOT (!) Gli operandi possono avere solo due valori: Vero () Falso
Fondamenti di Informatica
Fondamenti di Informatica Algebra di Boole e Circuiti Logici Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 Algebra di Boole e Circuiti Logici L Algebra
Algebra di Boole. Modulo 2. Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB)
Algebra di Boole Modulo 2 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB) Algebra di Boole L algebra di Boole o della commutazione è lo strumento
Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi
Codice BCD Prima di passare alla rappresentazione dei numeri relativi in binario vediamo un tipo di codifica che ha una certa rilevanza in alcune applicazioni: il codice BCD (Binary Coded Decimal). È un
Esercizi di sintesi - Soluzioni
Esercizi di sintesi - Soluzioni Rappresentazioni possibili per una funzione logica: circuito logico: A B Y forma tabellare (tabella lookup): formula algebrica: A B Y 0 0 0 0 1 1 1 0 1 1 1 0 Y= (NOT A)B
Calcolatori Elettronici Lezione 2 Algebra delle reti Logiche
Calcolatori Elettronici Lezione 2 Algebra delle reti Logiche Ing. Gestionale e delle Telecomunicazioni A.A. 27/8 Gabriele Cecchetti Algebra delle reti logiche Sommario: Segnali digitali vs. segnali analogici
Algebra di Boole. Tavole di verità. Fondamenti di Informatica Algebra di Boole. Si basa su tre operazioni logiche: AND (*) OR (+) NOT (!
Fondamenti di Informatica Algebra di Boole Prof.ssa Enrica Gentile Informatica e Comunicazione Digitale a.a. 2-22 Algebra di Boole Si basa su tre operazioni logiche: AND (*) OR () NOT (!) Gli operandi
Le variabili logiche possono essere combinate per mezzo di operatori detti connettivi logici. I principali sono:
Variabili logiche Una variabile logica (o booleana) è una variable che può assumere solo uno di due valori: Connettivi logici True (vero identificato con 1) False (falso identificato con 0) Le variabili
Introduzione alla logica proposizionale
Introduzione alla logica proposizionale Mauro Bianco Questa frase è falsa Contents 1 Proposizioni 1 2 Altri operatori 4 Nota : Le parti delimitate da *** sono da considerarsi facoltative. 1 Proposizioni
Algebra di Boole e circuiti logici
lgebra di oole e circuiti logici Progetto Lauree Scientiiche 29 Dipartimento di Fisica Università di Genova Laboratorio di Fisica in collaborazione con il Liceo Scientiico Leonardo da Vinci Genova - 23
Algebra di Boole. Andrea Passerini Informatica. Algebra di Boole
Andrea Passerini [email protected] Informatica Variabili logiche Una variabile logica (o booleana) è una variable che può assumere solo uno di due valori: True (vero identificato con 1) False (falso
Gara Matematica. Dipartimento di Matematica Ulisse Dini. Viale Morgagni 67/a Firenze. Soluzioni edizione 2011
Gara Matematica Dipartimento di Matematica Ulisse Dini Viale Morgagni 67/a - 50134 Firenze Soluzioni edizione 011 Esercizio 1. Determinare tutti gli interi positivi non nulli n che sono uguali alla somma
Algebra di Boole: minimizzazione di funzioni booleane
Corso di Calcolatori Elettronici I A.A. 200-20 Algebra di Boole: minimizzazione di funzioni booleane Lezione 8 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Forme Ridotte p Vantaggi
Richiami di Algebra di Commutazione
LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n Prof. Rosario Cerbone [email protected] http://digilander.libero.it/rosario.cerbone a.a. 6-7 Richiami di Algebra di Commutazione In questa
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.
PORTE LOGICHE Premessa Le principali parti elettroniche dei computer sono costituite da circuiti digitali che, come è noto, elaborano segnali logici basati sullo 0 e sull 1. I mattoni fondamentali dei
LEZIONE DI MATEMATICA SISTEMI DI NUMERAZIONE. (Prof. Daniele Baldissin)
LEZIONE DI MATEMATICA SISTEMI DI NUMERAZIONE (Prof. Daniele Baldissin) L'uomo usa normalmente il sistema di numerazione decimale, probabilmente perché ha dieci dita. Il sistema decimale è collegato direttamente
COMPITO A Esercizio 1 (13 punti) Dato il seguente automa:
COMPITO A Esercizio 1 (13 punti) Dato il seguente automa: 1/0 q8 1/0 q3 q1 1/0 q4 1/0 q7 1/1 q2 1/1 q6 1/1 1/1 q5 - minimizzare l automa usando la tabella triangolare - disegnare l automa minimo - progettare
Esercitazioni di Reti Logiche. Lezione 3
Esercitazioni di Reti Logiche Lezione 3 Semplificazione & Porte NAND/NOR Zeynep KIZILTAN [email protected] Argomenti Semplificazione con l uso delle mappe di Karnaugh a 3 variabili a 4 variabili
Esercitazioni di Matematica Generale A.A. 2016/2017 Pietro Pastore Lezione del 21 Novembre Logaritmi e Proprietà
Esercitazioni di Matematica Generale A.A. 016/017 Pietro Pastore Lezione del 1 Novembre 016 Logaritmi e Proprietà Quando scriviamo log a b = c che leggiamo logaritmo in base a di b uguale a c, c è l esponente
Precorsi di matematica
Precorsi di matematica Francesco Dinuzzo 12 settembre 2005 1 Insiemi Il concetto di base nella matematica moderna è l insieme. Un insieme è una collezione di elementi. Gli elementi di un insieme vengono
1. equivalenze e implicazioni logiche. Esercizio 1.2. Trovare le implicazioni che legano i seguenti enunciati (x, y R):
. equivalenze e implicazioni logiche Esercizio.. Trovare le implicazioni che legano i seguenti enunciati (x, y R): () x < y, () x = y, () x y, () x y, () (x y) > 0. Osserviamo subito che (x y) > 0 equivale
Costruzione di. circuiti combinatori
Costruzione di circuiti combinatori Algebra Booleana: funzioni logiche di base OR (somma): l uscita è 1 se almeno uno degli ingressi è 1 A B (A + B) 0 0 0 0 1 1 1 0 1 1 1 1 AND (prodotto): l uscita è 1
Esercitazioni su circuiti combinatori
Esercitazioni su circuiti combinatori Salvatore Orlando & Marta Simeoni Arch. Elab. - S. Orlando - 1 Algebra Booleana: funzioni logiche di base OR (somma): l uscita è 1 se almeno uno degli ingressi è 1
0. ALGEBRA DI BOOLE E SISTEMI DI NUMERAZIONE
0. ALGEBRA DI BOOLE E SISTEMI DI NUMERAZIONE ALGEBRA DI BOOLE Nel lavoro di programmazione capita spesso di dovere ricorrere ai principi della logica degli enunciati ed occorre conoscere almeno alcuni
Algebra di Boole X Y Z V. Algebra di Boole
L algebra dei calcolatori L algebra booleana è un particolare tipo di algebra in cui le variabili e le funzioni possono solo avere valori 0 e 1. Deriva il suo nome dal matematico inglese George Boole che
Stabilire se il punto di coordinate (1,1) appartiene alla circonferenza centrata nell origine e di raggio 1.
Definizione di circonferenza e cerchio. Equazione della circonferenza centrata in O e di raggio R. Esercizi. La circonferenza e il cerchio Definizioni: dato un punto C nel piano cartesiano e dato un numero
Sistemi Combinatori & Mappe di Karnaugh
Sistemi Combinatori & Mappe di Karnaugh AB E=0 F=0 E=1 F=0 00 01 11 10 AB 00 01 11 10 00 1 0 0 0 00 0 0 0 0 01 0 0 0 0 01 0 0 0 0 11 0 0 1 0 11 0 0 1 0 10 0 0 0 1 10 0 0 0 1 AB 00 01 11 10 AB 00 01 11
George BOOLE ( ) L algebra booleana. (logica proposizionale)
George BOOLE (1815-64) L algebra booleana. (logica proposizionale) La logica e George BOOLE George BOOLE nel 1847 pubblicò il libro Mathematical Analysis of Logic, nel quale presentava ciò che oggi si
Moduli combinatori Barbara Masucci
Architettura degli Elaboratori Moduli combinatori Barbara Masucci Punto della situazione Ø Abbiamo studiato le reti logiche e la loro minimizzazione Ø Obiettivo di oggi: studio dei moduli combinatori di
Foglio Elettronico Lezione 1
- Introduzione - Celle e riferimenti - Formule - Approfondimenti - Funzioni logiche Sommario Introduzione - Foglio elettronico o foglio di calcolo - Cos'è? Strumento per raccogliere dati organizzati in
Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.
Capitolo 2 Campi 2.1 Introduzione Studiamo ora i campi. Essi sono una generalizzazione dell insieme R dei numeri reali con le operazioni di addizione e di moltiplicazione. Nel secondo paragrafo ricordiamo
Esercitazioni di Reti Logiche
Esercitazioni di Reti Logiche Sintesi di Reti Sequenziali Zeynep KIZILTAN Dipartimento di Scienze dell Informazione Universita degli Studi di Bologna Anno Academico 2007/2008 Sintesi dei circuiti sequenziali
APPUNTI SULLA DIAGONALIZZAZIONE Corso Prof. F.Podestà, a.a
APPUNTI SULLA DIAGONALIZZAZIONE Corso Prof FPodestà, aa 003-004 Sia V uno spazio vettoriale e sia f : V V una applicazione lineare una tale applicazione da uno spazio vettoriale in se stesso è chiamata
Codice Gray. (versione Marzo 2007)
Codice Gray (versione Marzo 27) Data una formula booleana con n variabili, per costruire una tavola di verità per questa formula è necessario generare tutte le combinazioni di valori per le n variabili.
Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1
Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1 Esercizio 1.12 Per dimostrare che per ogni funzione esiste una formula in cui compaiono le variabili tale che la corrispondente
A.A CORSO DI ALGEBRA 1. PROFF. P. PIAZZA, E. SPINELLI. SOLUZIONE ESERCIZI FOGLIO 5.
A.A. 2015-2016. CORSO DI ALGEBRA 1. PROFF. P. PIAZZA, E. SPINELLI. SOLUZIONE ESERCIZI FOGLIO 5. Esercizio 5.1. Determinare le ultime tre cifre di n = 13 1625. (Suggerimento. Sfruttare il Teorema di Eulero-Fermat)
Endomorfismi nilpotenti, diagrammi di Young e basi di Jordan
Endomorfismi nilpotenti, diagrammi di Young e basi di Jordan Sia V uno spazio vettoriale su C e sia ν : V V un suo endomorfismo. L applicazione ν si dice nilpotente se esiste un intero positivo N tale
RISOLVERE EQUAZIONI DI PRIMO GRADO INTERE
Prof. Di Caprio 1 RISOLVERE EQUAZIONI DI PRIMO GRADO INTERE Introduzione In questa lezione impareremo a risolvere equazioni di primo grado intere. Esse sono molto utili principalmente per risolvere alcune
Il livello logico digitale
Il livello logico digitale porte logiche e moduli combinatori Algebra di commutazione Algebra booleana per un insieme di due valori Insieme di elementi A={,} Operazioni NOT (operatore unario) => = e =
La scomposizione in fattori primi
La scomposizione in fattori primi In matematica la fattorizzazione è la riduzione in fattori: fattorizzare un numero n significa trovare un insieme di numeri {a0, a1, a2, a3 } tali che il loro prodotto
La divisione di numeri naturali: esercizi svolti
La divisione di numeri naturali: esercizi svolti Come abbiamo fatto per la sottrazione, ci chiediamo adesso se, effettuata una operazione di moltiplicazione, sia possibile definire (trovare) una operazione
QUADRATO MAGICO DI ORDINE PARI (n=4)
QUADRATO MAGICO DI ORDINE PARI (n=4) Costruiamo un quadrato magico di ordine n=4 ovvero un quadrato formato da 4 righe + 4 colonne per un totale di 16 caselle (4x4=16). La Costante Magica CM=nx(n²+1)/2
Le equazioni lineari
Perchè bisogna saper risolvere delle equazioni? Perché le equazioni servono a risolvere dei problemi! Le equazioni lineari Un problema è una proposizione che richiede di determinare i valori di alcune
Corso di Analisi Matematica 1 - professore Alberto Valli
Università di Trento - Corso di Laurea in Ingegneria Civile e Ingegneria per l Ambiente e il Territorio - 06/7 Corso di Analisi Matematica - professore Alberto Valli foglio di esercizi - ottobre 06 iti.
