PDA

View Full Version : [Algebra Booleana] domanda esercizio


piumone
03-07-2007, 23:34
E3
Sintetizzare la funzione booleana f(x)=x*2 - 1 dove x è un numero binario senza segno di 2 bit e l'uscita deve essere espressa in complemento a 2 con il minor numero di bit.

X1 X0 X X*2-1 U3 U2 U1 U0
0 0 0 -1 1 1 1 1
0 1 1 1 0 0 0 1
1 0 2 3 0 0 1 1
1 1 3 5 0 1 0 1


U0 = 1
U1 = -X0
U2 = -X1-X0 + X1X0
U3 = -X1-X0

L'esercizio lo so fare ma non riesco a capire come si arriva a fare queste uguaglianze scritte in rosso sulle uscite della funzione.. Ringrazio chiunque possa darmi una mano..

cionci
04-07-2007, 08:24
Bisogna fare una semplificazione...ci sono tanti metodi per farle: algebra booleana, mappe di Karnaugh, metodo di Quine-McCluskey...

Ad esempio con l'algebra booleana:

U0 = /X0/X1 + X0/X1 + /X0X1 + X0X1 = /X0(/X1 + X1) + X0(/X1 + X1) = /X0 + X0 = 1
U1 = /X0/X1 + /X0X1 = /X0(/X1 + X1) = /X0
U2 = X0X1 + /X0/X1 (non è riducibile)
U3 = /X0/X1

Per poter scrivere l'espressione dell'uscita prima della riduzione basta prendere la linee in cui quella determinata uscita è a 1. A questo punto vai a vedere gli ingressi ed inserisci l'ingresso negato se vale 0 e l'ingresso non negato se vale 1.

piumone
04-07-2007, 13:09
Bisogna fare una semplificazione...ci sono tanti metodi per farle: algebra booleana, mappe di Karnaugh, metodo di Quine-McCluskey...

Ad esempio con l'algebra booleana:

U0 = /X0/X1 + X0/X1 + /X0X1 + X0X1 = /X0(/X1 + X1) + X0(/X1 + X1) = /X0 + X0 = 1
U1 = /X0/X1 + /X0X1 = /X0(/X1 + X1) = /X0
U2 = X0X1 + /X0/X1 (non è riducibile)
U3 = /X0/X1

Per poter scrivere l'espressione dell'uscita prima della riduzione basta prendere la linee in cui quella determinata uscita è a 1. A questo punto vai a vedere gli ingressi ed inserisci l'ingresso negato se vale 0 e l'ingresso non negato se vale 1.

:asd:

Furla
04-07-2007, 13:21
con le mappe K invece viene (in grassetto eventuali raggruppamenti):

x1
0 1
x0 0|1 | 1|
1|1 | 1| U0 = 1

x1
0 1
x0 0|1 | 1|
1|0 | 0| U1 = /x0

x1
0 1
x0 0|1 | 0|
1|0 | 1| U2 = x0 (xnor) x1 = x0x1 + /x0/x1

x1
0 1
x0 0|1 | 0|
1|0 | 0| U3 = /x0/x1

cionci
04-07-2007, 14:36
:asd:
Cioè ? :confused:

Furla
04-07-2007, 23:15
:asd:
spero che tu sappia tradurre una TT nella corrispettiva funzione in forma SP...

oltretutto, ora che mi ci fai pensare... come fai a dire di saper fare l'esercizio se non sapevi come arrivare alla soluzione che hai scritto in rosso? :confused:

piumone
05-09-2007, 16:11
Io l'esercizio sopra penso di averlo capito grazie alle vostre spiegazioni. Però mi sono imbattuto in questo:

Data la seguente tabella rappresentante una funzione booleana con tre ingressi e due uscite

X Y Z F1 F2
0 0 0 1 1
0 0 1 1 1
0 1 0 0 1
0 1 1 0 0
1 0 0 0 1
1 0 1 1 1
1 1 0 1 0
1 1 1 1 0

scrivere le espressioni booleane che sintetizzano le uscite.


F1(X;Y;Z) = -X-Y + XY + X-YZ
F2(X;Y;Z) = -X-Y + X-Y +-XY-Z = -Y +-XY-Z


Visto che ho qualche problema di semplificazione se per esempio nell'F1 lasciassi la seguente soluzione:
F1=-x-y-z + -x-yz + x-y-z + xy-z + xyz
Potrebbe andare? Se raccolgo divento pazzo!:muro:

Furla
05-09-2007, 16:50
quella si chiama forma canonica SP, ed è equivalente all'espressione risultante, solo che è più lunga, e meno elegante... se, in matematica, scrivo

f(x) = 2x e f(x) = 1g + 1 + 0 + x -3g + y/2 - y + x + 2g - 1 + 0b + y/2

ti accorgerai che sono la stessa cosa, solo che la prima è più "elegante" perché semplificata, ed è più facile da inquadrare.

il vantaggio della forma SP è che la si ottiene direttamente dalle righe della TT, e le sue proprietà la rendono un buon punto di partenza per ottenere l'espressione risultante, semplificata al minor numero di operatori possibile.
un'espressione semplificata al numero minimo di operatori consente di essere tradotta nella corrispondente rete logica con il minor numero di porte che soddisfi la TT.

se non vuoi cimentarti con le proprietà degli operatori booleani (che comunque può essere divertente, una volta capito il concetto) puoi usare le mappe di Karnaugh, che sono meccaniche e facili da usare, anche se ritengo sarebbe utile capire la teoria del meccanismo, e non solo applicarlo "a macchinetta".

cionci
05-09-2007, 18:03
F1=-x-y-z + -x-yz + x-y-z + xy-z + xyz
Potrebbe andare? Se raccolgo divento pazzo!:muro:
DEVI raccogliere...non va assolutamente bene come soluzione, non una forma minima.
5 termini non sono assolutamente tanti...alcune volte me ne sono trovati davanti anche più di 20 ;)

piumone
05-09-2007, 19:03
se non vuoi cimentarti con le proprietà degli operatori booleani (che comunque può essere divertente, una volta capito il concetto)

Guarda ti devo dire la verità: in questa materia trovo poche cose divertenti!! :D Prima o poi DEVO passare l'esame.. Mi devo scarificare al massimo! Grazie cmq!

piumone
05-09-2007, 19:07
DEVI raccogliere...non va assolutamente bene come soluzione, non una forma minima.
5 termini non sono assolutamente tanti...alcune volte me ne sono trovati davanti anche più di 20 ;)

Ok mi impegnerò grazie per la pazienza! Al prossimo dubbio.. :ave: