Nand always gives 1

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Nand always gives 1

kamilwowczuk
I got stuck on the first assignment because Nand always gives me 1. Here's the code:

// This file is part of www.nand2tetris.org
// and the book "The Elements of Computing Systems"
// by Nisan and Schocken, MIT Press.
// File name: projects/01/And.hdl

/**
 * And gate: out = 1 if {a == 1 and b == 1}, 0 otherwise  
 */

CHIP And {
    IN a, b;
    OUT out;

    PARTS:
    // The N in Nand is for Not, so Not(Nand()) == And()
    Nand(a=a, b=b, out=out);

}
Reply | Threaded
Open this post in threaded view
|

Re: Nand always gives 1

cadet1620
Administrator
kamilwowczuk wrote
    // The N in Nand is for Not, so Not(Nand()) == And()
You need a Not part.

Look at the example for Xor to see how to use internal pins (wires) to connect the Nand and Not together.

--Mark