Implement all the chips described in ECS chapter 2. The only building blocks that you can use are the chips mentioned in Project 1 and the chips that you will gradually build in this project.
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:
Add, commit and push the new files.
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 1. 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 |
When your HDL programs invoke chips that you may have built in Project 1, 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.
I must be able to pull your repo at midnight on Monday, January 30 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 "project 2 done" is not acceptable.