Questo repository contiene i progetti del corso Nand2Tetris, sviluppati per un percorso universitario.
L’obiettivo del corso è costruire un computer completo dall’elettronica di base fino all’esecuzione di programmi Assembly, partendo da semplici porte logiche e arrivando alla CPU e alla memoria funzionante.
| Progetto | Contenuto principale | Componenti principali |
|---|---|---|
| Progetto 1 | Circuiti logici di base | NOT, AND, OR, XOR, And16, Not16, Or8Way, Or16, MUX, DMUX |
| Progetto 2 | Aritmetica e ALU | HalfAdder, FullAdder, Add16, Inc16, ALU |
| Progetto 3 | Memoria e registri | Bit, Register, PC (Program Counter), RAM8, RAM512, RAM4K, RAM16K |
| Progetto 4 | Programmazione Assembly | Fill.asm, Mult.asm |
| Progetto 5 | Computer completo | CPU, Memory, Computer (integrazione di CPU e memoria) |
- Tutti i circuiti hardware sono testabili con il Hardware Simulator incluso in Nand2Tetris.
- I programmi Assembly e il computer completo possono essere eseguiti nel CPU e Computer Emulator.
- Ogni progetto contiene i file di test (
.tst) corrispondenti per verificare il corretto funzionamento dei componenti, ottenibili dal sito ufficiale