Skip to content

ashish-manglani/Nand2Tetris

Repository files navigation

Project- Hack Computer and Assembler

Project Details

This project is the fruitful result of completing the 6 week long Nand2tetris course offered by Nand2tetris.org along with the book "The Elements of Computing System".

1. Logic Gates

Using HDL and Hardware Simulater provide by Nand2tertris.org to build elementary
logic gates like And, Or, Not, Multiplexor,etc. starting from Nand gate only.

2. Boolean Aritmetic Chips

Using the previously built logic chips to create new chips that can perform mathematical
operations like, adding two 16-bit integers. Fusing the new and previously built
chips to build the ALU for our HACK computer.

3. Memory Chips

Using D Flip Flop (DFF) and previously built chips to create a Register that can store 1-bit data.
Combining these Registers in an ordered way to create bigger memory chips and finally combining these
memory chips to build Random Access Memory (RAM) of our HACK computer.

Using previously built increment chip and the register to create a Program Counter (PC)
that will help us to get the address of the next instruction to be processed

4. Machine Language Programing

Using Hack assembly language and CPU emulator to build low-level programs to multiply two integers
and to handel the input output devices namely, screen and keyboard

5. Computer Architecture

Using the previously built chips to build the Central Processing Unit (CPU) (hardest part of the project)
and finally fusing the ROM, RAM and the CPU to get our working HACK computer.

6. Assembler

Using a High-level language (C++ in my case), to build a program that translates the code
wriiten in Hack assembly language to Hack machine language.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published