Workshop In Computer Construction - From Nand to Tetris
Project 1 - Boolean Logic
Deadline February 24th, 2003 at midnight
Description Build the following gates, using solely elementary NAND gates and previously-built gates:
Chip (HDL) Function Test Scripts Compare Files
Not
And
Or
Xor
Not16
And16
Or16
Or8Way
Mux
Mux16
Mux4Way16
Mux8Way16
DMux
DMux4Way
DMux8Way
Not gate
And gate
Or gate
Xor gate
16-bit not gate
16-bit and gate
16-bit or gate
Or(in0,in1,...,in7) gate
1-bit multiplexor
16-bit / 2-inputs multiplexor
16-bit / 4-inputs multiplexor
16-bit / 8-inputs multiplexor
1-bit demultiplexor
4-outputs demultiplexor
8-outputs demultiplexor
Not.tst
And.tst
Or.tst
Xor.tst
Not16.tst
And16.tst
Or16.tst
Or8Way.tst
Mux.tst
Mux16.tst
Mux4Way16.tst
Mux8Way16.tst
DMux.tst
DMux4Way.tst
DMux8Way.tst
Not.cmp
And.cmp
Or.cmp
Xor.cmp
Not16.cmp
And16.cmp
Or16.cmp
Or8Way.cmp
Mux.cmp
Mux16.cmp
Mux4Way16.cmp
Mux8Way16.cmp
DMux.cmp
DMux4Way.cmp
DMux8Way.cmp

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).

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