Dalla tabella alla funzione canonica

Documenti analoghi
Reti Logiche Combinatorie

Mappe di Karnaugh G. MARSELLA UNIVERSITÀ DEL SALENTO

Semplificazione delle funzioni logiche mediante le mappe K

Il livello logico digitale

Le mappe di Karnaugh

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

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.

Esercitazioni di Reti Logiche. Lezione 4

Reti Logiche Combinatorie

APPUNTI DI ELETTRONICA DIGITALE

senza stato una ed una sola

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

Funzioni booleane. Vitoantonio Bevilacqua.

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

Semplificazione delle funzioni logiche mediante il metodo delle mappe di Karnaugh

Sintesi di Espressioni Booleane

Calcolatori Elettronici Lezione 2 Algebra delle reti Logiche

Corso di Architettura degli Elaboratori. Porte logiche (I) Architetture degli Elaboratori. Porte logiche (III) Porte logiche (II)

Il livello logico digitale

Fondamenti di Informatica

Logica binaria. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna

Algebra di Boole e circuiti logici

Appunti di informatica. Lezione 3 anno accademico Mario Verdicchio

Esercitazioni di Reti Logiche. Lezione 3

Algebra di Boole X Y Z V. Algebra di Boole

Costruzione di. circuiti combinatori

I circuiti elementari

Lezione2: Circuiti Logici

anno scolastico 2009 / 2010 ELETTRONICA per Elettrotecnica ed Automazione

Richiami di Algebra di Commutazione

Elementi di informatica

Algebra Booleana, Funzioni Logiche e Circuiti Logici

Esercizi svolti Y Z. 1. Date le seguenti funzioni logiche ricavare le corrispondenti reti logiche realizzate con porte elementari AND, OR, NOT.

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)

Algebra di Boole. Fondamenti di Informatica per Meccanici Energetici - Biomedici 1. Politecnico di Torino Ottobre Mr. Boole. Variabile booleana

Esercitazioni di Reti Logiche

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

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

Reti Combinatorie: sintesi

Algebra di Boole Algebra di Boole

Architettura degli Elaboratori

17/10/16. Espressioni Booleane

Sintesi di una rete combinatoria

FONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Reti logiche

FONDAMENTI DI INFORMATICA Lezione n. 3

I Circuiti combinatori: LOGISIM

associate ai corrispondenti valori assunti dall uscita.

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

Ottimizzazione delle reti combinatorie

Aritmetica nel sistema Ternario bilanciato Giuseppe Talarico - 30/10/2013

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

Calcolatori Elettronici

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

Algebra di Boole Esercizi risolti

Addizionatori: metodo Carry-Lookahead. Costruzione di circuiti combinatori. Standard IEEE754

$GGL]LRQDWRULPHWRGR &DUU\/RRNDKHDG

Sistemi Combinatori & Mappe di Karnaugh

Circuiti Combinatori

Architetture aritmetiche

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Circuiti Logici

Operatori logici e algebra di boole

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

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

Algebra di Boole: minimizzazione di funzioni booleane

ALGEBRA DI BOOLE. In caso di errori di battitura o se si volesse contribuire a migliorare la seguente guida contattare:

ESERCIZI DEL CORSO DI INFORMATICA

Aritmetica in virgola mobile Algebra di Boole e reti logiche Esercizi. Mercoledì 8 ottobre 2014

Rappresentazione dell Informazione

Porte logiche. Porte logiche. Corso di Architettura degli Elaboratori. Algebra Booleana

Corso E Docente: Siniscalchi. Algebra di Boole

Lezione 7 Sommatori e Moltiplicatori

Cenni alle reti logiche. Luigi Palopoli

Reti combinatorie. Reti combinatorie (segue)

PSPICE simulazione di circuiti digitali Flip Flop M/S, Moltiplicatore parallelo, Memoria SRAM, sommatore, comparatore

Appunti di informatica. Lezione 4 anno accademico Mario Verdicchio

Aritmetica binaria e circuiti aritmetici

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

Algebra di Boole. Andrea Passerini Informatica. Algebra di Boole

FUNZIONI BOOLEANE. Vero Falso

Un quadro della situazione

Metodo di Quine- McCluskey

Elementi di Informatica

Minimizzazione di funzioni booleane:

Esercizio 1. Utilizzare FF di tipo D (come ovvio dalla figura, sensibili al fronte di discesa del clock). Progettare il circuito con un PLA.

Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica ALGEBRA BOOLEANA

I.3 Porte Logiche. Elisabetta Ronchieri. Ottobre 13, Università di Ferrara Dipartimento di Economia e Management. Insegnamento di Informatica

Calcolatori Elettronici

Algebra di Boole. Le reti logiche

I circuiti digitali: dalle funzioni logiche ai circuiti

Algebra di commutazione

Reti Logiche T. Esercizi reti sequenziali sincrone

Automi a stati finiti

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

Università degli Studi di Cassino

12BHD - Informatica (I anno Ingegneria) - esercizi sulle funzioni logiche - v. 1.0

Lezione 7 ALU: Moltiplicazione e divisione

Minimizzazione a più livelli di reti combinatorie Cristina Silvano

Quadrato Magico. Fondamenti di Programmazione

HSA HSA HARDWARE SYSTEM ARCHITECTURE. Livelli. Livello assemblativo. Livello di. Sistema Operativo. Livello di. linguaggio macchina.

Transcript:

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 a 0 negate, in cui ciascun MinTerm è associato ad un 1 della funzione d uscita della tabella della verità oppure da un prodotto di MaxTerm con variabili a 1 negate in cui ciascun MaxTerm è associato a uno 0 della funzione d uscita che si vuole realizzare. Naturalmente una tale funzione non è minima, ma può essere semplificata. La funzione minima si ottiene con il metodo di sintesi con le mappe di Karnaugh (che contiene tutti principi significativi legati alle adiacenze di MinTerm e MaxTerm). LA MAPPA DI KARNAUGH: Tra le proprietà dell algebra di Boole, le seguenti consentono di semplificare notevolmente le espressioni booleane: Le mappe di Karnaugh sono una particolare forma di tabella di verità, che consente di individuare immediatamente la possibilità di fare queste semplificazioni. Ad esempio, la seguente tabella di verità della funzione Y = Y(A,B,C) Dalla tabella di verità o dalla mappa di Karnaugh è immediato ottenere l espressione booleana della funzione Y come somma di prodotti, cioè come OR di tanti termini AND quante sono le caselle in cui la funzione vale 1; ciascuno di questi termini AND (detti minterm) è costituito dall AND delle variabili di ingresso, negate oppure no a seconda che il valore della variabile associato a quella casella sia 0 oppure 1. Nel caso di funzioni di 4 variabili, ad es. Z = Z(A,B,C,D), la mappa di Karnaugh ha 4 righe e quattro colonne:

Nelle mappe di Karnaugh i valori della funzione Y sono scritti dentro le caselle. I valori delle variabili A,B,C,D sono indicati come coordinate delle caselle. Esaminando queste coordinate, si constata che le coppie di valori di A e B (di C e D) associate alle colonne (alle righe) sono ordinate in modo che tra due caselle adiacenti (della medesima riga o della medesima colonna) cambia il valore di una sola delle variabili, mentre quello di tutte le altre rimane lo stesso; questa proprietà vale anche tra le caselle estreme di ciascuna riga e di ciascuna colonna (che, sotto questo aspetto, possono quindi essere considerate adiacenti, in senso circolare). Si osserva che, in virtù di questo fatto, a ciascuna coppia di caselle adiacenti contrassegnate con il valore 1 corrispondono, nella espressione booleana, due termini prodotto (minterm) nei quali una variabile è presente negata in uno e non negata nell altro, mentre tutte le altre variabili hanno lo stesso valore. E` allora possibile semplificare l espressione sostituendo quei due termini con un unico termine nel quale non è più presente la variabile che cambia valore. Ad esempio le ultime due caselle della seconda riga nella mappa della funzione Y portano alla seguente semplificazione: Allo stesso modo, quaterne di caselle adiacenti tutte con il valore 1 (sulla stessa riga o sulla stessa colonna) corrispondono a quattro termini che si riducono ad uno; ad esempio le quattro caselle della terza riga nella mappa della funzione Z portano alla seguente semplificazione: le quattro caselle della terza colonna nella mappa della funzione Z portano alla seguente semplificazione: Così pure quaterne adiacenti disposte secondo un quadrato producono un unico termine; ad esempio le quattro caselle in basso a sinistra nella mappa della funzione Z portano alla seguente semplificazione: Analogo discorso vale per gruppi di otto caselle adiacenti tutte con il valore 1. Per semplificare l espressione booleana di una funzione, si tratta dunque di individuare, nella relativa mappa di Karnaugh, i gruppi di (2 o 4 o 8) caselle adiacenti con il valore 1. Nel far ciò conviene tenere presente la proprietà A+A=A, che consente di utilizzare più volte la stessa casella (ovvero più volte lo stesso minterm nell espressione booleana), per formare gruppi diversi, al fine di operare il maggior numero di semplificazioni possibile. Individuando un insieme di gruppi (da 1, 2, 4 o 8) che copre tutte le caselle in cui compare il valore 1, si ottiene una espressione semplificata, costituita dall OR dei termini corrispondenti a ciascun gruppo. Riprendendo l esempio della funzione Z, si possono individuare i gruppi segnati in figura:

Con questi raggruppamenti si ottiene, immediatamente, l espressione semplificata di Z: Nell esempio si può osservare che si sono considerate adiacenti anche le caselle estreme delle righe o delle colonne. Si osserva che si possono individuare diversi raggruppamenti che coprono tutte le caselle in cui Z vale 1, ciascuno dei quali porta a diverse espressioni di Z equivalenti (più o meno semplificate). SINTESI DI UN ENCODER Si ricorda che il funzionamento di un encoder è basato sull ipotesi che, in ogni istante, una e una sola delle variabili di ingresso abbia il valore 1. Si consideri un telecomando di un cancello con 4 pulsanti quindi con 4 ingressi e due uscite: Le due funzioni d uscita Y0 ed Y1 sono, dunque, parzialmente definite perché le combinazioni di valori delle variabili d ingresso diverse da quelle in cui vi è un solo valore uguale ad 1 non si possono presentare mai (la rete logica a monte sarà tale da produrre valori di Xi che soddisfano questa ipotesi). Delle 16 righe della tabella di verità sono significative solo le 4 nelle quali Y0 ed Y1 sono definite:

La corrispondente mappa di Karnaugh per la funzione Y0 è: Sfruttando le condizioni di indifferenza presenti in questa mappa, si possono disegnare i due raggruppamenti da 8 caselle indicati in figura: E ottenere l espressione semplificata: Y0 = X1 + X3 Analogamente si può ottenere: Y1 = X2 + X3 Ora possiamo vedere un telecomando con 6 ingressi e 3 uscite: Procediamo a fare la tabella della verità:

A B C D E F Y0 Y1 Y2=Ci 0 0 0 0 0 0 X X X 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 X X X 0 0 0 1 0 0 1 1 0 0 0 0 1 0 1 X X X 0 0 0 1 1 0 X X X 0 0 0 1 1 1 X X X 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 X X X 0 0 1 0 1 0 X X X 0 0 1 0 1 1 X X X 0 0 1 1 0 0 X X X 0 0 1 1 0 1 X X X 0 0 1 1 1 0 X X X 0 0 1 1 1 1 X X X 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 X X X 0 1 0 0 1 0 X X X 0 1 0 0 1 1 X X X 0 1 0 1 0 0 X X X 0 1 0 1 0 1 X X X 0 1 0 1 1 0 X X X 0 1 0 1 1 1 X X X 0 1 1 0 0 0 X X X 0 1 1 0 0 1 X X X 0 1 1 0 1 0 X X X 0 1 1 0 1 1 X X X 0 1 1 1 0 0 X X X 0 1 1 1 0 1 X X X 0 1 1 1 1 0 X X X 0 1 1 1 1 1 X X X 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 X X X 1 0 0 0 1 0 X X X 1 0 0 0 1 1 X X X 1 0 0 1 0 0 X X X 1 0 0 1 0 1 X X X 1 0 0 1 1 0 X X X 1 0 0 1 1 1 X X X 1 0 1 0 0 0 X X X 1 0 1 0 0 1 X X X 1 0 1 0 1 0 X X X 1 0 1 0 1 1 X X X 1 0 1 1 0 0 X X X 1 0 1 1 0 1 X X X 1 0 1 1 1 0 X X X 1 0 1 1 1 1 X X X 1 1 0 0 0 0 X X X 1 1 0 0 0 1 X X X 1 1 0 0 1 0 X X X 1 1 0 0 1 1 X X X 1 1 0 1 0 0 X X X 1 1 0 1 0 1 X X X 1 1 0 1 1 0 X X X 1 1 0 1 1 1 X X X 1 1 1 0 0 0 X X X 1 1 1 0 0 1 X X X 1 1 1 0 1 0 X X X 1 1 1 0 1 1 X X X 1 1 1 1 0 0 X X X 1 1 1 1 0 1 X X X 1 1 1 1 1 0 X X X 1 1 1 1 1 1 X X X In questa tabella sono rappresentate tutte le possibili combinazioni, nel nostro caso non servono tutte. Quindi selezioniamo 6 combinazioni a caso, noi abbiamo scelto quelle più evidenti: Una volta svolta la tabella possiamo iniziare a costruire le mappe K.

Costruiamo le mappe K, 4 mappe per ogni uscita cioè 4 X 3 mappe: F0 0 0 X 0 X 1 0 0 0 X X X 0 1 1 X X X 1 0 1 X X X X 3 1 0 1 X X X 1 0 X X X X Y0 F0 0 0 0 X X X 0 0 X X X X 0 1 X X X X 2 0 1 X X X X 4 1 0 X X X X 1 0 X X X X F0 0 0 X X X 0 0 0 0 X X X 0 1 1 X X X 1 0 1 X X X X 3 1 0 0 X X X 1 0 X X X X Y1 F0 0 0 1 X X X 0 0 X X X X 0 1 X X X X 2 0 1 X X X X 4 1 0 X X X X 1 0 X X X X

F0 0 0 X 1 X 0 0 0 1 X X X 0 1 0 X X X 1 0 1 X X X X 3 1 0 1 X X X 1 0 X X X X Y2=Ci 0 0 0 X X X 0 0 X X X X 0 1 X X X X 2 0 1 X X X X 4 1 0 X X X X 1 0 X X X X Dopo aver fatto tutti i gruppi possibili possiamo trovare la funzione canonica: Y2=Ci= (D+E)(A+F)(E) Y1= DE+E Y0= (B+E)(A+F)(E) Ora possiamo creare lo schema elettrico:

Ora possiamo vedere come funzionano i sommatori binari (HALF ADDER, FULL ADDER) L'HALF ADDER, è un componente elettronico digitale che esegue la somma di due bit A e B e la presenta sull'uscita S; inoltre viene calcolato anche il riporto C, senza tener conto però di un riporto precedente. La somma binaria di due bit si calcola allo stesso modo della somma di due numeri decimali, per cui il riporto è generato se e solo se i due addendi sono pari a 1. L'insieme di due HALF ADDER e una porta logica OR, opportunamente collegati, restituisce un FULL ADDER. HALF ADDER Tabella di verità della somma di due numeri a e b ad 1 bit: Come si nota, il risultato di a+b si ottiene con lo XOR di a e b, mentre il resto (carry) con l'and: a+b = a XOR b carry = a AND b Il circuito logico è presentato nella seguente figura (input in blu e output in rosso): Tabella di verità della somma di due numeri a e b ad 1 bit: FULL ADDER Dato che in una CPU abbiamo bisogno di addizionare numeri composti da più bit, è necessario considerare una variante del precedente metodo, che consenta di sommare più bit tenendo conto del riporto della somma precedente. Prendiamo ad esempio la seguente somma: Abbiamo quindi bisogno di un addizionatore a 3 bit, detto "full adder".

La tabella seguente illustra i possibili stati degli input a b c e degli output somma e carry. Possiamo scomporre la somma in due semisomme, ovvero sommando a e b ed il risultato con c. Se una delle somme o entrambe hanno prodotto un riporto, allora il carry verrà settato a 1. Il circuito equivalente è mostrato nella seguente figura: Possiamo ora mettere in cascata più full-adder collegando l'uscita di carry ad una delle entrate per formare un addizionatore a più bit: