summaryrefslogtreecommitdiff
path: root/chips/Mux.hdl
diff options
context:
space:
mode:
Diffstat (limited to 'chips/Mux.hdl')
-rw-r--r--chips/Mux.hdl22
1 files changed, 22 insertions, 0 deletions
diff --git a/chips/Mux.hdl b/chips/Mux.hdl
new file mode 100644
index 0000000..aac2e36
--- /dev/null
+++ b/chips/Mux.hdl
@@ -0,0 +1,22 @@
+// 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/01/Mux.hdl
+
+/**
+ * Multiplexor:
+ * out = a if sel == 0
+ * b otherwise
+ */
+
+CHIP Mux {
+ IN a, b, sel;
+ OUT out;
+
+ PARTS:
+ // Put your code here:
+ Not (in=sel, out=notsel);
+ And (a=a, b=notsel, out=aandnotsel);
+ And (a=sel, b=b, out=selandb);
+ Or (a=aandnotsel, b=selandb, out=out);
+}