NAND TO TETRIS NOTES
The aim of this course is to build a computer from scratch.
This course is divided in two parts, first part consists of hardware and second part consists of software.

Downloads for the course
Week 1:
1.1: Boolean Logic
- Learned about different gate operations, their truth tables and minimization.
1.2: Boolean functions synthesis
- Truth table to expression computation.
- Every computation can be done using just NAND gates.
1.3: Logic Gates
1.4: HDL
- Basics of HDL.
- HDL code is a static representation of gate diagram.
1.5: Hardware Simulation
- Brief description and demo of a software made by nand2tetris, for RTL simulation.
- Own HDL language is used for simulation here.
1.6: Multi-bit Buses
1.7: Project 1 Overview
- Implemented various elementary gates and multibit bus gates using NAND.
Week 2:
- Mathematics of boolean algebra
- Made a Arithmetic logic unit on EDA playground
- ALU verilog code
Week 3:
3.1: Sequential logic:
- When inputs change we need to take in account the time, hence clocks are used in changing input system.
- Combinational: Out[t]=input[t]
- Sequential: Out[t]=input[t-1]
3.2: Flip-flops:
- D flip-flop records the input of previous clock stage in current output state.
- Basically, D flipflop remembers the previous stage.