Homework
The homework assignments provide an opportunity to more deeply apply the course concepts than the labs. For these, we make full-fledged Chisel projects using sbt. Embracing the course theme of closing the loop early, some generators are developed over multiple assignments. We make functioning systems early, and then we revise them to add more functionality while leveraging more advanced concepts. Students in the course will submitting the homework through Gradescope (instructions).
The assignment descriptions and starter code are publicly available (links below)
| HW | Due | Topics | Example Problems |
|---|---|---|---|
| 1 | 4/11 | intro Scala/Chisel | complex number adder/subtractor, polynomial evaluator |
| 2 | 4/18 | sequential circuits, FSMs | complex number adder/subtractor (rev), polynomial evaluator (rev), sine wave generator, XOR cipher |
| 3 | 4/25 | iterative parameterization, decoupling, arbitration | XOR Cipher (rev), Conway’s game of life |
| 4 | 5/2 | functional (programming) generation | matrix multiplication (new + rev) |
| 5 | 5/9 | parameterization, inheritance | (cpu) cache |