From a000308104aab27c2dde9a306f1bc654b2db4806 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Wed, 29 Nov 2017 12:30:41 +0100 Subject: first commit --- projects/demo/Xor.hdl | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 projects/demo/Xor.hdl (limited to 'projects/demo/Xor.hdl') diff --git a/projects/demo/Xor.hdl b/projects/demo/Xor.hdl new file mode 100644 index 0000000..db49351 --- /dev/null +++ b/projects/demo/Xor.hdl @@ -0,0 +1,25 @@ +// 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); +} \ No newline at end of file -- cgit v1.2.3