Reti Logiche 1. Prof. B. Buttarazzi A.A. 2009/2010. Algoritmo QMC

Documenti analoghi
Metodo di Quine- McCluskey

Metodo di Quine e MC-Cluskey 2/2 Prof. Mario Cannataro Università degli Studi Magna Graecia di Catanzaro

Sintesi di una rete combinatoria

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

Algebra di Boole: minimizzazione di funzioni booleane

Minimizzazione di funzioni booleane:

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

Sintesi di Reti Combinatorie

Ottimizzazione delle reti combinatorie

Corso di Calcolatori Elettronici I

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

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

Calcolatori Elettronici Lezione 2 Algebra delle reti Logiche

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

Costruzione di. circuiti combinatori

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

Calcolatori Elettronici

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

I circuiti digitali: dalle funzioni logiche ai circuiti

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

Richiami di Algebra di Commutazione

Algebra di Boole: mappe di Karnaugh

Sintesi di reti logiche multilivello. Sommario. Motivazioni. Sommario. M. Favalli

Minimizzazione del costo di reti livelli a 2 livelli tramite mappe di Karnaugh. Mappe di Karnaugh. Sommario. Sommario. M. Favalli

Esercitazioni di Reti Logiche

Esercitazioni di Reti Logiche. Lezione 3

Corso E Docente: Siniscalchi. Algebra di Boole

Esercizi di Algebra di Boole (con Appendice)

Reti Logiche 1. Prof. B. Buttarazzi A.A. 2009/2010. Reti Sequenziali

Dalla tabella alla funzione canonica

Fondamenti di Informatica

Maurizio Palesi. Maurizio Palesi 1

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

SCHEMI DI MATEMATICA

Algebra di Boole. Andrea Passerini Informatica. Algebra di Boole

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone

Le mappe di Karnaugh

Esercizi. 1. Algebra booleana

Esercitazioni di Reti Logiche. Lezione 4

M.P. Cavaliere ELEMENTI DI MATEMATICA E LOGICA MATEMATICA DISCRETA STRUTTURE ALGEBRICHE

Mappe di Karnaugh G. MARSELLA UNIVERSITÀ DEL SALENTO

Sintesi di reti combinatorie

Calcolatori Elettronici

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 X Y Z V. Algebra di Boole

Architettura degli Elaboratori

Funzioni booleane. Vitoantonio Bevilacqua.

Algebra di commutazione

Reti Combinatorie: sintesi

Sistemi Combinatori & Mappe di Karnaugh

Algebra di Boole Algebra di Boole

COMPITO A Esercizio 1 (13 punti) Dato il seguente automa:

Reti Logiche A Esame del 24 febbraio 2006

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Introduzione ai grafi. Introduzione ai grafi p. 1/2

La descrizione algebrica delle reti combinatorie

EQUAZIONI DISEQUAZIONI

Algebra di Commutazione

Elementi di informatica

Minimizzazione di circuiti combinatori multilivello

LEZIONE 3. a + b + 2c + e = 1 b + d + g = 0 3b + f + 3g = 2. a b c d e f g

Sintesi di reti combinatorie. Sommario. Motivazioni. Sommario. Funzioni Espressioni. M. Favalli

LEZIONE 2. ( ) a 1 x 1 + a 2 x a n x n = b, ove a j, b R sono fissati.

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

Monomi L insieme dei monomi

Il livello logico digitale

Programmazione Lineare: problema del trasporto Ing. Valerio Lacagnina

Precorso di Analisi Matematica Facoltà d'ingegneria Università del Salento

Esercitazioni di Reti Logiche

SOTTOSPAZI E OPERAZIONI IN SPAZI DIVERSI DA R n

Algebra di Boole, elementi di logica e Mappe di Karnaugh

Algebra di Boole Cenni all Algebra di Boole

I circuiti digitali: dalle funzioni logiche ai circuiti

Progetto Matematica in Rete - Insiemi - Insiemi

Luigi Piroddi

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Esercizi svolti. delle matrici

Il livello logico digitale

Minimizzazione a più livelli di reti combinatorie Cristina Silvano

Lezione 5. Sommario. La logica booleana. I principi della logica booleana Gli operatori logici

01 - Elementi di Teoria degli Insiemi

Sistemi lineari - Parte Seconda - Esercizi

Sistemi per la Progettazione Automatica. problema punti massimi i tuoi punti problema 1 14 problema 2 4 problema 3 6 problema 4 6 totale 30

Cenni alle reti logiche. Luigi Palopoli

Contatore avanti-indietro Modulo 4

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

In molte applicazioni sorge il problema di sapere in quanti modi possibili si può presentare un certo fenomeno.

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

15 luglio Soluzione esame di geometria - Ing. gestionale - a.a COGNOME... NOME... N. MATRICOLA... ISTRUZIONI

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI

Sintesi di Reti Combinatorie

Reti Logiche 1. Prof. B. Buttarazzi A.A. 2009/2010 MUX-DEMUX-ROM-PLA

Esercitazioni di Reti Logiche. Lezione 5

MODULO 1. Prof. Onofrio Greco. Prof. Greco Onofrio

LEZIONE DI MATEMATICA SISTEMI DI NUMERAZIONE. (Prof. Daniele Baldissin)

Corso di Intelligenza Artificiale A.A. 2016/2017

Appunti di matematica per le Scienze Sociali Parte 1

Sintesi di reti logiche multilivello. Sommario. Motivazioni. Sommario. M. Favalli

Transcript:

Reti Logiche Prof. B. Buttarazzi A.A. 2009/200 Algoritmo QMC

Sommario Metodo algoritmico di Quine e Mc-Cluskey Implicanti primi Riga essenziale Riga dominata Esempi

Riepilogo ALGORITMO DI KARNAUGH () MONOMIO: Un monomio m è un prodotto di k letterali (cioè variabili in ingresso alla rete combinatoria con associato il valore vero o falso) POLINOMIO: Un polinomio p è una somma di monomi IMPLICANTE: Un monomio m (prodotto di k di letterali) si dice implicante per f (m f) se tutti gli di m sono coperti dagli di f

Riepilogo ALGORITMO DI KARNAUGH (2) IMPLICANTE PRIMO: monomio che sia implicante per f e che non contenga sub-monomi (monomi con meno letterali) che siano implicanti per f CLASSIFICAZIONE DI IP IP Essenziali hanno almeno un mintermine non coperto da altri IP IP Assolutamente Eliminabili hanno tutti i mintermini coperti da IP essenziali IP Eliminabili detti così in quanto alcuni di questi potranno essere eliminati POLINOMIO MINIMO: un polinomio che contiene solo implicanti primi (non è necessariamnete unico)

Riepilogo ALGORITMO DI KARNAUGH (3) ALGORITMO DI KARNAUGH: Trovare gli IP (Implicanti Primi) Graficamente significa formare i raggruppamenti massimi di caselle contenenti contigui scegliere gli IP essenziali eliminare gli IP assolutamente eliminabili scegliere tra gli IP eliminabili un sottoinsieme minimo determinare il polinomio minimo facendo corrispondere a ciascun raggruppamento individuato il prodotto di letterali corrispondenti

Riepilogo ALGORITMO DI KARNAUGH (3) ALGORITMO DI KARNAUGH: E un metodo grafico pertanto non algoritmico, quindi non può essere tradotto in un programma

Algoritmo QMC A differenza del metodo delle Mappe di Karnaugh il metodo di Quine e Mc-Cluskey è un metodo automatico di sintesi, facilmente implementabile via software. Anche questo metodo però presenta dei limiti perché la complessità del calcolo è esponenziale, pertanto non può essere utilizzato con un numero elevato di variabili.

Algoritmo QMC Per descrivere i passi dell algoritmo di Quine e Mc-Cluskey partiremo dalla Forma Canonica SOP di una funzione es : f(a,b,c,d) = Σ(0,2,4,6,7,9,,5) e determineremo la forma SP minima.

Algoritmo QMC fase:determinazione degli IP(Implicanti Primi). Considerando il seguente esempio: f(a,b,c,d) = Σ(0,2,4,6,7,9,,5) Si scrive la tabella in cui compaiono nelle righe tutti i mintermini presenti nella funzione e nelle colonne la loro rappresentazione binaria : a b c d 0 0 0 0 0 2 0 0 0 4 0 0 0 6 0 0 7 0 9 0 0 0 5

Algoritmo QMC Fase () )Si suddividono i mintermini in gruppi, in base al numero di '' che compaiono nella loro rappresentazione e si denota con n il numero di '' di ogni gruppo. a b c d 0 0 0 0 0 n=0 2 0 0 0 n= 4 0 0 0 6 0 0 n=2 9 0 0 7 0 n=3 0 5 n=4

Algoritmo QMC Fase (2) 2) Si confronta ciascuna configurazione di un gruppo, con tutte le configurazioni del gruppo successivo (quindi con distanza di Hamming =) a b c d 0 0 0 0 0 n=0 2 0 0 0 n= 4 0 0 0 6 0 0 n=2 9 0 0 7 0 n=3 0 5 n=4

Algoritmo QMC Fase (3) 3) Quando due configurazioni risultano uguali, per ogni posizione, in tutti i bit eccetto uno, vengono fuse in un'unica combinazione formata dai bit coincidenti e dal simbolo "-" nel bit diverso e trascritte in un altra tabella analoga alla precedente. 4) si marcano (con ) le configurazioni che sono state fuse in quanto non rappresentano implicanti primi.

Interpretazione della fusione (proprietà distributiva) Vediamo il significato della fusione di due configurazioni uguali in tutti i bit eccetto uno, unificabili in un'unica combinazione formata dai bit coincidenti e dal simbolo "- " nel bit diverso. Ad esempio le configurazioni 0 e sono unificabili in quanto differiscono di un solo bit 0 + = - x x2 x3 2 3 2 3 x + x x x = x x ( x + 3) =

Interpretazione della fusione (proprietà distributiva-diagramma di Venn) f = x x 2 x 3 + x x 2 x 3 2 3 f = x x x + x x x = x x ( x + 3) = 2 3 2 3 2 3 x

Diagramma di Venn f = x x 2 x x2 2 3

Esempio Ad esempio le configurazioni 0000 e 000 sono unificabili in quanto differiscono di un solo bit 0000 + 000 = 00-0 a b c d 0 0 0 0 0 n=0 2 0 0 0 n= 4 0 0 0 6 0 0 n=2 9 0 0 7 0 n=3 0 5 n=4 a b c d 0/2 0 0-0

Algoritmo QMC Fase (4)..procedendo quindi con l algoritmo otteniamo a b c d 0 0 0 0 0 n=0 2 0 0 0 n= 4 0 0 0 6 0 0 n=2 9 0 0 7 0 n=3 0 5 n=4 a b c d 0/2 0 0-0 0/4 0-0 0 2/6 0-0 4/6 0-0 6/7 0-9/ 0-7/5 - /5 -

Algoritmo QMC Fase (4) Le configurazioni (non marcate) che non hanno dato luogo a fusioni rappresentano gli implicanti primi della funzione e non potranno più essere combinate in futuro. Nell esempio precedente, durante la prima serie di confronti sono state marcate tutte le configurazioni, quindi non sono stati trovati mintermini come implicanti primi

Algoritmo QMC Fase (5) Si ripete il procedimento considerano le nuove configurazioni unificate. Si suddividono le configurazioni in gruppi e si confronta ciascuna configurazione di un gruppo con tutte le configurazioni del gruppo successivo. a b c d 0/2 0 0-0 0/4 0-0 0 2/6 0-0 4/6 0-0 6/7 0-9/ 0-7/5 - /5 -

tutti i confronti da effettuare a b c d 0/2 0 0-0 0/4 0-0 0 2/6 0-0 4/6 0-0 6/7 0-9/ 0-7/5 - /5 -

..quando due configurazioni risulteranno uguali nella posizione del simbolo "- e in tutti i bit eccetto uno, verranno fuse in un'unica combinazione formata dai bit coincidenti e dal simbolo "-" nel bit diverso. Ad esempio le configurazioni 00-0 e 0-0 saranno unificabili in quanto differiscono di un solo bit 00-0 + 0-0 = 0--0 a b - d + a b - d = a d a d(b+ b)= a d

..le configurazioni che saranno state combinate si marcheranno con un. le configurazioni (non marcate) che non avranno dato luogo a combinazioni non potranno più essere combinate in futuro e rappresenteranno un implicante primo della funzione.

Esempio a b c d 0/2 0 0-0 0/4 0-0 0 2/6 0-0 4/6 0-0 6/7 0-9/ 0-7/5 - /5 - a b c d 0/2/4/6 0 - - 0

Esempio a b c d 0/2 0 0-0 0/4 0-0 0 2/6 0-0 4/6 0-0 6/7 0-9/ 0-7/5 - /5 - a b c d 0/2/4/6 0 - - 0 Una unica configurazione (non più unificabile), derivante, indifferentemente, dalla fusione delle configurazioni 0/2 e 4/6 oppure 0/4 e 2/6

Esempio a b c d 0/2 0 0-0 0/4 0-0 0 2/6 0-0 4/6 0-0 6/7 0-9/ 0-7/5 - /5-4 configurazioni non marcate che rappresentano IP a b c d 0/2/4/6 0 - - 0 Una unica configurazione (non più unificabile), derivante, indifferentemente, dalla fusione delle configurazioni 0/2 e 4/6 oppure 0/4 e 2/6

Esempio A questo punto non essendo più possibile procedere (ossia non potendo più fondere configurazioni) si scrivono in una nuova tabella tutte le configurazioni non più unificabili, che rappresentano gli Implicanti Primi della funzione. a b c d 6/7 0 - abc 9/ 0 - abd 7/5 - bcd Termine prima fase /5 - acd 0/2/4/6 0 - - 0 ad

Algoritmo QMC 2 Fase () SECONDA FASE :Determinazione del Polinomio Minimo (ricerca degli IP essenziali, cancellazione degli IP assolutamente eliminabili, scelta del sottoinsieme minimo degli IP eliminabili) ) Si definisce Tabella di Copertura della funzione la tabella che ha riportati nelle COLONNE tutti i mintermini della funzione e nelle RIGHE tutti gli Implicanti Primi trovati nella prima fase. abd abc acd bcd ad 0 2 4 6 7 9 5 Ogni elemento di questa tabella, corrispondente all incrocio ij, vale x solo se il monomio j ha contribuito ad originare l IP i

Algoritmo QMC 2 Fase (2) 2) Si compila la tabella di copertura della funzione ovvero per ogni Implicante Primo (riga) si mettono le croci sulle colonne relative ai mintermini usati nella fusione per giungere all'implicante stesso (della riga).

Esempio 0 2 4 6 7 9 5 abd x x abc x x acd x x bcd x x ad x x x x a b c d 6/7 0 - abc 9/ 0 - abd 7/5 - bcd /5 - acd 0/2/4/6 0 - - 0 ad

Riga Essenziale Si chiama Riga Essenziale una riga che è l'unica ad avere una croce su una data colonna. L Implicante Primo corrispondente ad una riga essenziale è un Implicante Primo Essenziale 0 2 4 6 7 9 5 abd x x abc x x acd x x Riga Essenziale bcd x x ad x x x x

Algoritmo QMC 2 Fase (3) 3) Si cancellano le righe essenziali (IP essenziali) e per ciascuna di esse si cancellano anche tutte le colonne corrispondenti alle altre croci presenti sulla riga stessa. Si inserisce il termine relativo alla riga essenziale cancellata nella forma SP minima finale. Durante questa operazione potranno scomparire delle righe (che corrispondono agli IP Assolutamente Eliminabili)

Nota: Esempio Nel caso specifico ci sono 2 righe essenziali da cancellare. Riga Essenziale 0 2 4 6 7 9 5 abd x x abc x x acd x x bcd x x Riga Essenziale ad x x x x

Esempio 7 9 5 abd x x abc x acd x x bcd x x Riga Essenziale 0 2 4 6 7 9 5 abd x x abc x x acd x x bcd x x ad x x x x

Esempio 7 9 5 abd x x abc x acd x x bcd x x Riga essenziale 7 9 5 abd x x abc x acd x x bcd x x

Riga Dominata Si dice che una Riga R i è DOMINATA da una riga R k ( o che R k domina R i ) se tutte le croci della riga R i sono presenti, nelle stesse colonne, anche nella riga R k. 0 2 4 6 7 9 5 Riga dominante Riga dominata R x x Rk x x x R x x Ri x x

Algoritmo QMC 2 Fase (4) Si cancellano (non tenendone conto nella forma minima finale) tutte le righe dominate che compaiono nella tabella senza però cancellare anche le relative colonne in cui compaiono delle croci...al termine di questa fase avremo nuove righe essenziali Si noti che le righe dominate cancellate dopo la cancellazione degli implicanti primi non sono IP assolutamente eliminabili ma IP eliminabili.

Algoritmo QMC 2 Fase (5) Si ripete il procedimento fino a quando la tabella non contiene più elementi.

Esempio 7 5 abc x acd x bcd x x nella tabella risultante la prima e seconda riga sono dominate dalla quarta, pertanto si cancellano le righe dominate e si ottiene: 7 5 bcd x x Si inserisce il termine bcd relativo alla riga essenziale nella forma SP minima finale.

Si inserisce il termine bcd relativo alla riga essenziale nella forma SP minima finale e si cancella la riga. 7 5 bcd x x Si ripete il procedimento fino a quando la tabella non contiene più elementi.

Riassumendo vediamo l esempio completo

Prima fase PRIMA FASE - Determinazione di tutti gli implicanti primi. Data la forma SOP della funzione f(x) f(a,b,c,d) = Σ(0,2,4,6,7,9,,5) si scrive la tabella in cui compaiono tutti i mintermini presenti nella funzione e la loro rappresentazione binaria : a b c d 0 0 0 0 0 2 0 0 0 4 0 0 0 6 0 0 7 0 9 0 0 0 5

Prima fase Si applica l algoritmo (di confronto fusione e marcatura) per determinare tutti gli implicanti primi. a b c d 6/7 0 - abc 9/ 0 - abd 7/5 - bcd /5 - acd 0/2/4/6 0 - - 0 ad

Seconda fase SECONDA FASE - Determinazione del Polinomio Minimo Si definisce Tabella di copertura della funzione ( una tabella che ha riportati nelle RIGHE tutti gli implicanti primi trovati nella prima fase, mentre nelle COLONNE ha tutti i mintermini che formano la forma SOP della funzione). abd abc acd bcd ad 0 2 4 6 7 9 5

Seconda fase Si compila la Tabella di copertura della funzione a b c d 6/7 0 - abc 9/ 0 - abd 7/5 - bcd /5 - acd 0/2/4/6 0 - - 0 ad 0 2 4 6 7 9 5 abd x x abc x x acd x x bcd x x ad x x x x

Seconda fase ) Si cancellano le righe essenziali e per ciascuna di esse si cancellano anche tutte le colonne corrispondenti alle altre croci presenti sulla riga stessa. Il termine relativo alla riga essenziale cancellata dovrà poi comparire nella forma minima finale. 2) Si cancellano (non tenendone conto nella forma minima finale) tutte le righe dominate che compaiono nella tabella senza però cancellare anche le relative colonne in cui compaiono delle croci. 3) Si ripete il procedimento fino a quando la tabella non contiene più elementi.

Seconda fase 7 9 5 abd x x abc x acd x x bcd x x Riga Essenziale 0 2 4 6 7 9 5 abd x x abc x x acd x x bcd x x ad x x x x

Seconda fase 7 9 5 abd x x abc x acd x x bcd x x Riga essenziale 7 9 5 abd x x abc x acd x x bcd x x

Seconda fase 7 5 abc x acd x bcd x x nella tabella risultante la prima e seconda riga sono dominate dalla quarta

Seconda fase 7 5 abc x acd x bcd x x nella tabella risultante la prima e seconda riga sono dominate dalla quarta, pertanto si cancellano le righe dominate e si ottiene:

Seconda fase 7 5 bcd x x

Esempio ambiguo Se ci si trova in una situazione in cui la tabella è di questo tipo (tabella ciclica): R x x C C2 C3 C4 C5 R2 x x R3 x x x R4 x x x non essendoci righe essenziali, l'algoritmo non può iniziare.

In questo caso: -si sceglie una riga a caso; Esempio ambiguo -si considerano due tabelle: una in cui la riga scelta è considerata essenziale (pertanto appartiene all espressione booleana minimale) e l'altra in cui è considerata dominata; -su queste due nuove tabelle si continua ad applicare l'algoritmo; Seguendo questo procedimento si percorre un vero e proprio albero binario; infatti se si dovesse incontrare una nuova situazione di ambiguità viene riapplicata la suddivisione sopra proposta. Le soluzioni si troveranno nelle foglie di questo albero e tra tutte si prenderà chiaramente quella di costo minimo, quella cioè in cui compare il minor numero di termini.

Z=R+ Esempio R essenziale C C2 C3 C4 C5 R x x R2 essenziale Z=R+R2 C3 C4 C5 R2 x x R3 x x R4 x x R3 essenziale Z=R+R2+R3 R2 x x R3 x x x R4 x x x C3 C4 C5 R2 x x R3 x x R4 x x C5 R3 x R4 x C C2 C3 C4 C5 R x x R2 x x R3 x x x R4 x x x R2 dominata C3 C4 C5 R3 x x R4 x x C3 R4 x R4 è riga essenziale R dominata la cancello R3 è riga essenziale Z=R3+ R3 è riga essenziale Z=R+R3 Z=R+R3+R4 C C2 C3 C4 C5 R2 x x R3 x x x R4 x x x C C3 R2 x R4 x x C C3 R4 x x R2 dominata la cancello R4 è riga essenziale Z=R3+R4

Esercizio Determinare e classificare con il metodo di Karnaugh gli IP della f (a,b,c,d) definita con la seguente mappa. ab cd 00 0 0 00 0 0

Soluzione Traccio i raggruppamenti di ordine 4 e trovo gli IP di ordine 4 ab cd 00 0 0 00 0 0

Soluzione Gli IP di f (a,b,c,d) di ordine 4 sono: IP(f) = { ac, a b, b d, b c,...} ab cd 00 0 0 00 0 0

Soluzione Traccio i raggruppamenti di ordine 2 trovo gli IP di ordine 2 ab cd 00 0 0 00 0 0

Soluzione IP(f) = { ac, a b, b d, b c, a c d, abd, bc d} ab cd 00 0 0 00 0 0

Soluzione Gli IP di f (a,b,c,d) sono: IP(f) = { ac, a b, b d, b c, a c d, abd, bc d}

Soluzione Classificazione degli IP ab cd 00 0 0 00 0 0

Soluzione Classificazione di IP ab cd 00 0 0 00 0 è un implicante primo essenziale! è un implicante primo essenziale! 0

Classificazione di IP Poiché non capita che tutti gli di un IP (es quello blu) sono ricoperti da IPE, allora tutti i rimanenti IP sono IP eliminabili. ab cd Soluzione 00 0 0 00 0 è un implicante primo essenziale! è un implicante primo essenziale! 0

Esercizio Determinare e classificare con il metodo di QMK gli IP della f (A,B,C,D) definita con la seguente mappa. AB CD 00 0 0 00 0 0

Soluzione 00 0 0 00 F 0 F F 3 F 2 CD 00 0 0 AB 00 0 F 4 F 5 F 7 F 6 F 2 F 3 F 5 F 4 0 0 F 8 F 9 F F 0 0

Soluzione Considerando i mintermini della funzione: f(x) = Σ(0,,2,3,5,8,0,,3,4,5) Si scrive la tabella in cui compaiono nelle righe tutti i mintermini presenti nella funzione e nelle colonne la loro rappresentazione binaria : A B C D mi 0 0 0 0 0 0 0 0 0 0 0 2 0 0 3 0 0 5 0 0 0 8 0 0 0 0 0 3 5

Soluzione ) Si suddividono i mintermini in CLASSI, in base al numero di '' che compaiono nella loro rappresentazione. e si denota con n il numero di '' di ogni classe. mi A B C D 0 0 0 0 0 0 0 0 2 0 0 0 8 0 0 0 3 0 0 5 0 0 0 0 0 0 3 0 4 0 5

Soluzione ) Si suddividono i mintermini in CLASSI, in base al numero di '' che compaiono nella loro rappresentazione. Si confronta ciascuna configurazione di una classe con tutti gli elementi della classe successiva Quando due configurazioni risultano uguali in tutti i bit eccetto uno, vengono fuse in un'unica combinazione formata dai bit coincidenti e dal simbolo "-" nel bit diverso e trascritte in un altra tabella analoga alla precedente e vengono marcate. Le configurazioni (non marcate) che non hanno dato luogo a fusioni non potranno più essere combinate in futuro e rappresentano gli implicanti primi della funzione. Si ricomincia il procedimento considerano le nuove configurazioni unificate, si suddividono in classi e si confronta ciascuna configurazione di una classe con tutti gli elementi della classe successiva Quando non è più possibile continuare (ossia non si possono più fondere configurazioni) si riscrivono tutte le configurazioni che non sono state marcate, e cioè che non sono mai state utilizzate per qualche fusione, in sostanza queste configurazioni che abbiamo trovato sono IMPLICANTI PRIMI.

Soluzione ) Si suddividono i mintermini in CLASSI, in base al numero di '' che compaiono nella loro rappresentazione. Si confronta ciascuna configurazione di una classe con tutti gli elementi della classe successiva 0/ 0 0 0-0/2 0 0-0 0/8-0 0 0 /3 0 0 - /5 0-0 2/3 0 0-2/0-0 0 8/0 0-0 3/ - 0 5/3-0 0/ 0-0/4-0 /5-3/5-4/5 -

Soluzione ) Si suddividono i mintermini in CLASSI, in base al numero di '' che compaiono nella loro rappresentazione. Si confronta ciascuna configurazione di una classe con tutti gli elementi della classe successiva 0/2//3 0 0 - - 0/8/2/0-0 - 0 2/0/3/ - 0-0/4//5 - -

Soluzione Si costruisce la tabella di copertura della funzione e si opera come descritto mi A B C D 0 2 3 5 8 0 /5 0-0 x x 5/3-0 x x 3/5 - x x 0/2//3 0 0 - - x x x x 0/8/2/0-0 - 0 x x x x 2/0/3/ - 0 - x x x x 0/4// 5 - - x x x x 3 4 5

Riepilogo QMC: metodo automatico di sintesi, fase:determinazione di tutti gli implicanti primi. Data la forma SOP della funzione si scrive la tabella in cui compaiono tutti i mintermini presenti nella funzione e la loro rappresentazione binaria,si applica poi l algoritmo (di confronto fusione e marcatura) per determinare tutti gli implicanti primi. IMPLICANTI PRIMI: Le configurazioni (non marcate) che non hanno dato luogo a fusioni rappresentano gli implicanti primi della funzione.

Riepilogo 2 SECONDA FASE: Determinazione della espressione minima Si compila la Tabella di copertura della funzione (che ha riportati nelle RIGHE tutti gli implicanti primi trovati nella prima fase, mentre nelle COLONNE ha tutti i mintermini ) Si cancellano le righe essenziali e per ciascuna di esse si cancellano anche tutte le colonne corrispondenti alle altre croci presenti sulla riga stessa.(tenendone conto nella forma minima finale),si cancellano (non tenendone conto nella forma minima finale) tutte le righe dominate che compaiono nella tabella senza però cancellare anche le relative colonne in cui compaiono delle croci,si ripete il procedimento fino a quando la tabella non contiene più elementi.

Esercizio-Riduzione con metodo cd di copertura ab 00 0 0 00 0 mintermini abcd 0 2 3 4 6 7 8 2 0-- IP(f) 0--0 --0 4 0 --00 0--0 è assolutamente eliminabile espressione booleana in forma SOP ridotta f ( a, b, c, d) = a c + bd + cd

Esercizio

Esercizio

Soluzione