Algebra di Boole: NAND

Bender01
Implementare con porte NAND l'espressione booleana [tex]\overline{x}+yz[/tex].


Io ho fatto così:

[tex]\overline{x}+yz = \overline{\overline{\overline{x}+yz}}[/tex]

De Morgan:

[tex]= \overline{x\overline{yz}} = x NAND \overline{yz} = x NAND (y NAND z)[/tex]

È giusto? Perché la soluzione che viene fornita è ben più complessa (11 porte NAND).

Risposte
j18eos
Benvenut*;

anch'io mi trovo con questa tua soluzione, ti rimane come ultima verifica il calcolo della tavola di verità! :|

Bender01
Ho già verificato con la tabella di verità e corrisponde però non so se sia una condizione sufficiente per considerare giusta la risposta.

La soluzione che viene fornita (è di una dispensa universitaria) è questa:

[tex]\overline {x} = \overline {(xx)} = xNANDx[/tex]

[tex]xy = \overline {\overline {xy}} = \overline {xNANDy} = \overline {(xNANDy)(xNANDy)} = (xNANDy)NAND(xNANDy)[/tex]

[tex]x+y = \overline {\overline {x+y}} = \overline {\overline {x}\overline {y}} = \overline {(\overline {x}\overline {x})} \overline {(\overline {y}\overline {y})} = \overline {(xNANDx)(yNANDy)} = (xNANDx)NAND(yNANDy)[/tex]

[size=85]L'overline ha fatto un pò di casini: alla terza riga, al quarto elemento dell'uguaglianza l'overline sopra "xx" dovrebbe essere attaccato, stessa cosa per "yy".[/size]

Con queste uguaglianze si fanno le dovute sostituzioni:

[tex]\overline {x}+yz = (xNANDx)+yz = (xNANDx)+((yNANDz)NAND(yNANDz))[/tex]

[tex]= ((xNANDx)NAND(xNANDx))NAND[/tex]
[tex](((yNANDz)NAND(yNANDz))NAND((yNANDz)NAND(yNANDz)))[/tex]

j18eos
A meno di miei errori: al prof. così piace! O per essere più espliciti: non trovo differenza di risultato in entrambe le soluzioni.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.