Operating System Design :: Projects :: Combinatorial Chips
Problem
The files for this project are in the projects directory under 02 when you downloaded the Hardware Simulator software. For efficiency's sake you should use the built in chips and not the chips you built for the first project.
As usual, we propose building the chips in the order listed below. The Hack ALU produces two kinds of outputs: a "main" 16-bit output resulting from operating on the two 16-bit inputs, and two 1-bit "status outputs" named 'zr' and 'ng'. We recommend building this functionality in two stages. In stage one, implement an ALU that computes and outputs the 16-bit output only, ignoring the 'zr' and 'ng' status outputs. Once you get this implementation right (that is, once your ALU.hdl code passes the ALU-nostat test), extend your code to handle the two status outputs as well. This way, any problems detected by ALU.tst can be attributed to the incremental code that you've added in stage two. We thank Mark Armbrust for proposing this staged implementation plan and for supplying the test files to support it.
- Half Adder
- Full Adder
- 16-bit Adder
- 16-bit Incrementer
- ALU (Without Status Outputs)
- ALU (Complete)
Instructions
- Modify the .hdl file for each chip to the specifications you want.
- Run the .tst script to test your chip design.
- If the output of your chip matches the output in the .cmp file the Hardware Simulator will let you know.
- Turn in your complete .hdl files to Google Drive when you're done.