aboutsummaryrefslogtreecommitdiff
path: root/chips/FullAdder.hdl
diff options
context:
space:
mode:
Diffstat (limited to 'chips/FullAdder.hdl')
-rw-r--r--chips/FullAdder.hdl20
1 files changed, 20 insertions, 0 deletions
diff --git a/chips/FullAdder.hdl b/chips/FullAdder.hdl
new file mode 100644
index 0000000..451499f
--- /dev/null
+++ b/chips/FullAdder.hdl
@@ -0,0 +1,20 @@
+// 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:
+ // Put you code here:
+ HalfAdder (a=a, b=b, sum=sum1, carry=carry1);
+ HalfAdder (a=sum1, b=c, sum=sum, carry=carry2);
+ Or (a=carry1, b=carry2, out=carry);
+}