Algebra di Boole: minimizzazione di funzioni booleane

Documenti analoghi
Minimizzazione di funzioni booleane:

Corso di Calcolatori Elettronici I

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

Algebra di Boole: mappe di Karnaugh

Algebra di Boole: mappe di Karnaugh

Metodo di Quine- McCluskey

Metodo di Quine- McCluskey

Calcolatori Elettronici Lezione 2 Algebra delle reti Logiche

Sintesi di Reti Combinatorie

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

Esercitazioni su circuiti combinatori

Reti Logiche Combinatorie

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

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

Maurizio Palesi. Maurizio Palesi 1

Costruzione di. circuiti combinatori

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

Richiami di Algebra di Commutazione

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

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 5

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

Esercitazioni di Reti Logiche. Lezione 3

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

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

Funzioni booleane. Vitoantonio Bevilacqua.

I circuiti digitali: dalle funzioni logiche ai circuiti

Algebra di commutazione

Reti logiche: introduzione

Semplificazione delle funzioni logiche mediante le mappe K

Esercitazioni di Reti Logiche

Macchine sequenziali: minimizzazione degli stati

Semplificazione delle funzioni logiche mediante il metodo delle mappe di Karnaugh

Algebra di Boole X Y Z V. Algebra di Boole

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

Algebra di Boole Cenni all Algebra di Boole

Esercitazioni di Reti Logiche. Lezione 4

Le mappe di Karnaugh

Mappe di Karnaugh G. MARSELLA UNIVERSITÀ DEL SALENTO

Dalla tabella alla funzione canonica

Esercizi di sintesi - Soluzioni

Algebra di Boole Algebra di Boole

Transcript:

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 di una forma ridotta n Maggiore compattezza dal punto di vista dell algebra della logica n Realizzazione più economica dal punto di vista dei circuiti

Funzioni di costo Costo di letterali (CL): numero delle variabili indipendenti della funzione, contate sul numero di volte in cui esse compaiono nella forma. Equivale, per reti bilaterali, al numero di contatti adoperati. Costo di funzioni o di porte (CP): numero delle funzioni elementari f i che la compongono. Equivale, per le reti unilaterali, al numero complessivo di porte adoperate. Costo di ingressi (CI): numero delle funzioni f i che la compongono, ciascuna moltiplicata per le variabili (dipendenti o indipendenti) di cui è funzione. Equivale, per le reti unilaterali, al numero complessivo di porte adoperate, ciascuna "pesata" per il numero di ingressi che possiede.

Funzioni di costo: esempio f = bc( ad b c) c( d a)( b c) Costo di letterali (CL) Costo di funzioni o di porte (CP) 7 Costo di ingressi (CI) 7

Costo Forma Minima: esempio ƒ = bc (a d b c) c (d a ) (b c) CL=; CP=7; CI=7 ƒ = b ( a c d) CL=4; CP=2; CI=5

Minimizzazione Non esistono metodi matematici che consentano di risolvere il problema della minimizzazione nella sua generalità Un vincolo fondamentale che in genere si pone alla base è il numero di livelli Gli algoritmi che vedremo forniscono una soluzione chiusa per reti a due livelli In alcuni casi, imporre una rete a due livelli non porta a soluzioni adeguate e tale vincolo sarà rimosso

Alcuni presupposti teorici (/3) Una funzione y = ƒ(, 2,..., n ) può essere espressa come una somma contenente soltanto i suoi implicanti primi (forma PI) Infatti, un implicante non primo A i presente in una forma somma-di-prodotti della f può essere sempre eliminato osservando che si può aggiungere alla f un implicante primo P i a sua volta implicato da A i senza alterare la f A i è poi assorbito da P i

Dimostrazione Una funzione y = ƒ(, 2,..., n ) può essere espressa come somma di soli suoi primi implicanti (o - per brevità - in forma PI). Dimostrazione Se la funzione in forma elementare ha allora Ak Pj y con P j primo implicante; P j può essere aggiunto alla y e si ottiene k j essendo Ak Pj = Pj, k y = A contiene un termine A k non PI si i y = A P ; A può essere eliminato dalla forma di y, dove viene sostituito da P j. Il ragionamento va ripetuto per tutte le clausole non PI.

Alcuni presupposti teorici (2/3) Una forma elementare che minimizzi i valori dei costi CL e CI è una forma PI Fra le forme minime a 2 livelli che minimizzano CP ne esiste almeno una PI Sotto il vincolo di rete a 2 livelli, la forma minima va allora cercata tra le forme PI DIM.: Fra tutte le forme elementari non PI, si scelga quella minima; se questa viene trasformata in una forma PI nella quale P j sostituisce A k, poiché P j è una clausola di ordine inferiore ad A k, diminuisce CL (diminuendo i letterali) e diminuisce CI (diminuendo il numero di variabili indipendenti della funzione componente) mentre CP non aumenta (diminuisce se era già nella sommatoria, resta inalterato altrimenti).

Alcuni presupposti teorici (3/3) Un implicante primo E i di una funzione f è detto essenziale se è l'unico ad essere implicato da un mintermine di f In altri termini, E i è l unico a coprire un determinato mintermine della funzione Il nucleo N della funzione è la somma dei suoi implicanti primi essenziali k N = E i= i w Ogni forma minima di f è del tipo f = NR con N ed R eventualmente nulli

Funzioni cicliche (N=0) 2 3 4 00 0 0 C 00 0 E F G D N = 0 0 H A B

Procedura per la minimizzazione. Ricerca di tutti gli implicanti primi della funzione f da minimizzare; 2. Selezione degli implicanti primi essenziali, per individuare il nucleo N; 3. Copertura della funzione, cioè determinazione della forma minima di R, da aggiungere ad N per minimizzare f I passi ) e 2) possono essere svolti con l ausilio delle mappe di Karnaugh per funzioni fino a 5 variabili

Ricerca PI sulle mappe di Karnaugh ƒ = abcd a bcd a b cd a b c d ab c d abc d ab c d Gli implicanti primi sono individuati graficamente come sottocubi di area massima sulla mappa di Karnaugh Implicanti primi bcd, a cd, a b d, ab

Individuazione del nucleo sulle mappe di Karnaugh Sono essenziali gli implicanti primi che da soli ricoprono un "" COPERTO SOLO DA a b d a b c d 00 0 0 00 0 0 COPERTO SOLO DA ab

Matrice di Copertura e Copertura minima Individuati gli implicanti primi, occorre scegliere tra di essi un insieme minimo che consenta di coprire tutta la funzione

Copertura minima Un modo generale per definire il problema della copertura è il seguente: data una matrice di N righe e M colonne, i cui elementi siano a ij = oppure a ij = 0, si dice che una riga i copre una colonna j se a ij =. Si selezioni il numero minimo di righe che coprono tutte le colonne. Il problema della copertura è di interesse generale in molti settori differenti ad esempio, in problemi di testing

Individuazione del nucleo sulla matrice di copertura Sulla matrice di copertura corrispondono alle righe che coprono le colonne con un unico Nell esempio N = A D ESSENZIALE ESSENZIALE

Metodi di copertura minima Trovare la copertura minima vuol dire trovare la forma minima di R, cioè quegli implicanti che, pur non essendo essenziali, devono essere eventualmente aggiunti al nucleo per trovare una forma che "copra" tutti i mintermini Per funzioni di poche variabili, la scelta dei PI di R da aggiungere a quelli essenziali di N può essere fatta direttamente sulla mappe di Karnaugh, valutando ad occhio le varie (poche) alternative possibili Un metodo tabellare: righe/colonne dominanti

Righe/Colonne dominanti Chiamiamo linea indifferentemente una riga o una colonna Una linea L domina la linea K se la include, ovvero se contiene tutti i suoi La colonna di destra domina quella di sinistra 0 0 0 0 0 La riga in alto domina l altra

Righe/Colonne dominanti Se si eliminano le righe dominate e le colonne dominanti, da una matrice di copertura, se ne trae una equivalente che rappresenta, cioè, il medesimo problema di copertura

Righe/Colonne dominanti Il metodo tabellare per righe/colonne dominanti procede allora come segue:. Si ricercano gli implicanti primi (PI) e si individuano quelli essenziali; 2. Si includono nella forma minima i PI essenziali, eliminandoli dalla matrice, unitamente con i mintermini ricoperti; 3. Si eliminano le righe dominate e le colonne dominanti; 4. Si individuano i PI essenziali secondari della matrice così ridotta; 5. Si ripetono i passi 2, 3, 4 finché è possibile.

Esempio (/6) = = = 5 4 3 2 5 4 3 2 5 4 3 2 5 4 3 2 ) (0,,2,8,9,5,7,2,24,25,27,28,3 ),,,, ( f

Esempio (2/6) Implicanti Mintermini coperti A = -00-8,9,24,25 B = --00,9,7,25 C = 0-00- 0,,8,9 D = - 27,3 E = - 5,3 F = 0-25,27 G = 0-0 7,2 H = -00 24,28 J = 000-0 0,2

Esempio (3/6) P 0 P P 2 P 8 P 9 P 5 P 7 P 2 P 24 P 25 P 27 P 28 P 3 A B C D E F G H J Primi implicanti essenziali: N (nucleo) = J, E, G, H

Esempio (4/6) P 0 P P 2 P 8 P 9 P 5 P 7 P 2 P 24 P 25 P 27 P 28 P 3 A B C D E F G H J Gli implicanti primi essenziali J,E,G,H coprono i mintermini: 0, 2, 5, 7, 2, 24, 28, 3

Esempio (5/6) P P 8 P 9 P 25 P 27 A P P 8 P 25 P 27 B A P P 8 C B A D C B F F C riga D dominata dalla F Colonna P 9 dominante F implicante primo essenziale secondario: copre P 25 e P 27 Righe A e B dominate dalla C

Esempio (6/6) 4 3 5 3 2 5 3 2 5 4 2 5 4 2 5 4 3 2 5 4 3 2 5 4 3 2 5 4 3 2 5 4 3 2 ) (0,,2,8,9,5,7,2,24,25,27,28,3 ),,,, ( C F J H G E f = = = = = = =

Un altro esempio: funzione ciclica 2 3 4 00 0 0 D C 00 0 0 A B E F G H P 3 P 6 P 7 P 8 P 9 P 0 P 3 P 4 A B C D E F G H Il metodo delle righe e colonne dominanti non aiuta Si sceglie a caso un PI e gli altri vengono scelti di conseguenza Due coperture equivalenti: ACEG oppure BDFH