Espressioni minime mediante il metodo di Quine-Mc Cluskey

Documenti analoghi
Metodo di Quine- McCluskey

Metodo di Quine- McCluskey

Sintesi di Reti Combinatorie Ottimizzazione di Reti Combinatorie a 2 Livelli: Metodo di Quine-McCluskey

Sintesi di Reti Combinatorie Ottimizzazione di Reti Combinatorie a 2 Livelli: Metodo di Quine-McCluskey. Sintesi di reti combinatorie a due livelli

Sintesi di reti combinatorie a due livelli. Sintesi di Reti Combinatorie Ottimizzazione di Reti Combinatorie a 2 Livelli: Metodo di Quine-McCluskey

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

Sintesi di Reti Combinatorie

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

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

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

Sintesi di Reti Combinatorie

Sintesi di Reti Combinatorie Ottimizzazione di Reti Combinatorie a Due Livelli: Metodo di Quine. Metodo di Quine-McCluskey per più funzioni

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

Minimizzazione di funzioni booleane:

Ottimizzazione di funzioni combinatorie

Algebra di Boole: minimizzazione di funzioni booleane

Sintesi di reti combinatorie a due livelli: Metodi esatti - Quine-Mc Cluskey: Prima Fase

Minimizzazione di funzioni booleane

Ottimizzazione delle reti combinatorie

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

Ottimizzazione delle reti combinatorie

Mappe di Karnaugh. Maurizio Palesi. Maurizio Palesi 1

Minimizzazione delle funzioni booleane tramite: prima parte

Maurizio Palesi. Maurizio Palesi 1

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 5

Ottimizzazione di circuiti combinatori

Sintesi di una rete combinatoria

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

Esercizi di sintesi - Soluzioni

Fondamenti di Informatica B. Esercitazione n.2

Laboratorio del 10/11/ Soluzioni

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

Esercitazioni di Reti Logiche. Lezione 3

Reti Logiche Combinatorie

Corso di Calcolatori Elettronici I

Calcolatori Elettronici

A B C x y v w f p p p p p p p p p p p p p p p p p p p p 1

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

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

Dalla tabella alla funzione canonica

Esercitazione del 15/03/ Soluzioni

UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento

Calcolatori Elettronici Lezione 2 Algebra delle reti Logiche

Algebra di commutazione

Sintesi di una funzione logica con le mappe di Karnaugh

Sintesi di Reti Logiche Combinatorie

Esercitazioni di Reti Logiche. Lezione 4

Mappe di Karnaugh G. MARSELLA UNIVERSITÀ DEL SALENTO

Sintesi di reti combinatorie

Algebra di Commutazione

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

Fondamenti di Informatica

Semplificazione delle funzioni logiche mediante le mappe K

Elisabetta Ronchieri Esercizi Ottobre 20, Albegra di Boole. Universitá di Ferrara Ultima Modifica: 4 dicembre

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

Algebra di Boole X Y Z V. Algebra di Boole

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

2010 De Agostini Scuola, Mezzalama, Piccolo, Capire l informatica

Sintesi di reti combinatorie. Motivazioni. Sommario. Funzioni Espressioni

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Semplificazione delle funzioni logiche mediante il metodo delle mappe di Karnaugh

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

Esercizi. 1. Algebra booleana

Algoritmo per A. !(x) Istanza di B

Massimo flusso e matching

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Esercitazioni di Reti Logiche

Algebra di Boole Algebra di Boole

Possibile applicazione

Programmazione lineare

Minimizzazione degli Stati in una Rete Sequenziale Sincrona

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

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

Algebra di commutazione

Minimizzazione di Reti Logiche Combinatorie Multi-livello. livello

Tutorato architettura degli elaboratori modulo I (lezione 3)

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

Corso di Informatica di Base

Minimizzazione a più livelli di reti combinatorie Cristina Silvano

5.3 Metodo dei piani di taglio

Algebra di commutazione. Reti combinatorie

Algebra Booleana, Funzioni Logiche e Circuiti Logici

Metodo delle due fasi

ALGEBRA LINEARE PARTE III

Reti Logiche A Prova di mercoledì 12 novembre 2003

Reti Combinatorie: sintesi

UNIVERSITÀ DEGLI STUDI DI PARMA FACOLTÀ DI INGEGNERIA Corso di Reti Logiche A

Algebra di commutazione

I circuiti digitali: dalle funzioni logiche ai circuiti

Algebra di Boole: mappe di Karnaugh

Minimizzazione di circuiti combinatori

Reti sequenziali asincrone

Algoritmi. Andrea Passerini Informatica. Algoritmi

Algebra di commutazione

Algebra di commutazione

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone

Transcript:

Espressioni minime mediante il metodo di QuineMc Cluskey Metodo di minimizzazione tabellare Facile da tradurre in un algoritmo. 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 primi; 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.

L insieme di implicanti primi 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 i,x i+,..,x n in forma diretta o negata. L insieme di implicanti è ottenuto partendo dai minterm della funzione. Le semplificazioni vengono applicate ai termini che differiscono in una sola posizione. x y z f Punto di partenza x y z x y z Nessuna riduzione. 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 primi.

x y z f Punto di partenza x y z x y z Nessuna riduzione. Si crea un nuovo insieme di termini prodotto da confrontare e si ripete il passo. Il processo ha termine quando non ci sono elementi da semplificare 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 mintermine che esso ricopre. a b c d 4 3 6 7 4 Etichetta e e e 3 Vengono confrontati i gruppi 3

I passi da seguire per individuare gli implicanti primi sono i seguenti: ) Si suddividono i minterm in gruppi i contenenti termini con i Ciascun minterm è etichettato con l intero equivalente. ) Partendo dal gruppo di indice i minimo, fino all indice massimo, vengono confrontati i termini dei gruppo ik con quelli del gruppo i+k. Se due termini differiscono solo nella posizione j, essi vengono combinati in un unico termine che viene inserito in un nuovo gruppo i k+. In posizione j viene inserito un trattino. I due termini vengono spuntati per indicare che non sono implicanti primi 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 4

Esempio 3 4 ( f(a,b,c,d)=(,,,,3,4,5 3 4 5 Implicanti Primi P(,): b' c' d P(,,3,5): a d P(,3,4,5): a b 3,,,3,3,4,5 3,5 4,5,,3,5,3,4,5 Non sono ulteriormente riducibili ( ) Esempio: comparatore (a<=b) bit a a b b q 3 4 3 5 6 7 5 5

( ) Esempio: comparatore (a<=b) bit,,,3,5 3,3 5,6 6, 3,7 3 7 3, 4 5,7 5 6,7, 7,5 3,5 ( ) Esempio: comparatore (a<=b) bit 3,,,3,5,3,6, 3,7 3, 5,7 6,7, 7,5,5 Implicanti Primi P(,,,3): a a P(,3,5,7): a b P(,3,6,7): a b P3(,3,,): a b P4(3,7,,5): bb,,,3,3,5,7,3,6,7,,3, 3,7,,5 6

: Essa viene realizzata mediante la tabella degli implicanti primi. La tabella degli implicanti primi è una matrice binaria dove: gli indici delle righe sono gli implicanti primi individuati; gli indici delle colonne sono i minterm della funzione; l elemento a i,j della matrice assume il valore (o ) se il minterm della colonna j è coperto dall implicante della riga i. P(,): b' c' d P(,,3,5): a d P(,3,4,5): a b P P P 3 4 5 : 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 primi 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 7

: Criterio di Essenzialità: Se una colonna contiene un solo, la riga che gli corrisponde è relativa ad un implicante primo essenziale (riga essenziale). La riga essenziale e le colonne da essa coperte vengono eliminate dalla tabella. All insieme di copertura viene aggiunto l implicante identificato P P P P3 P4 3 5 Insieme di copertura: 3 5 P P P P4 3 5 Insieme di copertura: P3 : Criterio di dominanza di riga: Un implicante iesimo domina un implicante jesimo quando P i copre almeno tutti i mintermini coperti da P j P j è eliminato dalla tabella (eliminazione della riga). P P P P4 3 5 P P P4 3 5 P4 domina P Insieme di copertura: P3 Insieme di copertura: P3 8

: L'eliminazione di una riga può generare dei nuovi implicanti essenziali; Le righe ad essi associate vengono chiamate righe essenziali secondarie (implicanti primi secondari). P P P4 3 5 P P 5 Insieme di copertura: P3 Insieme di copertura: P3, P4 : Dominanza tra colonne: Un mintermine iesimo domina un mintermine jesimo quando ogni implicante che copre m j copre anche m i m i è eliminato dalla tabella. 3 5 P P P P4 domina Insieme di copertura: P3 3 5 P P P P4 Insieme di copertura: P3

: Quando tutte le righe essenziali e le colonne e righe dominate sono rimosse, la tabella ottenuta, se esiste, è ciclica: tabella ciclica degli implicanti primi. Per scegliere gli implicanti si può effettuare una scelta arbitraria ed esaminare le conseguenze derivanti da tale scelta (branch and bound) e dalle sue alternative. Branch and bound. Si sceglie un implicante primo Pi come appartenente alla soluzione e si elimina la riga corrispondente e le colonne coperte da Pi dalla tabella di copertura. La tabella ridotta viene esaminata per altre possibili semplificazioni (righe essenziali o relazioni di dominanza) che possono portare direttamente ad una soluzione finale Si di costo Ci 3. Se la tabella ottenuta dalle semplificazioni, non è riducibile si sceglie un secondo implicante Pj tra quelli rimasti (considerando quindi come possibile copertura parziale la coppia {Pi,Pj}) iterando il procedimento di semplificazione e così via fino a coprire la funzione a costo Ci

Branch and bound 4. Una volta individuata una soluzione si risale nell albero, per esaminare le scelte rimaste 5. Si mantiene sempre la soluzione a costo minore (bound) e si confronta il costo ottenuto con il costo minore, quando lo si supera quella soluzione viene abbandonata : funzioni non completamente specificate Ricerca degli implicanti primi: Nel passo relativo alla generazione degli implicanti primi, 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

: funzioni non completamente specificate f(a,b,c,d)= ( (,,,3)+d(4,5 4 5 3,,4 4,5 4, 5,3,3 4,5,,3 3 P O a b d:(, ) P P (,4): a c d P P bc:( 4,5,,3 ) P P e P sono essenziali f(a,b,c,d) = a b d +bc