diff options
Diffstat (limited to 'projects/02/FullAdder.hdl')
-rw-r--r-- | projects/02/FullAdder.hdl | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/projects/02/FullAdder.hdl b/projects/02/FullAdder.hdl new file mode 100644 index 0000000..fc93910 --- /dev/null +++ b/projects/02/FullAdder.hdl @@ -0,0 +1,19 @@ +// 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/02/FullAdder.hdl
+
+/**
+ * Computes the sum of three bits.
+ */
+
+CHIP FullAdder {
+ IN a, b, c; // 1-bit inputs
+ OUT sum, // Right bit of a + b + c
+ carry; // Left bit of a + b + c
+
+ PARTS:
+ HalfAdder(a=a, b=b, sum=sumab, carry=carryab);
+ HalfAdder(a=sumab, b=c, sum=sum, carry=carryabc);
+ Or(a=carryab, b=carryabc, out=carry);
+}
|