Skip to content
This repository has been archived by the owner on Sep 19, 2021. It is now read-only.

zychosen/nand2tetris

Repository files navigation

Building a computer

This is the implementation of a computer starting from NAND gates as part of the nand2tetris course.

Hardware hierarchy

  • Project 1: Boolean Logic (logic gates, mux, demux etc.)
  • Project 2: Boolean Arithmetic (ALU, Adders etc.)
  • Project 3: Sequential Logic (Registers, counters etc.)
  • Project 4: Machine Language (Assembly language)
  • Project 5: Computer Architecture (CPU, Memory)
  • Project 6: Assembler (Assembly to machine code (binary))

Software hierarchy

  • Project 7: Virtual Machine implementation (Stack Arithmetic translator)
  • Project 8: Virtual Machine implementation (Full VM translator)
    • Translator 1: Implementation without command comments
    • Translator 2: Implementation with command comments (useful for debugging)