nand2tetris

Building a Modern Computer from first principle

The four projects that construct the computer platform are built using a simple Hardware Description Language (HDL) and simulated on a hardware simulator supplied with the book.

Five of the subsequent software projects (assembler, virtual machine I and II, and compiler I and II) can be written in any modern programming language. The remaining three projects (low-level programming, high-level programming, and the operating system) are written in the assembly language and high-level language implemented in previous projects.


Project 6 - Assembler

Assembler implemented using C++. Able translate HACK Assembly dialect to HACK Binary format.


Project 5 - Computer Architecture

HDL Implementation of Memory, CPU and Computer chips.


Project 4 - Machine Language

HACK Assembly implementation of Fill and Mult procs.


Project 3 - Sequential Logic

HDL Implementation of Bit, Register, ProgramCounter and RAM(up to 16K) chips.


Project 2 - Boolean Arithmetic

HDL Implementation of Basic ALU module iclude Adder and Inc chips.


Project 1 - Boolean Logic

Basic Logical operations for single and 16 bits. (And, Not, Or, XOR, Mux/DMux).