aboutsummaryrefslogtreecommitdiff
path: root/tools/builtInChips
diff options
context:
space:
mode:
Diffstat (limited to 'tools/builtInChips')
-rw-r--r--tools/builtInChips/ALU.classbin1754 -> 0 bytes
-rw-r--r--tools/builtInChips/ALU.hdl55
-rw-r--r--tools/builtInChips/ARegister.classbin337 -> 0 bytes
-rw-r--r--tools/builtInChips/ARegister.hdl24
-rw-r--r--tools/builtInChips/Add16.classbin343 -> 0 bytes
-rw-r--r--tools/builtInChips/Add16.hdl18
-rw-r--r--tools/builtInChips/And.classbin341 -> 0 bytes
-rw-r--r--tools/builtInChips/And.hdl16
-rw-r--r--tools/builtInChips/And16.hdl17
-rw-r--r--tools/builtInChips/Bit.classbin416 -> 0 bytes
-rw-r--r--tools/builtInChips/Bit.hdl19
-rw-r--r--tools/builtInChips/DFF.classbin401 -> 0 bytes
-rw-r--r--tools/builtInChips/DFF.hdl18
-rw-r--r--tools/builtInChips/DMux.classbin365 -> 0 bytes
-rw-r--r--tools/builtInChips/DMux.hdl20
-rw-r--r--tools/builtInChips/DMux4Way.classbin408 -> 0 bytes
-rw-r--r--tools/builtInChips/DMux4Way.hdl22
-rw-r--r--tools/builtInChips/DMux8Way.classbin488 -> 0 bytes
-rw-r--r--tools/builtInChips/DMux8Way.hdl22
-rw-r--r--tools/builtInChips/DRegister.classbin339 -> 0 bytes
-rw-r--r--tools/builtInChips/DRegister.hdl24
-rw-r--r--tools/builtInChips/FullAdder.classbin380 -> 0 bytes
-rw-r--r--tools/builtInChips/FullAdder.hdl19
-rw-r--r--tools/builtInChips/HalfAdder.classbin360 -> 0 bytes
-rw-r--r--tools/builtInChips/HalfAdder.hdl18
-rw-r--r--tools/builtInChips/Inc16.classbin333 -> 0 bytes
-rw-r--r--tools/builtInChips/Inc16.hdl18
-rw-r--r--tools/builtInChips/Keyboard.classbin1709 -> 0 bytes
-rw-r--r--tools/builtInChips/Keyboard.hdl23
-rw-r--r--tools/builtInChips/Mux.classbin356 -> 0 bytes
-rw-r--r--tools/builtInChips/Mux.hdl16
-rw-r--r--tools/builtInChips/Mux16.hdl16
-rw-r--r--tools/builtInChips/Mux4Way16.classbin435 -> 0 bytes
-rw-r--r--tools/builtInChips/Mux4Way16.hdl21
-rw-r--r--tools/builtInChips/Mux8Way16.classbin527 -> 0 bytes
-rw-r--r--tools/builtInChips/Mux8Way16.hdl24
-rw-r--r--tools/builtInChips/Nand.classbin344 -> 0 bytes
-rw-r--r--tools/builtInChips/Nand.hdl16
-rw-r--r--tools/builtInChips/Not.classbin331 -> 0 bytes
-rw-r--r--tools/builtInChips/Not.hdl16
-rw-r--r--tools/builtInChips/Not16.classbin327 -> 0 bytes
-rw-r--r--tools/builtInChips/Not16.hdl16
-rw-r--r--tools/builtInChips/Or.classbin340 -> 0 bytes
-rw-r--r--tools/builtInChips/Or.hdl16
-rw-r--r--tools/builtInChips/Or16.hdl16
-rw-r--r--tools/builtInChips/Or8Way.classbin340 -> 0 bytes
-rw-r--r--tools/builtInChips/Or8Way.hdl16
-rw-r--r--tools/builtInChips/PC.classbin1899 -> 0 bytes
-rw-r--r--tools/builtInChips/PC.hdl22
-rw-r--r--tools/builtInChips/RAM.classbin1928 -> 0 bytes
-rw-r--r--tools/builtInChips/RAM16K.classbin390 -> 0 bytes
-rw-r--r--tools/builtInChips/RAM16K.hdl24
-rw-r--r--tools/builtInChips/RAM4K.classbin309 -> 0 bytes
-rw-r--r--tools/builtInChips/RAM4K.hdl24
-rw-r--r--tools/builtInChips/RAM512.classbin311 -> 0 bytes
-rw-r--r--tools/builtInChips/RAM512.hdl24
-rw-r--r--tools/builtInChips/RAM64.classbin308 -> 0 bytes
-rw-r--r--tools/builtInChips/RAM64.hdl24
-rw-r--r--tools/builtInChips/RAM8.classbin306 -> 0 bytes
-rw-r--r--tools/builtInChips/RAM8.hdl24
-rw-r--r--tools/builtInChips/ROM32K.classbin3469 -> 0 bytes
-rw-r--r--tools/builtInChips/ROM32K.hdl30
-rw-r--r--tools/builtInChips/Register.classbin423 -> 0 bytes
-rw-r--r--tools/builtInChips/Register.hdl19
-rw-r--r--tools/builtInChips/RegisterWithGUI.classbin1769 -> 0 bytes
-rw-r--r--tools/builtInChips/Screen.classbin1322 -> 0 bytes
-rw-r--r--tools/builtInChips/Screen.hdl35
-rw-r--r--tools/builtInChips/Xor.classbin341 -> 0 bytes
-rw-r--r--tools/builtInChips/Xor.hdl16
69 files changed, 0 insertions, 748 deletions
diff --git a/tools/builtInChips/ALU.class b/tools/builtInChips/ALU.class
deleted file mode 100644
index 03f95dc..0000000
--- a/tools/builtInChips/ALU.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/ALU.hdl b/tools/builtInChips/ALU.hdl
deleted file mode 100644
index e5fd1f0..0000000
--- a/tools/builtInChips/ALU.hdl
+++ /dev/null
@@ -1,55 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/ALU.hdl
-
-/**
- * The ALU. Computes one of the following functions:
- * x+y, x-y, y–x, 0, 1, -1, x, y, -x, -y, !x, !y,
- * x+1, y+1, x-1, y-1, x&y, x|y on two 16-bit inputs.
- * Which function to compute is determined by 6 input bits
- * denoted zx, nx, zy, ny, f, no.
- * The computed function's value is called "out".
- * In addition to computing out, the ALU computes two
- * 1-bit outputs called zr and ng:
- * if out == 0, zr = 1; otherwise zr = 0;
- * If out < 0, ng = 1; otherwise ng = 0.
- * The 6-bit combinations (zx,nx,zy,ny,f,no) and
- * their effect are documented in the book.
- */
-
-// Implementation: the ALU manipulates the x and y
-// inputs and then operates on the resulting values,
-// as follows:
-// if (zx == 1) sets x = 0 // 16-bit constant
-// if (nx == 1) sets x = ~x // bitwise "not"
-// if (zy == 1) sets y = 0 // 16-bit constant
-// if (ny == 1) sets y = ~y // bitwise "not"
-// if (f == 1) sets out = x + y // integer 2's-complement addition
-// if (f == 0) sets out = x & y // bitwise And
-// if (no == 1) sets out = ~out // bitwise Not
-// if (out == 0) sets zr = 1
-// if (out < 0) sets ng = 1
-
-
-CHIP ALU {
-
- IN // 16-bit inputs:
- x[16], y[16],
- // Control bits:
- zx, // Zero the x input
- nx, // Negate the x input
- zy, // Zero the y input
- ny, // Negate the y input
- f, // Function code: 1 for add, 0 for and
- no; // Negate the out output
-
- OUT // 16-bit output
- out[16],
-
- // ALU output flags
- zr, // 1 if out=0, 0 otherwise
- ng; // 1 if out<0, 0 otherwise
-
- BUILTIN ALU;
-}
diff --git a/tools/builtInChips/ARegister.class b/tools/builtInChips/ARegister.class
deleted file mode 100644
index ab9aadc..0000000
--- a/tools/builtInChips/ARegister.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/ARegister.hdl b/tools/builtInChips/ARegister.hdl
deleted file mode 100644
index 23aee73..0000000
--- a/tools/builtInChips/ARegister.hdl
+++ /dev/null
@@ -1,24 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/ARegister.hdl
-
-/**
- * A 16-Bit register called "A Register".
- * If load[t-1]=1 then out[t] = in[t-1]
- * else out does not change (out[t] = out[t-1])
- *
- * This built-in chip implementation has the side effect of
- * providing a GUI representation of a 16-bit register
- * called "A register" (typically used to store an address).
- */
-
-CHIP ARegister {
-
- IN in[16], load;
- OUT out[16];
-
- BUILTIN ARegister;
- CLOCKED in, load;
-}
-
diff --git a/tools/builtInChips/Add16.class b/tools/builtInChips/Add16.class
deleted file mode 100644
index c3754ce..0000000
--- a/tools/builtInChips/Add16.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/Add16.hdl b/tools/builtInChips/Add16.hdl
deleted file mode 100644
index a494af4..0000000
--- a/tools/builtInChips/Add16.hdl
+++ /dev/null
@@ -1,18 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/Add16.hdl
-
-/*
- * Adds two 16-bit values.
- * The most significant carry bit is ignored.
- */
-
-CHIP Add16 {
-
- IN a[16], b[16];
- OUT out[16];
-
- BUILTIN Add16;
-}
-
diff --git a/tools/builtInChips/And.class b/tools/builtInChips/And.class
deleted file mode 100644
index 2c7492b..0000000
--- a/tools/builtInChips/And.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/And.hdl b/tools/builtInChips/And.hdl
deleted file mode 100644
index d2c48b5..0000000
--- a/tools/builtInChips/And.hdl
+++ /dev/null
@@ -1,16 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/And.hdl
-
-/**
- * And gate: out = 1 if {a == 1 and b == 1}, 0 otherwise
- */
-
-CHIP And {
-
- IN a, b;
- OUT out;
-
- BUILTIN And;
-}
diff --git a/tools/builtInChips/And16.hdl b/tools/builtInChips/And16.hdl
deleted file mode 100644
index 4c71874..0000000
--- a/tools/builtInChips/And16.hdl
+++ /dev/null
@@ -1,17 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/And16.hdl
-
-/**
- * 16-bit-wise And gate: for i = 0..15: out[i] = a[i] and b[i]
- */
-
-CHIP And16 {
-
- IN a[16], b[16];
- OUT out[16];
-
- BUILTIN And;
-}
-
diff --git a/tools/builtInChips/Bit.class b/tools/builtInChips/Bit.class
deleted file mode 100644
index 1e5a3c4..0000000
--- a/tools/builtInChips/Bit.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/Bit.hdl b/tools/builtInChips/Bit.hdl
deleted file mode 100644
index a0a76bb..0000000
--- a/tools/builtInChips/Bit.hdl
+++ /dev/null
@@ -1,19 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/Bit.hdl
-
-/**
- * 1-bit register.
- * If load[t] == 1 then out[t+1] = in[t]
- * else out[t+1] = out[t] (no change)
- */
-
-CHIP Bit {
-
- IN in, load;
- OUT out;
-
- BUILTIN Bit;
- CLOCKED in, load;
-}
diff --git a/tools/builtInChips/DFF.class b/tools/builtInChips/DFF.class
deleted file mode 100644
index 49efcf1..0000000
--- a/tools/builtInChips/DFF.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/DFF.hdl b/tools/builtInChips/DFF.hdl
deleted file mode 100644
index c66b796..0000000
--- a/tools/builtInChips/DFF.hdl
+++ /dev/null
@@ -1,18 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/DFF.hdl
-
-/**
- * Data Flip-flop: out(t) = in(t-1)
- * where t is the current time unit, or clock cycle.
- */
-
-CHIP DFF {
-
- IN in;
- OUT out;
-
- BUILTIN DFF;
- CLOCKED in;
-}
diff --git a/tools/builtInChips/DMux.class b/tools/builtInChips/DMux.class
deleted file mode 100644
index 8cf4e0b..0000000
--- a/tools/builtInChips/DMux.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/DMux.hdl b/tools/builtInChips/DMux.hdl
deleted file mode 100644
index 80153d7..0000000
--- a/tools/builtInChips/DMux.hdl
+++ /dev/null
@@ -1,20 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/DMux.hdl
-
-/**
- * Dmultiplexor.
- * {a,b} = {in,0} if sel == 0
- * {0,in} if sel == 1
- */
-
-
-CHIP DMux {
-
- IN in, sel;
- OUT a, b;
-
- BUILTIN DMux;
-}
-
diff --git a/tools/builtInChips/DMux4Way.class b/tools/builtInChips/DMux4Way.class
deleted file mode 100644
index ab72a17..0000000
--- a/tools/builtInChips/DMux4Way.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/DMux4Way.hdl b/tools/builtInChips/DMux4Way.hdl
deleted file mode 100644
index 110bb4e..0000000
--- a/tools/builtInChips/DMux4Way.hdl
+++ /dev/null
@@ -1,22 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/DMux4Way.hdl
-
-/**
- * 4-way demultiplexor.
- * {a,b,c,d} = {in,0,0,0} if sel == 00
- * {0,in,0,0} if sel == 01
- * {0,0,in,0} if sel == 10
- * {0,0,0,in} if sel == 11
- */
-
-
-CHIP DMux4Way {
-
- IN in, sel[2];
- OUT a, b, c, d;
-
- BUILTIN DMux4Way;
-}
-
diff --git a/tools/builtInChips/DMux8Way.class b/tools/builtInChips/DMux8Way.class
deleted file mode 100644
index 80e7437..0000000
--- a/tools/builtInChips/DMux8Way.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/DMux8Way.hdl b/tools/builtInChips/DMux8Way.hdl
deleted file mode 100644
index c5536b8..0000000
--- a/tools/builtInChips/DMux8Way.hdl
+++ /dev/null
@@ -1,22 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/DMux8Way.hdl
-
-/**
- * 8-way demultiplexor.
- * {a,b,c,d,e,f,g,h} = {in,0,0,0,0,0,0,0} if sel == 000
- * {0,in,0,0,0,0,0,0} if sel == 001
- * etc.
- * {0,0,0,0,0,0,0,in} if sel == 111
- */
-
-
-CHIP DMux8Way {
-
- IN in, sel[3];
- OUT a, b, c, d, e, f, g, h;
-
- BUILTIN DMux8Way;
-}
-
diff --git a/tools/builtInChips/DRegister.class b/tools/builtInChips/DRegister.class
deleted file mode 100644
index 74a713d..0000000
--- a/tools/builtInChips/DRegister.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/DRegister.hdl b/tools/builtInChips/DRegister.hdl
deleted file mode 100644
index 6c9a254..0000000
--- a/tools/builtInChips/DRegister.hdl
+++ /dev/null
@@ -1,24 +0,0 @@
-// This file is part of the materials accompanying the book
-// "The Elements of Computing Systems" by Nisan and Schocken,
-// MIT Press. Book site: www.idc.ac.il/tecs
-// File name: tools/builtIn/DRegister.hdl
-
-/**
- * A 16-Bit register called "D Register".
- * If load[t-1]=1 then out[t] = in[t-1]
- * else out does not change (out[t] = out[t-1])
- *
- * This built-in chip implementation has the side effect of
- * providing a GUI representation of a 16-bit register
- * called "D register" (typically used to store data).
- */
-
-CHIP DRegister {
-
- IN in[16], load;
- OUT out[16];
-
- BUILTIN DRegister;
- CLOCKED in, load;
-}
-
diff --git a/tools/builtInChips/FullAdder.class b/tools/builtInChips/FullAdder.class
deleted file mode 100644
index 2ed9ead..0000000
--- a/tools/builtInChips/FullAdder.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/FullAdder.hdl b/tools/builtInChips/FullAdder.hdl
deleted file mode 100644
index a4caa56..0000000
--- a/tools/builtInChips/FullAdder.hdl
+++ /dev/null
@@ -1,19 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/FullAdder.hdl
-
-/**
- * Full adder. Computes sum, the least significant bit of
- * a + b + c, and carry, the most significant bit of a + b + c.
- */
-
-CHIP FullAdder {
-
- IN a, b, c;
- OUT sum, // LSB of a + b + c
- carry; // MSB of a + b + c
-
- BUILTIN FullAdder;
-}
-
diff --git a/tools/builtInChips/HalfAdder.class b/tools/builtInChips/HalfAdder.class
deleted file mode 100644
index e7741ed..0000000
--- a/tools/builtInChips/HalfAdder.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/HalfAdder.hdl b/tools/builtInChips/HalfAdder.hdl
deleted file mode 100644
index 1591b96..0000000
--- a/tools/builtInChips/HalfAdder.hdl
+++ /dev/null
@@ -1,18 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/HalfAdder.hdl
-
-/**
- * Half adder. Computes sum, the least significnat bit of a + b,
- * and carry, the most significnat bit of a + b.
- */
-
-CHIP HalfAdder {
-
- IN a, b;
- OUT sum, // LSB of a + b
- carry; // MSB of a + b
-
- BUILTIN HalfAdder;
-}
diff --git a/tools/builtInChips/Inc16.class b/tools/builtInChips/Inc16.class
deleted file mode 100644
index b5b2aeb..0000000
--- a/tools/builtInChips/Inc16.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/Inc16.hdl b/tools/builtInChips/Inc16.hdl
deleted file mode 100644
index 9d2d49b..0000000
--- a/tools/builtInChips/Inc16.hdl
+++ /dev/null
@@ -1,18 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/Inc16.hdl
-
-/**
- * 16-bit incrementer. out = in + 1 (16-bit addition).
- * Overflow is neither detected nor handled.
- */
-
-CHIP Inc16 {
-
- IN in[16];
- OUT out[16];
-
- BUILTIN Inc16;
-}
-
diff --git a/tools/builtInChips/Keyboard.class b/tools/builtInChips/Keyboard.class
deleted file mode 100644
index 090b7cc..0000000
--- a/tools/builtInChips/Keyboard.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/Keyboard.hdl b/tools/builtInChips/Keyboard.hdl
deleted file mode 100644
index 26ca5ed..0000000
--- a/tools/builtInChips/Keyboard.hdl
+++ /dev/null
@@ -1,23 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/Keyboard.hdl
-
-/**
- * The keyboard (memory map).
- * Outputs the code of the currently pressed key.
- *
- * The built-in chip implementation has two side effects supplied
- * by the simulator. First, the keyboard memory map is continuously
- * being refreshed from the physical keyboard unit. Second, it
- * displays a keyboard icon and data entry GUI.
- */
-
-CHIP Keyboard {
-
- OUT out[16]; // The ASCII code of the pressed key,
- // or 0 if no key is currently pressed,
- // or one the special codes listed in Figure 5.5.
-
- BUILTIN Keyboard;
-}
diff --git a/tools/builtInChips/Mux.class b/tools/builtInChips/Mux.class
deleted file mode 100644
index 75c6645..0000000
--- a/tools/builtInChips/Mux.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/Mux.hdl b/tools/builtInChips/Mux.hdl
deleted file mode 100644
index a0eefbc..0000000
--- a/tools/builtInChips/Mux.hdl
+++ /dev/null
@@ -1,16 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/Mux.hdl
-
-/**
- * Multiplexor. If sel == 1 then out = b else out = a.
- */
-
-CHIP Mux {
-
- IN a, b, sel;
- OUT out;
-
- BUILTIN Mux;
-}
diff --git a/tools/builtInChips/Mux16.hdl b/tools/builtInChips/Mux16.hdl
deleted file mode 100644
index 676d1f4..0000000
--- a/tools/builtInChips/Mux16.hdl
+++ /dev/null
@@ -1,16 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/Mux16.hdl
-
-/**
- * 16 bit multiplexor. If sel == 1 then out = b else out = a.
- */
-
-CHIP Mux16 {
-
- IN a[16], b[16], sel;
- OUT out[16];
-
- BUILTIN Mux;
-}
diff --git a/tools/builtInChips/Mux4Way16.class b/tools/builtInChips/Mux4Way16.class
deleted file mode 100644
index b2e2ed7..0000000
--- a/tools/builtInChips/Mux4Way16.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/Mux4Way16.hdl b/tools/builtInChips/Mux4Way16.hdl
deleted file mode 100644
index 9929e82..0000000
--- a/tools/builtInChips/Mux4Way16.hdl
+++ /dev/null
@@ -1,21 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/Mux4Way16.hdl
-
-/**
- * 4-way 16-bit multiplexor.
- * out = a if sel == 00
- * b if sel == 01
- * c if sel == 10
- * d if sel == 11
- */
-
-
-CHIP Mux4Way16 {
-
- IN a[16], b[16], c[16], d[16], sel[2];
- OUT out[16];
-
- BUILTIN Mux4Way16;
-}
diff --git a/tools/builtInChips/Mux8Way16.class b/tools/builtInChips/Mux8Way16.class
deleted file mode 100644
index d8040ef..0000000
--- a/tools/builtInChips/Mux8Way16.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/Mux8Way16.hdl b/tools/builtInChips/Mux8Way16.hdl
deleted file mode 100644
index dc16861..0000000
--- a/tools/builtInChips/Mux8Way16.hdl
+++ /dev/null
@@ -1,24 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/Mux8Way16.hdl
-
-/**
- * 8-way 16-bit multiplexor.
- * out = a if sel == 000
- * b if sel == 001
- * etc.
- * h if sel == 111
- */
-
-
-CHIP Mux8Way16 {
-
- IN a[16], b[16], c[16], d[16],
- e[16], f[16], g[16], h[16],
- sel[3];
-
- OUT out[16];
-
- BUILTIN Mux8Way16;
-} \ No newline at end of file
diff --git a/tools/builtInChips/Nand.class b/tools/builtInChips/Nand.class
deleted file mode 100644
index 4b429ba..0000000
--- a/tools/builtInChips/Nand.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/Nand.hdl b/tools/builtInChips/Nand.hdl
deleted file mode 100644
index ae0204e..0000000
--- a/tools/builtInChips/Nand.hdl
+++ /dev/null
@@ -1,16 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/Nand.hdl
-
-/**
- * Nand gate: out = a Nand b.
- */
-
-CHIP Nand {
-
- IN a, b;
- OUT out;
-
- BUILTIN Nand;
-}
diff --git a/tools/builtInChips/Not.class b/tools/builtInChips/Not.class
deleted file mode 100644
index 4726b67..0000000
--- a/tools/builtInChips/Not.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/Not.hdl b/tools/builtInChips/Not.hdl
deleted file mode 100644
index 5b9d897..0000000
--- a/tools/builtInChips/Not.hdl
+++ /dev/null
@@ -1,16 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/Not.hdl
-
-/**
- * Not gate: out = not in
- */
-
-CHIP Not {
-
- IN in;
- OUT out;
-
- BUILTIN Not;
-} \ No newline at end of file
diff --git a/tools/builtInChips/Not16.class b/tools/builtInChips/Not16.class
deleted file mode 100644
index ff3e68f..0000000
--- a/tools/builtInChips/Not16.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/Not16.hdl b/tools/builtInChips/Not16.hdl
deleted file mode 100644
index c50dab9..0000000
--- a/tools/builtInChips/Not16.hdl
+++ /dev/null
@@ -1,16 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/Not16.hdl
-
-/**
- * 16-bit Not gate: for i = 0..15: out[i] = not in[i]
- */
-
-CHIP Not16 {
-
- IN in[16];
- OUT out[16];
-
- BUILTIN Not16;
-} \ No newline at end of file
diff --git a/tools/builtInChips/Or.class b/tools/builtInChips/Or.class
deleted file mode 100644
index a5b64f9..0000000
--- a/tools/builtInChips/Or.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/Or.hdl b/tools/builtInChips/Or.hdl
deleted file mode 100644
index 4a3f14b..0000000
--- a/tools/builtInChips/Or.hdl
+++ /dev/null
@@ -1,16 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/Or.hdl
-
-/**
- * Or gate: out = 1 if {a == 1 or b == 1}, 0 otherwise
- */
-
-CHIP Or {
-
- IN a, b;
- OUT out;
-
- BUILTIN Or;
-}
diff --git a/tools/builtInChips/Or16.hdl b/tools/builtInChips/Or16.hdl
deleted file mode 100644
index 6c124e8..0000000
--- a/tools/builtInChips/Or16.hdl
+++ /dev/null
@@ -1,16 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/Or16.hdl
-
-/**
- * 16-bit bitwise Or gate: for i = 0..15 out[i] = a[i] or b[i].
- */
-
-CHIP Or16 {
-
- IN a[16], b[16];
- OUT out[16];
-
- BUILTIN Or;
-}
diff --git a/tools/builtInChips/Or8Way.class b/tools/builtInChips/Or8Way.class
deleted file mode 100644
index 104804b..0000000
--- a/tools/builtInChips/Or8Way.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/Or8Way.hdl b/tools/builtInChips/Or8Way.hdl
deleted file mode 100644
index dccd61d..0000000
--- a/tools/builtInChips/Or8Way.hdl
+++ /dev/null
@@ -1,16 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/Or8Way.hdl
-
-/**
- * 8-way Or gate: out = in[0] or in[1] or ... or in[7].
- */
-
-CHIP Or8Way {
-
- IN in[8];
- OUT out;
-
- BUILTIN Or8Way;
-}
diff --git a/tools/builtInChips/PC.class b/tools/builtInChips/PC.class
deleted file mode 100644
index 1e6ada1..0000000
--- a/tools/builtInChips/PC.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/PC.hdl b/tools/builtInChips/PC.hdl
deleted file mode 100644
index f102d99..0000000
--- a/tools/builtInChips/PC.hdl
+++ /dev/null
@@ -1,22 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/PC.hdl
-
-/**
- * 16-bit counter with load and reset controls.
- *
- * If reset(t-1) then out(t) = 0
- * else if load(t-1) then out(t) = in(t-1)
- * else if inc(t-1) then out(t) = out(t-1) + 1 (integer addition)
- * else out(t) = out(t-1)
- */
-
-CHIP PC {
-
- IN in[16], load, inc, reset;
- OUT out[16];
-
- BUILTIN PC;
- CLOCKED in, load, inc, reset;
-}
diff --git a/tools/builtInChips/RAM.class b/tools/builtInChips/RAM.class
deleted file mode 100644
index e17050f..0000000
--- a/tools/builtInChips/RAM.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/RAM16K.class b/tools/builtInChips/RAM16K.class
deleted file mode 100644
index 2f1e3fe..0000000
--- a/tools/builtInChips/RAM16K.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/RAM16K.hdl b/tools/builtInChips/RAM16K.hdl
deleted file mode 100644
index 7031bf9..0000000
--- a/tools/builtInChips/RAM16K.hdl
+++ /dev/null
@@ -1,24 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/RAM16K.hdl
-
-/**
- * Memory of 16K registers, each 16-bit wide.
- * The chip facilitates read and write operations, as follows:
- * Read: out(t) = RAM16K[address(t)](t)
- * Write: If load(t-1) then RAM16K[address(t-1)](t) = in(t-1)
- * In words: the chip always outputs the value stored at the memory
- * location specified by address. If load=1, the in value is loaded
- * into the memory location specified by address. This value becomes
- * available through the out output starting from the next time step.
- */
-
-CHIP RAM16K {
-
- IN in[16], load, address[14];
- OUT out[16];
-
- BUILTIN RAM16K;
- CLOCKED in, load;
-}
diff --git a/tools/builtInChips/RAM4K.class b/tools/builtInChips/RAM4K.class
deleted file mode 100644
index 164ebf8..0000000
--- a/tools/builtInChips/RAM4K.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/RAM4K.hdl b/tools/builtInChips/RAM4K.hdl
deleted file mode 100644
index 8f1b211..0000000
--- a/tools/builtInChips/RAM4K.hdl
+++ /dev/null
@@ -1,24 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/RAM4K.hdl
-
-/**
- * Memory of 4K registers, each 16-bit wide.
- * The chip facilitates read and write operations, as follows:
- * Read: out(t) = RAM4K[address(t)](t)
- * Write: If load(t-1) then RAM4K[address(t-1)](t) = in(t-1)
- * In words: the chip always outputs the value stored at the memory
- * location specified by address. If load == 1, the in value is loaded
- * into the memory location specified by address. This value becomes
- * available through the out output starting from the next time step.
- */
-
-CHIP RAM4K {
-
- IN in[16], load, address[12];
- OUT out[16];
-
- BUILTIN RAM4K;
- CLOCKED in, load;
-}
diff --git a/tools/builtInChips/RAM512.class b/tools/builtInChips/RAM512.class
deleted file mode 100644
index 69bff7a..0000000
--- a/tools/builtInChips/RAM512.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/RAM512.hdl b/tools/builtInChips/RAM512.hdl
deleted file mode 100644
index 2a2f433..0000000
--- a/tools/builtInChips/RAM512.hdl
+++ /dev/null
@@ -1,24 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/RAM512.hdl
-
-/**
- * Memory of 512 registers, each 16-bit wide.
- * The chip facilitates read and write operations, as follows:
- * Read: out(t) = RAM512[address(t)](t)
- * Write: If load(t-1) then RAM512[address(t-1)](t) = in(t-1)
- * In words: the chip always outputs the value stored at the memory
- * location specified by address. If load == 1, the in value is loaded
- * into the memory location specified by address. This value becomes
- * available through the out output starting from the next time step.
- */
-
-CHIP RAM512 {
-
- IN in[16], load, address[9];
- OUT out[16];
-
- BUILTIN RAM512;
- CLOCKED in, load;
-}
diff --git a/tools/builtInChips/RAM64.class b/tools/builtInChips/RAM64.class
deleted file mode 100644
index a1fe78a..0000000
--- a/tools/builtInChips/RAM64.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/RAM64.hdl b/tools/builtInChips/RAM64.hdl
deleted file mode 100644
index 6f32f47..0000000
--- a/tools/builtInChips/RAM64.hdl
+++ /dev/null
@@ -1,24 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/RAM64.hdl
-
-/**
- * Memory of 64 registers, each 16-bit wide.
- * The chip facilitates read and write operations, as follows:
- * Read: out(t) = RAM64[address(t)](t)
- * Write: If load(t-1) then RAM64[address(t-1)](t) = in(t-1)
- * In words: the chip always outputs the value stored at the memory
- * location specified by address. If load == 1, the in value is loaded
- * into the memory location specified by address. This value becomes
- * available through the out output starting from the next time step.
- */
-
-CHIP RAM64 {
-
- IN in[16], load, address[6];
- OUT out[16];
-
- BUILTIN RAM64;
- CLOCKED in, load;
-}
diff --git a/tools/builtInChips/RAM8.class b/tools/builtInChips/RAM8.class
deleted file mode 100644
index 88f106e..0000000
--- a/tools/builtInChips/RAM8.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/RAM8.hdl b/tools/builtInChips/RAM8.hdl
deleted file mode 100644
index c08d62c..0000000
--- a/tools/builtInChips/RAM8.hdl
+++ /dev/null
@@ -1,24 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/RAM8.hdl
-
-/**
- * Memory of 8 registers, each 16-bit wide.
- * The chip facilitates read and write operations, as follows:
- * Read: out(t) = RAM8[address(t)](t)
- * Write: If load(t-1) then RAM8[address(t-1)](t) = in(t-1)
- * In words: the chip always outputs the value stored at the memory
- * location specified by address. If load == 1, the in value is loaded
- * into the memory location specified by address. This value becomes
- * available through the out output starting from the next time step.
- */
-
-CHIP RAM8 {
-
- IN in[16], load, address[3];
- OUT out[16];
-
- BUILTIN RAM8;
- CLOCKED in, load;
-}
diff --git a/tools/builtInChips/ROM32K.class b/tools/builtInChips/ROM32K.class
deleted file mode 100644
index c4320d8..0000000
--- a/tools/builtInChips/ROM32K.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/ROM32K.hdl b/tools/builtInChips/ROM32K.hdl
deleted file mode 100644
index 929f824..0000000
--- a/tools/builtInChips/ROM32K.hdl
+++ /dev/null
@@ -1,30 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/ROM32K.hdl
-
-/**
- * Read-Only memory (ROM) of 16K registers, each 16-bit wide.
- * The chip is designed to facilitate data read, as follows:
- * out(t) = ROM32K[address(t)](t)
- * In words: the chip always outputs the value stored at the
- * memory location specified by address.
- *
- * The built-in chip implementation has a GUI side-effect,
- * showing an array-like component that displays the ROM's
- * contents. The ROM32K chip is supposed to be pre-loaded with
- * a machine language program. To that end, the built-in chip
- * implementation also knows how to handle the "ROM32K load Xxx"
- * script command, where Xxx is the name of a text file containing
- * a program written in the Hack machine language. When the
- * simulator encounters such a command in a test script, the code
- * found in the file is loaded into the simulated ROM32K unit.
- */
-
-CHIP ROM32K {
-
- IN address[15];
- OUT out[16];
-
- BUILTIN ROM32K;
-}
diff --git a/tools/builtInChips/Register.class b/tools/builtInChips/Register.class
deleted file mode 100644
index 3958fcd..0000000
--- a/tools/builtInChips/Register.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/Register.hdl b/tools/builtInChips/Register.hdl
deleted file mode 100644
index 3b81e46..0000000
--- a/tools/builtInChips/Register.hdl
+++ /dev/null
@@ -1,19 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/Register.hdl
-
-/**
- * 16-Bit register.
- * If load[t-1]=1 then out[t] = in[t-1]
- * else out does not change (out[t] = out[t-1])
- */
-
-CHIP Register {
-
- IN in[16], load;
- OUT out[16];
-
- BUILTIN Register;
- CLOCKED in, load;
-}
diff --git a/tools/builtInChips/RegisterWithGUI.class b/tools/builtInChips/RegisterWithGUI.class
deleted file mode 100644
index c80208c..0000000
--- a/tools/builtInChips/RegisterWithGUI.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/Screen.class b/tools/builtInChips/Screen.class
deleted file mode 100644
index 100ed03..0000000
--- a/tools/builtInChips/Screen.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/Screen.hdl b/tools/builtInChips/Screen.hdl
deleted file mode 100644
index 5e7837b..0000000
--- a/tools/builtInChips/Screen.hdl
+++ /dev/null
@@ -1,35 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/Screen.hdl
-
-/**
- * The Screen (memory map).
- * Functions exactly like a 16-bit 8K RAM:
- * 1. out(t)=Screen[address(t)](t)
- * 2. If load(t-1) then Screen[address(t-1)](t)=in(t-1)
- *
- * The built-in chip implementation has the side effect of continuously
- * refreshing a visual 256 by 512 black-and-white screen, simulated
- * by the simulator. Each row in the visual screen is represented
- * by 32 consecutive 16-bit words, starting at the top left corner
- * of the visual screen. Thus the pixel at row r from the top and
- * column c from the left (0<=r<=255, 0<=c<=511) reflects the c%16
- * bit (counting from LSB to MSB) of the word found in
- * Screen[r*32+c/16].
- */
-
-CHIP Screen {
-
- IN in[16], // what to write
- load, // write-enable bit
- address[13]; // where to read/write
- OUT out[16]; // Screen value at the given address
-
- BUILTIN Screen;
- CLOCKED in, load;
-}
-
-
-
- \ No newline at end of file
diff --git a/tools/builtInChips/Xor.class b/tools/builtInChips/Xor.class
deleted file mode 100644
index d99ad18..0000000
--- a/tools/builtInChips/Xor.class
+++ /dev/null
Binary files differ
diff --git a/tools/builtInChips/Xor.hdl b/tools/builtInChips/Xor.hdl
deleted file mode 100644
index 8452d73..0000000
--- a/tools/builtInChips/Xor.hdl
+++ /dev/null
@@ -1,16 +0,0 @@
-// This file is part of www.nand2tetris.org
-// and the book "The Elements of Computing Systems"
-// by Nisan and Schocken, MIT Press.
-// File name: tools/builtIn/Xor.hdl
-
-/**
- * Exclusive-or gate: out = !(a == b).
- */
-
-CHIP Xor {
-
- IN a, b;
- OUT out;
-
- BUILTIN Xor;
-}