Algebra di Boole: NAND
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
Benvenut*;
anch'io mi trovo con questa tua soluzione, ti rimane come ultima verifica il calcolo della tavola di verità!
anch'io mi trovo con questa tua soluzione, ti rimane come ultima verifica il calcolo della tavola di verità!

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]
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]
A meno di miei errori: al prof. così piace! O per essere più espliciti: non trovo differenza di risultato in entrambe le soluzioni.