Project 6 (ecs02)

Jan 24, 2011

Objective

Implement all the chips described in ECS chapter 2. The only building blocks that you can use are the chips mentioned in project 3 (ecs01) and the chips that you will gradually build in this project.

Requirements

Read ECS chapter 2.

Within your src directory, create a subdir named project02. Extract the contents of project02.zip into it.

Your file structure should now look like:

[DIR_OF_YOUR_CHOICE]/
  cs498/
    src/
      project00/
      project01/
      project02/
    tecs-software-suite-2.5/

Add, commit and push the new files.

cd src/project02
git add *
git commit -m "Adding project02 files. Whaahaaah!"
git push

Again, be sure to commit often. I usually commit one time per each .hdl once I know it's passing my tests. Once you're done with the entire project, push.

Boilerplate .hdl files have been provided for you just like they were in Project 6. Follow a similar workflow.

Chip (HDL)

Function

Test script

Compare file

HalfAdder Half Adder HalfAdder.tst HalfAdder.cmp
FullAdder Full Adder FullAdder.tst FullAdder.cmp
Add16 16-bit Adder Add16.tst Add16.cmp
Inc16 16-bit Incrementer Inc16.tst Inc16.cmp
ALU Arithmetic-Logic Unit ALU.tst ALU.cmp

TIPS

When your HDL programs invoke chips that you may have built in Project 6, it is recommended to use the built-in versions of these chips instead. This will ensure correctness and speed up the operation of the hardware simulator. There is a simple way to accomplish this convention: make sure that your project directory includes only the .hdl files that belong to the present project.

Grading Criteria (300 pts)

I must be able to pull your repo at 5PM on Monday, January 31 and I should see your project02 files.

Your directory structure must match the description above.

Your chips must pass all tests to receive full credit.

Your repository must show a history of work. You should be committing every time you complete a chip. A repository log showing one commit with a message like "project03 done" is not acceptable.

This is due by 5PM on Monday, January 31.