Metodo di Quine- McCluskey

Похожие документы
Sintesi di Reti Combinatorie

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

Algebra di Boole: minimizzazione di funzioni booleane

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

Minimizzazione di funzioni booleane:

Esercitazioni di Reti Logiche. Lezione 3

Maurizio Palesi. Maurizio Palesi 1

Corso di Calcolatori Elettronici I

Esercizi. 1. Algebra booleana

Costruzione di. circuiti combinatori

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

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

Richiami di Algebra di Commutazione

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Esercitazioni di Reti Logiche

Calcolatori Elettronici Lezione 2 Algebra delle reti Logiche

Esercitazioni di Reti Logiche. Lezione 4

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

Mappe di Karnaugh G. MARSELLA UNIVERSITÀ DEL SALENTO

Funzioni booleane. Vitoantonio Bevilacqua.

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

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

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone

Algebra di Boole: mappe di Karnaugh

Minimizzazione di Reti Logiche Combinatorie Multi-livello

I circuiti digitali: dalle funzioni logiche ai circuiti

Le mappe di Karnaugh

Dalla tabella alla funzione canonica

Minimizzazione a più livelli di reti combinatorie Cristina Silvano

Algebra di Boole X Y Z V. Algebra di Boole

Minimizzazione di Reti Logiche Combinatorie Multi-livello. livello

Algebra di commutazione

Reti Combinatorie: sintesi

Algebra di Boole Algebra di Boole

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

Circuiti di commutazione, codifica e decodifica

Automi a stati finiti

1. Automi a stati finiti: introduzione

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.

Esercizi di Algebra di Boole (con Appendice)

Corso E Docente: Siniscalchi. Algebra di Boole

Algebra di Boole e circuiti logici

Sistemi Combinatori & Mappe di Karnaugh

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

Architettura degli Elaboratori

Algebra di Boole. Andrea Passerini Informatica. Algebra di Boole

Algebra di Boole Esercizi risolti

Esercitazioni di Reti Logiche

Esercitazioni di Reti Logiche. Lezione 5

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

Algebra di Boole Elementi di Informatica - Algebra di Boole 1 A. Valenzano

ESERCIZIO 1 Si consideri la seguente funzione f (A, B, C, D) non completamente specificata definita attraverso il suo ON-SET e DC-SET:

Esercizi svolti. delle matrici

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

Algebra di Boole Cenni all Algebra di Boole

Corso di Informatica di Base

Sintesi di Reti Sequenziali Sincrone

Tecniche di Progettazione Digitale. Reti combinatorie: Le mappe di Karnaugh

Metodo delle due fasi

Luigi Piroddi

Algebra di Boole, elementi di logica e Mappe di Karnaugh

Metodo di Gauss-Jordan 1

ESERCITAZIONE CON EXCEL SULLE MATRICI

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

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

Calcolatori Elettronici

2. ALGORITMO DEL SIMPLESSO

Esercizi Logica Digitale,Circuiti e Bus

Automa a Stati Finiti (ASF)

Flusso a Costo Minimo

1 Riduzione per righe e matrici equivalenti per righe.

5.3 Metodo dei piani di taglio

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

Introduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard

Appunti su Indipendenza Lineare di Vettori

FUNZIONI BOOLEANE. Vero Falso

Luigi Piroddi

Contatore avanti-indietro Modulo 4

Транскрипт:

Metodo di Quine- McCluskey Maurizio Palesi Maurizio Palesi Definizioni Date due funzioni f(x,x 2,,x n ) e g(x,x 2,,x n ) si dice che f copre g (oppure g implica f) e si scrive f g se f(x,x 2,,x n )= quando g(x,x 2,,x n )= x y f(x,y) g(x,y) Se P è il prodotto di letterali e f copre P, si dice che P è un implicante di f P= xyè un implicante di f Maurizio Palesi 2

Primi e Mappe di Karnaugh Si chiama Implicante Primo di una funzione f un implicante non coperto da altri implicanti di f con un numero minore di letterali Mappa di Karnaugh cd ab ad e ab sono implicanti perché non sono coperti da nessun altro implicante con un numero minore di letterali abd non è un implicante primo perché è coperto dall implicante ad formato da un numero minore di letterali Maurizio Palesi 3 Essenziali e Mappe di Karnaugh Si chiama Implicante Primo Essenziale di una funzione f è un implicante primo che copre almeno un mintermine non coperto da altri implicanti di f Mappa di Karnaugh cd ab ab è un implicante primo essenziale perché copre il mintermine abcd non coperto da nessun altro implicante bc è un implicante primo essenziale perché copre il mintermine abcd non coperto da nessun altro implicante Maurizio Palesi 4 2

Introduzione al Metodo di minimizzazione tabellare Facile da tradurre in un algoritmo (metodo sistematico) Il numero di variabili trattare è teoricamente illimitato Facile da estendere al caso di funzioni a più di una uscita Consiste di due fasi: Ricerca degli implicanti Ricerca della copertura ottima Poiché queste due fasi hanno complessità esponenziale è praticamente impossibile trovare la soluzione ottima per un numero di variabili che supera l ordine di una decina Maurizio Palesi 5 L insieme di implicanti di una funzione f è ottenuta applicando ripetutamente, in tutti i modi possibili, la semplificazione x i P+x i P=P dove P è un prodotto di letterali scelti tra x, x 2,,x i,, x n in forma diretta o negata L insieme di implicanti è ottenuto partendo dai mintermini della funzione Le semplificazioni vengono applicate ai termini che differiscono in una sola posizione Maurizio Palesi 6 3

(I fase) x y z f(x,y,z) x y z x y z - - Si confrontano esaustivamente tutti i termini prodotto (ricavati dal passo precedente) Si semplificano i termini che differiscono in una sola posizione Si marcano () i termini semplificati per indicare che gli implicanti non sono Si crea un nuovo insieme di termini prodotto da confrontare e si ripete il procedimento Il processo ha termine quando non ci sono elementi da semplificare Maurizio Palesi 7 (I fase) Formalizzazione Per ridurre il numero di confronti, i termini vengono divisi in gruppi con elementi aventi lo stesso numero di I confronti vengono svolti solo tra termini relativi a gruppi che differiscono per un solo Ad ogni termine associamo un etichetta che rappresenta l insieme di mintermini che esso ricopre Gruppo a b c d Etichetta 2 4 3 2 6 2 3 7 4 Vengono confrontati i gruppi: e e 2 2 e 3 Maurizio Palesi 8 4

(I fase) Formalizzazione. Si suddividono i mintermini in gruppi G i contenenti termini con i Ciascun mintermine è etichettato con l intero equivalente 2. Partendo dal gruppo di indice i minimo, fino all indice massimo, vengono confrontati i termini dei gruppo G ik con quelli del gruppo G k i+ Se due termini differiscono solo nella posizione j, essi vengono combinati in un unico termine che viene inserito in un nuovo gruppo G k+ i In posizione j viene inserito un trattino - I due termini vengono spuntati per indicare che non sono implicanti L etichetta di questo nuovo termine è ottenuto concatenando le etichette dei termini di partenza 3. Se sono possibili altre combinazioni, k è incrementato e si ritorna al passo 2. Maurizio Palesi 9 (I fase) Esempio f(a,b,c,d) = Σ(,9,,2,3,4,5) Gr. a b c d Etic. G 9 2 G 3 3 4 G 4 5 Gr. a b c d Etic. G -,9-9, G 3 Gr. a b c d Etic. 2 G - - 9,,3,5 2 - - 2,3,4,5-9,3-2,3-2,4 -,5-3,5-4,5 : P(,9): bcd P(9,,3,5): ad P2(2,3,4,5): ab Maurizio Palesi 5

(I fase) Esempio (Comparatore A <= B, 2 bit) a a b b o Gr. a a b b Etic. Maurizio Palesi G G 3 G 4 G 5 2 3 5 6 7 5 (I fase) Esempio (Comparatore A <= B, 2 bit) Gr. a a b b Etic. G G 3 G 4 G 5 2 3 5 6 7 5 Gr. a a b b Etic. -, G -,2 -,3 -,5-2,3-2,6-2, - 3,7-3, G 3-5,7-6,7 -, - 7,5 G 4 -,5 Maurizio Palesi 2 6

(I fase) Esempio (Comparatore A <= B, 2 bit) Gr. a a b b Etic. G G 3 G 4 -, -,2 -,3 -,5-2,3-2,6-2, - 3,7-3, - 5,7-6,7 -, - 7,5 -,5 Gr. a a b b Etic. G 2 2 G 3 2 - -,,2,3 - -,3,5,7 - - 2,3,6,7 - - 2,3,, - - 3,7,,5 : P(,,2,3): a a P(,3,5,7): a b P2(2,3,6,7): a b P3(2,3,,): a b P4(3,7,,5): b b Maurizio Palesi 3 Ricerca della Copertura Minima Essa viene realizzata mediante la tabella degli implicanti La tabella degli implicanti è una matrice binaria dove: Gli indici delle righe sono gli implicanti individuati Gli indici delle colonne sono i mintermini della funzione L elemento a ij della matrice assume il valore * se il mintermine della colonna j è coperto dall implicante della riga i P(,9): bcd P(9,,3,5): ad P2(2,3,4,5): ab 9 2 3 4 5 P * * P * * * * * * Maurizio Palesi 4 7

Ricerca della Copertura Minima Il problema della copertura è intrattabile (NP completo) Si utilizzano criteri di essenzialità e dominanza per ridurre la complessità del problema Criterio di Essenzialità È un criterio di scelta (aumenta l insieme di copertura) e, di conseguenza, di semplificazione poiché identifica ed estrae gli implicanti essenziali Criterio di Dominanza È un criterio di sola semplificazione poiché riduce la dimensione dalla tabella di copertura eliminando righe (implicanti/mintermini) o colonne (mintermini) senza operare alcuna scelta Maurizio Palesi 5 Ricerca della Copertura Minima - Criterio di Essenzialità Se una colonna contiene un solo * vuol dire che il mintermine in questione è coperto soltanto da un implicante primo. Quell implicante è quindi un implicante primo essenziale (riga essenziale). Applicazione La riga essenziale e le colonne da essa coperte vengono eliminate All insieme di copertura viene aggiunto l implicante identificato 9 2 3 5 2 23 25 P * * * P * * * * * P3 * * * * P4 * * * * Copertura={ } Riga essenziale Maurizio Palesi 6 9 3 2 25 P * * P * * P4 * * * Copertura={P3} 8

Ricerca della Copertura Minima - Criterio di Dominanza (tra righe) Un implicante P i domina un implicante P j quando P i copre almeno tutti i mintermini coperti da P j Applicazione P j è eliminato dalla tabella (eliminazione della riga) 9 3 2 25 P * * P * * P4 * * * Copertura={P3} P4 domina P 9 3 2 25 P * * P4 * * * Copertura={P3} Maurizio Palesi 7 Ricerca della Copertura Minima - Criterio di Dominanza (tra righe) L'eliminazione di una riga può generare dei nuovi implicanti essenziali Le righe ad essi associate vengono chiamate righe essenziali secondarie (implicanti secondari) 9 3 2 25 P * * 25 P * P4 * * * P2 * Copertura={P3} Impl. Copertura={P3, P4} Riga essenziale secondaria Maurizio Palesi 8 9

Ricerca della Copertura Minima - Dominanza (tra colonne) Un mintermine m i domina un mintermine m j quando ogni implicante che copre m j copre anche m i m i è eliminato dalla tabella 9 3 2 25 P * * P * * P4 * * * 3 2 25 P * P * P4 * * m 9 domina m 2 Maurizio Palesi 9 Ricerca della Copertura Minima Quando tutte le righe essenziali e le colonne e righe dominate sono rimosse, la tabella ottenuta, se esiste, è ciclica (tabella ciclica degli implicanti ) Per scegliere gli implicanti si può Effettuare una scelta arbitraria ed esaminare le conseguenze derivanti da tale scelta e dalle sue alternative Usare il procedimento di Petrick Maurizio Palesi 2

Ricerca della Copertura Minima - Procedimento di Petrick 3 5 P * * P * * * P3 * * * Il significato della tabella di copertura è il seguente: per rispettare la funzionalità (vincolo) si deve coprire il mintermine m, mediante P OR mediante P3, AND si deve coprire il mintermine m 3, mediante P OR mediante P, AND... Maurizio Palesi 2 Ricerca della Copertura Minima - Procedimento di Petrick 3 5 P * * P * * * P3 * * * Matematicamente (P + P3) (P + P) (P + P2) (P2 + P3) (P + P3) = (P + P3P) (PP3 + P2) (P + P3) = (PP2 + P3P) (P + P3) = (PP2P + PP2P3 + P3P) = Gruppi Gruppi di di implicanti : : PP2P PP2P3 P3P Maurizio Palesi 22

Funzioni non completamente specificate Una funzione Booleana può esibire delle condizioni di indifferenza Configurazioni di ingresso che non si presenteranno mai e per le quali, quindi, qualunque valore di uscita è ammissibile Configurazioni di uscita non utilizzate e per le quali, quindi, qualunque valore di uscita è ammissibile Una funzione Booleana che presenta condizioni di indifferenza viene detta non completamente specificata o parzialmente specificata Le configurazioni per le quali il valore dell uscita è indifferente costituiscono il Don t care-set Maurizio Palesi 23 Funzioni non completamente specificate a b c d o - - - - Perché le condizioni di indifferenza costituiscono un opportunità di ottimizzazione? Don t care-set: {abcd, abcd, abcd, abcd} Maurizio Palesi 24 2

Funzioni non completamente specificate Dal punto di vista della sintesi il DC-set potrebbe essere tralasciato lasciando inalterati gli algoritmi di sintesi precedentemente visti Le condizioni di indifferenza rappresentano però opportunità di ulteriore minimizzazione a b c d Et. 4 3 4 5 a b c d Et. - 4, -,4 -,5-3,5-4,5 abcd è un implicante primo formato da 4 letterali Maurizio Palesi 25 Funzioni non completamente specificate O analogamente utilizzando le Mappe di Karnaugh cd ab abcd è un implicante primo essenziale del costo di 4 letterali. Infatti non può essere espanso visto che non esistono altri mintermini a distanza di Hamming Maurizio Palesi 26 3

Funzioni non completamente specificate Se invece si considerano le configurazioni del DCset come appartenenti all On-set si ha cd ab abcd può essere espanso nel cubo ab del costo di 2 letterali Maurizio Palesi 27 Funzioni non completamente specificate Ricerca degli implicanti Le condizioni di indifferenza sono trattate come Ricerca della copertura ottima Nella tabella di copertura compaiono, come indici di colonna, solo i mintermini relativi agli della funzione Cioè non è necessario coprire le condizioni di indifferenza e che quindi non potranno mai esistere implicanti costituiti da sole condizioni d indifferenza Le condizioni d indifferenza vengono marcate a priori Maurizio Palesi 28 4

Funzioni non completamente specificate - Esempio f(a,b,c,d) = Σ(,2,2,3) + d(4,5) Gr. a b c d Et. G G G 3 2 4 5 2 3 Gr. a b c d Et. 2 -,2 G -,4 2-4,5 G - 4,2 2-5,3-2,3 Gr. a b c d Et. G 3 - - 4,5,2,3 : P(,2): abd P(,4): acd P2(4,5,2,3): bc Maurizio Palesi 29 Funzioni non completamente specificate - Esempio : P(,2): abd P(,4): acd P2(4,5,2,3): bc 2 2 3 P * * P * 2 2 3 P * * P * 2 P * * P * Insieme di copertura: {P2} Insieme di copertura: {P, P2} Maurizio Palesi 3 5