Post on 18-Feb-2019
Architettura degli ElaboratoriImplementazione di funzioni booleane
Giacomo Fiumaragiacomo.fiumara@unime.it
Anno Accademico 2012-2013
1 / 34
Introduzione /1Ogni funzione booleana puo essere implementata mediantefunzioni logiche.Ad esempio, la funzione:
A B C F0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 01 1 0 11 1 1 0
puo essere espressa nella forma:
F = A · B · C + A · B · C + A · B · C
che prende il nome di SOP (Sum Of Products)2 / 34
Introduzione /2
E anche possibile considerare i valori nulli della funzione F
Ad esempio:
A B C F0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 01 1 0 11 1 1 0
puo essere espressa nella forma:
F = A · B · C · A · B · C · A · B · C · A · B · C · A · B · C
3 / 34
Introduzione /3
Infatti, la funzione:
F = A · B · C · A · B · C · A · B · C · A · B · C · A · B · C
Per la legge di De Morgan:
XYZ = X + Y + Z
diventa:
F = (A+B +C ) ·(A+B +C ) ·(A+B +C ) ·(A+B +C ) ·(A+B +C )
che prende il nome di POS (Product Of Sums)
4 / 34
Introduzione /4
A prescindere dalla forma (SOP oppure POS) bisognaconsiderare che:
di solito e possibile derivare un’espressione booleana piusemplice della forma SOP o POS
si puo scegliere di realizzare la funzione con un solo tipo diporte logiche (per esempio, NAND o NOR)
5 / 34
Introduzione /5
La semplificazione puo essere ottenuta mediante:
manipolazioni algebriche
mappe di Karnaugh
mappe di Quine-McKluskey
6 / 34
Attenzione
Nicolas Leonard Sadi Carnot (1796 - 1832)Fisico, matematico e ingegnere
Pronuncia: Carno
7 / 34
Semplificazione per via algebrica
L’obiettivo e ottenere una funzione booleana che contengameno elementi
Mediante l’applicazione delle seguenti proprieta e/o teoremi:
9 / 34
Mappe di Karnaugh /1Funzioni di due variabili
Rappresentano un metodo pratico per semplificare le funzionibooleane
Nel caso di una funzione booleana di due variabili, bisognaconsiderare le 22 combinazioni che rappresentano i possibilivalori delle due variabili
La mappa di Karnaugh in questo semplice caso assume laforma:
A0 1
B01
10 / 34
Mappe di Karnaugh /2Funzioni di due variabili
Si consideri la funzione:
F = A · B + A · B
Che si rappresenta con la seguente mappa di Karnaugh:
A
0 1
B0 1
1 1
11 / 34
Mappe di Karnaugh /3Funzioni di due variabili
In questo caso, la semplificazione algebrica e molto semplice:
F = A · B + A · B = A · (B + B) = A · 1 = A
Allo stesso risultato si giunge con la mappa di Karnaugh:
A
0 1
B0 1
1 1
Perche la funzione semplificata si ottiene dalle variabili (inquesto caso una sola) che non cambiano valore.
12 / 34
Mappe di Karnaugh /4Funzioni di tre variabili
Nel caso di funzioni di tre variabili, la mappa di Karnaughassume la forma:
AB
00 01 11 10
B0
1
13 / 34
Mappe di Karnaugh /5Funzioni di tre variabili
Si consideri la funzione:
F = A · B · C + A · B · C + A · B · C + A · B · C + A · B · C
Cui corrisponde la mappa di Karnaugh:
AB00 01 11 10
C0 1 1 11 1 1
14 / 34
Mappe di Karnaugh /6Funzioni di tre variabili
Nella funzione:
F = A · B · C + A · B · C + A · B · C + A · B · C + A · B · C
gli addendi:
A · B · C + A · B · C
corrispondono alle celle:
AB00 01 11 10
C0 1 11
e si semplificano come segue:
A · B · C + A · B · C = A · C (B + B) = A · C
15 / 34
Mappe di Karnaugh /7Funzioni di tre variabili
Nella funzione:
F = A · B · C + A · B · C + A · B · C + A · B · C + A · B · C
gli addendi:
A · B · C + A · B · C
corrispondono alle celle:
AB00 01 11 10
C0 11 1
e si semplificano come segue:
A · B · C + A · B · C = A · B(C + C ) = A · B
16 / 34
Mappe di Karnaugh /8Funzioni di tre variabili
Nella funzione:
F = A · B · C + A · B · C + A · B · C + A · B · C + A · B · C
gli addendi:
A · B · C + A · B · C
corrispondono alle celle:
AB00 01 11 10
C0 11 1
e si semplificano come segue:
A · B · C + A · B · C = A · B(C + C ) = A · B
17 / 34
Mappe di Karnaugh /9Funzioni di tre variabili
Riassumendo, la funzione:
F = A · B · C + A · B · C + A · B · C + A · B · C + A · B · C
si semplifica in:
A · C + A · B + A · B
18 / 34
Mappe di Karnaugh /9Funzioni di quattro variabili
Una funzione booleana di quattro variabili puo essererappresentata una mappa di 16 celle (4 × 4)
Come per gli esempi precedenti, tutte le coppie di caselleadiacenti (che differiscono soltanto per una variabile), sepresentano entrambe valore 1, possono essere fuse eliminandola variabile che compare con valore 0 in una cella e con valore1 nella cella adiacente
AB00 01 11 10
CD
00011110
19 / 34
Mappe di Karnaugh /10Funzioni di quattro variabili
La funzione:
F = A · B · C · D + A · B · C · D
si semplifica in:
A · B · C · D + A · B · C · D = A · B · D(C + C ) = A · B · D
AB00 01 11 10
CD
0001 111 110
20 / 34
Mappe di Karnaugh /11Funzioni di quattro variabili
Le celle rappresentate nella seguente mappa sono adiacenti:
AB00 01 11 10
CD
00 1011110 1
Infatti rappresentano la funzione:
A · B · C · D + A · B · C · D = A · B · D
21 / 34
Mappe di Karnaugh /12Funzioni di quattro variabili
Anche le celle rappresentate nella seguente mappa sonoadiacenti:
AB00 01 11 10
CD
0001 1 11110
Infatti rappresentano la funzione:
A · B · C · D + A · B · C · D = B · C · D
22 / 34
Mappe di Karnaugh /13Funzioni di quattro variabili
Si consideri la funzione:
F = A · B · C · D + A · B · C · D + A · B · C · D + A · B · C · D
Che puo essere semplificata in:
F = A · C · D + A · C · D = C · D
23 / 34
Mappe di Karnaugh /14Funzioni di quattro variabili
La funzione:
F = A · B · C · D + A · B · C · D + A · B · C · D + A · B · C · D
Puo essere semplificata anche mediante mappe di Karnaugh:
24 / 34
Mappe di Karnaugh /15Funzioni di quattro variabili
Il circuito digitale che implementa la funzione:
F = A · B · C · D + A · B · C · D + A · B · C · D + A · B · C · D
25 / 34
Mappe di Karnaugh /16Funzioni di quattro variabili
Il circuito digitale che implementa la funzione semplificata e:
F = A · C · D + A · C · D = C · D
26 / 34
Mappe di Karnaugh /16 bisFunzioni di quattro variabili
La funzione:
F = A · B · C · D + A · B · C · D + A · B · C · D + A · B · C · D
Puo essere semplificata per via algebrica:
F = B · C · D + B · C D = B · D
27 / 34
Mappe di Karnaugh /18Funzioni di quattro variabili
La funzione:
F = A · B · C · D + A · B · C · D + A · B · C · D + A · B · C · D
Puo essere semplificata anche mediante mappe di Karnaugh:
28 / 34
Mappe di Karnaugh /19Funzioni di quattro variabili
Il circuito digitale che implementa la funzione:
F = A · B · C · D + A · B · C · D + A · B · C · D + A · B · C · D
29 / 34
Mappe di Karnaugh /20Funzioni di quattro variabili
Il circuito digitale che implementa la funzione semplificata e:
F = B · C · D + B · C D = B · D
30 / 34
Rappresentazione di circuiti logico-digitaliRappresentazione mediante un solo tipo di porte logiche /1
Dopo la semplificazione, un circuito logico-digitale puo essererappresentato mediante un solo tipo di porte logiche
per esempio impiegando soltanto porte NAND
oppure impiegando soltanto porte NOR
31 / 34
Rappresentazione di circuiti logico-digitaliRappresentazione mediante un solo tipo di porte logiche /2
Una volta scelta la tipologia di porta da impiegare
bisogna sostituire tutte le porte presenti nel circuito con ilcircuito equivalente costituito dalle porte scelte
e infine, se necessario, bisogna semplificare il circuitorisultante.
32 / 34
Rappresentazione di circuiti logico-digitaliRappresentazione mediante un solo tipo di porte logiche /3
Le porte logiche AND, OR e NOT possono essereimplementate mediante l’impiego esclusivo di porte NAND:
33 / 34