This repository contains my implementation of the Hack computer hardware as part of the Nand2Tetris course. The project covers the construction of a complete computer system from the ground up, starting from basic logic gates to the development of a full-fledged computer capable of running simple programs.
The Nand2Tetris course (officially known as "The Elements of Computing Systems") guides learners through the process of building a modern computer system from first principles. This repository includes my solutions and implementations for the various modules and components of the Hack computer.
- Hardware Description Language (HDL) files: Implementation of logic gates, the ALU, and the CPU using HDL.
- Test Scripts: Scripts to test the functionality of each component and the overall system.
- Projects: Organized by chapters, reflecting the progressive development of the computer.
- Documentation: Detailed explanations and notes on the design and implementation choices made during the project.
- NAND
- AND
- OR
- NOT
- XOR
- MUX
- DMUX
- Half Adder
- Full Adder
- ALU
- Flip-flops
- Registers
- RAM
- Program Counter (PC)
- Complete implementation of the Hack CPU.
- Integration of the CPU, memory, and input/output devices to form a complete computer system.
This project is based on the Nand2Tetris course by Noam Nisan and Shimon Schocken. The course materials and book, "The Elements of Computing Systems," provide the theoretical and practical foundation for this project.