Workshop In Computer Construction - From Nand to Tetris
Project 5 - Computer Architecture
Deadline Match 14th, 2003 at Ross closing time
Description Build the following gates, using solely elementary NAND gates and previously-built gates:
Chip (HDL) Function Test Scripts Compare Files
CPU
Memory
Computer
Central Processig Unit
Complete memory unit
Complete computer (CPU, RAM,ROM, and I/O units)
CPU.tst
Memory.tst
See below
CPU.cmp
Memory.cmp
See below

Each chip in this project is specified by a skeletal *.hdl program with a missing implementation part. In addition, each chip is accompanied by a supplied *.tst script file that tells the hardware simulator how to test it, and a supplied *.cmp file that lists the expected output of the *.hdl program, as mandated by the *.tst script file. All these files are available in a single zip file, which you should download to your computer (explained below).

To test your implementation of the top-most Computer chip, have it to run the following programs:
Program (hack) Description Test Scripts Compare Files
Add.hack

Max.hack

Rect.hack

Adds the two constants 2 and 3
and writes the result in RAM[0].
Computes the maximum of RAM[0] and
RAM[1] and writes the result in RAM[2].
Draws a rectangle of width 16 pixels and
length RAM[0] at the top left of the screen.
ComputerAdd.tst

ComputerMax.tst

ComputerRect.tst

ComputerAdd.cmp

ComputerAdd.cmp

ComputerRect.cmp

The task: When loaded into the hardware simulator, your chip design (*.hdl program modified by you), tested on the script specified in the supplied *.tst file, should deliver the behavior specified in the supplied *.cmp file. If that is not the case, the simulator will let you know.

Submission Submit a tar file contains all your *.hdl files and a README file.
Resources