summaryrefslogtreecommitdiff
path: root/projects/01/Mux.hdl
diff options
context:
space:
mode:
Diffstat (limited to 'projects/01/Mux.hdl')
-rw-r--r--projects/01/Mux.hdl21
1 files changed, 21 insertions, 0 deletions
diff --git a/projects/01/Mux.hdl b/projects/01/Mux.hdl
new file mode 100644
index 0000000..7a27aa9
--- /dev/null
+++ b/projects/01/Mux.hdl
@@ -0,0 +1,21 @@
+// 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:
+ Not(in=sel, out=notsel);
+ And(a=a, b=notsel, out=maska);
+ And(a=b, b=sel, out=maskb);
+ Or(a=maska, b=maskb, out=out);
+}