Lab 0: Getting Started with Chisel
This assignment is designed to get you familar with chisel before
completeing the first lab.
The text of the assignment is in this document.
The red headers in the document show you which portions require you
to complete something.
Errata
There have been some changes to the tutorial repository since the document was last generated.
Here are a couple things that have changed:
-
In section 2.1.3, the guide states that you should change directory into $DIR/examples/verilog and to run make GCD.v
Instead, stay in $DIR/examples and run make GCD.v. The output file is actually located at $DIR/generated/examples/GCD.v.
-
In section 4.2.1, the registers need an initial value. This can be accomplished by replacing the declaration with val delays = Reg(init = Vec(4, UInt(0, width = 8)))
-
In section 7.4.1, the depth parameter is no longer depth and is now n.
-
In section 8.4, it should read "This next assignment is to create a vector shift register ..."
Instructional Machine Setup
In order to also use this lab to help get you ready for the first lab
we request that you complete this assignment on the instructional
computers.
You can see some setup instructions for using the instructional machines here.
Please make sure to fill out this survey after completing the machine setup.
Scala Info
If you need to learn some things about scala there is a quick getting
started guide used in past chisel bootcamps here.
There are plenty of tutorials on-line for learning scala as well including several moocs
basic and advanced.
Submission
For the chisel assignment we will not be using the github submission yet. Instead we will use the normal icluster submission system.
You can find info about that system here
I believe the only commands you will need to run are
register
Filling out the information correctly
Then you can build your assignment and submit it like so
cd chisel-tutorial/problems
rm *.out
make getting-started
submit lab0
This will look for the results of each exercise as well as a README that you should write including your name, approximately how long you spent on the assignment, and any additional comments on the assignment.
You can submit multiple times, and I will be able to see each of them but will only grade the latest before the deadline.
If you have any questions feel free to post them on piazza.