From d3a0cc3a8ba6dfeb64d3faeffdeb6845b60e5840 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Sat, 20 Jan 2018 15:41:49 +0100 Subject: rearranged the dir for github - removed tools and pdfs - rearranged the projects dirs - added md files - other minor changes --- tools/builtInChips/ALU.class | Bin 1754 -> 0 bytes tools/builtInChips/ALU.hdl | 55 ------------------------------- tools/builtInChips/ARegister.class | Bin 337 -> 0 bytes tools/builtInChips/ARegister.hdl | 24 -------------- tools/builtInChips/Add16.class | Bin 343 -> 0 bytes tools/builtInChips/Add16.hdl | 18 ---------- tools/builtInChips/And.class | Bin 341 -> 0 bytes tools/builtInChips/And.hdl | 16 --------- tools/builtInChips/And16.hdl | 17 ---------- tools/builtInChips/Bit.class | Bin 416 -> 0 bytes tools/builtInChips/Bit.hdl | 19 ----------- tools/builtInChips/DFF.class | Bin 401 -> 0 bytes tools/builtInChips/DFF.hdl | 18 ---------- tools/builtInChips/DMux.class | Bin 365 -> 0 bytes tools/builtInChips/DMux.hdl | 20 ----------- tools/builtInChips/DMux4Way.class | Bin 408 -> 0 bytes tools/builtInChips/DMux4Way.hdl | 22 ------------- tools/builtInChips/DMux8Way.class | Bin 488 -> 0 bytes tools/builtInChips/DMux8Way.hdl | 22 ------------- tools/builtInChips/DRegister.class | Bin 339 -> 0 bytes tools/builtInChips/DRegister.hdl | 24 -------------- tools/builtInChips/FullAdder.class | Bin 380 -> 0 bytes tools/builtInChips/FullAdder.hdl | 19 ----------- tools/builtInChips/HalfAdder.class | Bin 360 -> 0 bytes tools/builtInChips/HalfAdder.hdl | 18 ---------- tools/builtInChips/Inc16.class | Bin 333 -> 0 bytes tools/builtInChips/Inc16.hdl | 18 ---------- tools/builtInChips/Keyboard.class | Bin 1709 -> 0 bytes tools/builtInChips/Keyboard.hdl | 23 ------------- tools/builtInChips/Mux.class | Bin 356 -> 0 bytes tools/builtInChips/Mux.hdl | 16 --------- tools/builtInChips/Mux16.hdl | 16 --------- tools/builtInChips/Mux4Way16.class | Bin 435 -> 0 bytes tools/builtInChips/Mux4Way16.hdl | 21 ------------ tools/builtInChips/Mux8Way16.class | Bin 527 -> 0 bytes tools/builtInChips/Mux8Way16.hdl | 24 -------------- tools/builtInChips/Nand.class | Bin 344 -> 0 bytes tools/builtInChips/Nand.hdl | 16 --------- tools/builtInChips/Not.class | Bin 331 -> 0 bytes tools/builtInChips/Not.hdl | 16 --------- tools/builtInChips/Not16.class | Bin 327 -> 0 bytes tools/builtInChips/Not16.hdl | 16 --------- tools/builtInChips/Or.class | Bin 340 -> 0 bytes tools/builtInChips/Or.hdl | 16 --------- tools/builtInChips/Or16.hdl | 16 --------- tools/builtInChips/Or8Way.class | Bin 340 -> 0 bytes tools/builtInChips/Or8Way.hdl | 16 --------- tools/builtInChips/PC.class | Bin 1899 -> 0 bytes tools/builtInChips/PC.hdl | 22 ------------- tools/builtInChips/RAM.class | Bin 1928 -> 0 bytes tools/builtInChips/RAM16K.class | Bin 390 -> 0 bytes tools/builtInChips/RAM16K.hdl | 24 -------------- tools/builtInChips/RAM4K.class | Bin 309 -> 0 bytes tools/builtInChips/RAM4K.hdl | 24 -------------- tools/builtInChips/RAM512.class | Bin 311 -> 0 bytes tools/builtInChips/RAM512.hdl | 24 -------------- tools/builtInChips/RAM64.class | Bin 308 -> 0 bytes tools/builtInChips/RAM64.hdl | 24 -------------- tools/builtInChips/RAM8.class | Bin 306 -> 0 bytes tools/builtInChips/RAM8.hdl | 24 -------------- tools/builtInChips/ROM32K.class | Bin 3469 -> 0 bytes tools/builtInChips/ROM32K.hdl | 30 ----------------- tools/builtInChips/Register.class | Bin 423 -> 0 bytes tools/builtInChips/Register.hdl | 19 ----------- tools/builtInChips/RegisterWithGUI.class | Bin 1769 -> 0 bytes tools/builtInChips/Screen.class | Bin 1322 -> 0 bytes tools/builtInChips/Screen.hdl | 35 -------------------- tools/builtInChips/Xor.class | Bin 341 -> 0 bytes tools/builtInChips/Xor.hdl | 16 --------- 69 files changed, 748 deletions(-) delete mode 100644 tools/builtInChips/ALU.class delete mode 100644 tools/builtInChips/ALU.hdl delete mode 100644 tools/builtInChips/ARegister.class delete mode 100644 tools/builtInChips/ARegister.hdl delete mode 100644 tools/builtInChips/Add16.class delete mode 100644 tools/builtInChips/Add16.hdl delete mode 100644 tools/builtInChips/And.class delete mode 100644 tools/builtInChips/And.hdl delete mode 100644 tools/builtInChips/And16.hdl delete mode 100644 tools/builtInChips/Bit.class delete mode 100644 tools/builtInChips/Bit.hdl delete mode 100644 tools/builtInChips/DFF.class delete mode 100644 tools/builtInChips/DFF.hdl delete mode 100644 tools/builtInChips/DMux.class delete mode 100644 tools/builtInChips/DMux.hdl delete mode 100644 tools/builtInChips/DMux4Way.class delete mode 100644 tools/builtInChips/DMux4Way.hdl delete mode 100644 tools/builtInChips/DMux8Way.class delete mode 100644 tools/builtInChips/DMux8Way.hdl delete mode 100644 tools/builtInChips/DRegister.class delete mode 100644 tools/builtInChips/DRegister.hdl delete mode 100644 tools/builtInChips/FullAdder.class delete mode 100644 tools/builtInChips/FullAdder.hdl delete mode 100644 tools/builtInChips/HalfAdder.class delete mode 100644 tools/builtInChips/HalfAdder.hdl delete mode 100644 tools/builtInChips/Inc16.class delete mode 100644 tools/builtInChips/Inc16.hdl delete mode 100644 tools/builtInChips/Keyboard.class delete mode 100644 tools/builtInChips/Keyboard.hdl delete mode 100644 tools/builtInChips/Mux.class delete mode 100644 tools/builtInChips/Mux.hdl delete mode 100644 tools/builtInChips/Mux16.hdl delete mode 100644 tools/builtInChips/Mux4Way16.class delete mode 100644 tools/builtInChips/Mux4Way16.hdl delete mode 100644 tools/builtInChips/Mux8Way16.class delete mode 100644 tools/builtInChips/Mux8Way16.hdl delete mode 100644 tools/builtInChips/Nand.class delete mode 100644 tools/builtInChips/Nand.hdl delete mode 100644 tools/builtInChips/Not.class delete mode 100644 tools/builtInChips/Not.hdl delete mode 100644 tools/builtInChips/Not16.class delete mode 100644 tools/builtInChips/Not16.hdl delete mode 100644 tools/builtInChips/Or.class delete mode 100644 tools/builtInChips/Or.hdl delete mode 100644 tools/builtInChips/Or16.hdl delete mode 100644 tools/builtInChips/Or8Way.class delete mode 100644 tools/builtInChips/Or8Way.hdl delete mode 100644 tools/builtInChips/PC.class delete mode 100644 tools/builtInChips/PC.hdl delete mode 100644 tools/builtInChips/RAM.class delete mode 100644 tools/builtInChips/RAM16K.class delete mode 100644 tools/builtInChips/RAM16K.hdl delete mode 100644 tools/builtInChips/RAM4K.class delete mode 100644 tools/builtInChips/RAM4K.hdl delete mode 100644 tools/builtInChips/RAM512.class delete mode 100644 tools/builtInChips/RAM512.hdl delete mode 100644 tools/builtInChips/RAM64.class delete mode 100644 tools/builtInChips/RAM64.hdl delete mode 100644 tools/builtInChips/RAM8.class delete mode 100644 tools/builtInChips/RAM8.hdl delete mode 100644 tools/builtInChips/ROM32K.class delete mode 100644 tools/builtInChips/ROM32K.hdl delete mode 100644 tools/builtInChips/Register.class delete mode 100644 tools/builtInChips/Register.hdl delete mode 100644 tools/builtInChips/RegisterWithGUI.class delete mode 100644 tools/builtInChips/Screen.class delete mode 100644 tools/builtInChips/Screen.hdl delete mode 100644 tools/builtInChips/Xor.class delete mode 100644 tools/builtInChips/Xor.hdl (limited to 'tools/builtInChips') diff --git a/tools/builtInChips/ALU.class b/tools/builtInChips/ALU.class deleted file mode 100644 index 03f95dc..0000000 Binary files a/tools/builtInChips/ALU.class and /dev/null 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 Binary files a/tools/builtInChips/ARegister.class and /dev/null 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 Binary files a/tools/builtInChips/Add16.class and /dev/null 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 Binary files a/tools/builtInChips/And.class and /dev/null 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 Binary files a/tools/builtInChips/Bit.class and /dev/null 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 Binary files a/tools/builtInChips/DFF.class and /dev/null 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 Binary files a/tools/builtInChips/DMux.class and /dev/null 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 Binary files a/tools/builtInChips/DMux4Way.class and /dev/null 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 Binary files a/tools/builtInChips/DMux8Way.class and /dev/null 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 Binary files a/tools/builtInChips/DRegister.class and /dev/null 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 Binary files a/tools/builtInChips/FullAdder.class and /dev/null 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 Binary files a/tools/builtInChips/HalfAdder.class and /dev/null 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 Binary files a/tools/builtInChips/Inc16.class and /dev/null 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 Binary files a/tools/builtInChips/Keyboard.class and /dev/null 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 Binary files a/tools/builtInChips/Mux.class and /dev/null 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 Binary files a/tools/builtInChips/Mux4Way16.class and /dev/null 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 Binary files a/tools/builtInChips/Mux8Way16.class and /dev/null 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 Binary files a/tools/builtInChips/Nand.class and /dev/null 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 Binary files a/tools/builtInChips/Not.class and /dev/null 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 Binary files a/tools/builtInChips/Not16.class and /dev/null 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 Binary files a/tools/builtInChips/Or.class and /dev/null 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 Binary files a/tools/builtInChips/Or8Way.class and /dev/null 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 Binary files a/tools/builtInChips/PC.class and /dev/null 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 Binary files a/tools/builtInChips/RAM.class and /dev/null differ diff --git a/tools/builtInChips/RAM16K.class b/tools/builtInChips/RAM16K.class deleted file mode 100644 index 2f1e3fe..0000000 Binary files a/tools/builtInChips/RAM16K.class and /dev/null 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 Binary files a/tools/builtInChips/RAM4K.class and /dev/null 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 Binary files a/tools/builtInChips/RAM512.class and /dev/null 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 Binary files a/tools/builtInChips/RAM64.class and /dev/null 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 Binary files a/tools/builtInChips/RAM8.class and /dev/null 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 Binary files a/tools/builtInChips/ROM32K.class and /dev/null 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 Binary files a/tools/builtInChips/Register.class and /dev/null 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 Binary files a/tools/builtInChips/RegisterWithGUI.class and /dev/null differ diff --git a/tools/builtInChips/Screen.class b/tools/builtInChips/Screen.class deleted file mode 100644 index 100ed03..0000000 Binary files a/tools/builtInChips/Screen.class and /dev/null 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 Binary files a/tools/builtInChips/Xor.class and /dev/null 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; -} -- cgit v1.2.3