architettura degli elaboratori implementazione di funzioni...

34
Architettura degli Elaboratori Implementazione di funzioni booleane Giacomo Fiumara [email protected] Anno Accademico 2012-2013 1 / 34

Upload: letruc

Post on 18-Feb-2019

234 views

Category:

Documents


0 download

TRANSCRIPT

Architettura degli ElaboratoriImplementazione di funzioni booleane

Giacomo [email protected]

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

Attenzione /2

Maurice Karnaugh (1924)Ingegnere delle telecomunicazioni

Pronuncia: Carno

8 / 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

Rappresentazione di circuiti logico-digitaliRappresentazione mediante un solo tipo di porte logiche /4

Le porte logiche AND, OR e NOT possono essereimplementate mediante l’impiego esclusivo di porte NOR:

34 / 34