aboutsummaryrefslogtreecommitdiff
path: root/chips/Bit.hdl
diff options
context:
space:
mode:
Diffstat (limited to 'chips/Bit.hdl')
-rw-r--r--chips/Bit.hdl21
1 files changed, 21 insertions, 0 deletions
diff --git a/chips/Bit.hdl b/chips/Bit.hdl
new file mode 100644
index 0000000..52e0539
--- /dev/null
+++ b/chips/Bit.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/03/a/Bit.hdl
+
+/**
+ * 1-bit register:
+ * If load[t] == 1 then out[t+1] = in[t]
+ * else out does not change (out[t+1] = out[t])
+ */
+
+CHIP Bit {
+ IN in, load;
+ OUT out;
+
+ PARTS:
+ // Put your code here:
+ Mux (a=dffout, b=in, sel=load, out=muxout);
+ DFF (in=muxout, out=dffout);
+ Or (a=dffout, b=dffout, out=out);
+}