These are the projects I implement as my project solutions for the Nand2Tetris online course. In this course, the projects involved implementing a 16-bit computer (almost) from scratch -- first the hardware, followed by the hardware. Please read below for details of all the projects (computer hardware/software) implemented:
Week |
Hardware Chips |
Details |
1 |
And, And16, Not, Not16, Or, Or8Way, Or16, DMux, DMux4Way, DMux8Way, Mux, Mux16, Mux4Way16, Mux8Way16, Xor |
Implemented 1-bit and 16-bit version of logic gates, multiplexer and demultiplexer |
2 |
Inc16, Add16, HalfAdder, FullAdder, ALU |
Implemented 16-bit arithmetic chips, Half and Full Adder as well as Arithmetic Logic Unit (ALU) |
3 |
Bit, Register, PC, RAM8, RAM8, RAM64 |
Implemented 1-bit and 16-bit register, Program Counter, different sizes of RAM (8, 64, 512, 4K, 16K each of 16-bit registers) |
5 |
Memory, CPU, Computer |
Impletemented memory (RAM+Screen+Keyboard), CPU based on Harvard architecture with fetch-execute cycles based on 16-bit instruction, control and memory bus, Computer (using memory, CPU and built-in ROM) |
Week |
Software |
Details |
4 |
Fill, Mult |
Wrote assembly programs which (1) Fills screen based on keyboard input and (2) Multiplies two numbers and stores the results in RAM |
6 |
|
|