summaryrefslogtreecommitdiff
path: root/projects/02/FullAdder.hdl
diff options
context:
space:
mode:
Diffstat (limited to 'projects/02/FullAdder.hdl')
-rw-r--r--projects/02/FullAdder.hdl19
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);
+}