25 lines
800 B
Plaintext
25 lines
800 B
Plaintext
// 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/demo/Xor.hdl
|
|
|
|
/**
|
|
* Exclusive-or gate: true if either a is true and b is false, or
|
|
* a is false and b is true; false otherwise.
|
|
* QUESTION: how can the simulator execute this program properly without
|
|
* HDL implementations of the underlying Not, And, and Or chip-parts?
|
|
* Answer: since the demo folder contains no Not.hdl, And.hdl and Or.hdl
|
|
* files, the simulator reverts to using their built-in implementations.
|
|
*/
|
|
|
|
CHIP Xor {
|
|
IN a, b;
|
|
OUT out;
|
|
|
|
PARTS:
|
|
Not (in=a, out=nota);
|
|
Not (in=b, out=notb);
|
|
And (a=a, b=notb, out=x);
|
|
And (a=nota, b=b, out=y);
|
|
Or (a=x, b=y, out=out);
|
|
} |