Homework EC
Extra Credit! [ Optional ]
This extra credit homework is meant to allow you to summarize things you’ve learned about digital logic, and/or have fun going a little further, and/or overcome any prior setbacks. It is eligible for up to 2% overall extra credit (2% of the overall grade: About 2/3rds of an entire homework and more than a studio or reading). The actual credit obtained depends on the effort and breadth/depth of your work.
Requirements and Credit
Due Date
All work should be completed by 11:59pm on Tuesday, April 29th and demos completed by 4pm on Friday, May 2nd.
Scope
- It needs be a moderate, new digital logic creation (i.e., your work and non-trivial).
- It needs to be reasonably distinct from prior course work. For example, a simple state machine that is comparable to the
washer
may be eligible for some credit, but probably not the full 2% unless there are substantial additions. (I.e., derivative works are a way to get some additional experience with Digital Logic, but not worth full credit!) - It needs to run on the FPGA hardware.
Submission
- You need to give a demo to either Professor Hall or Professor Siever. (Live, in-person strongly preferred. Zoom-based demos will be allowed to compensate for prior travel plans that make in-person demos impossible)
- The final work needs to be submitted/committed to GitHub.
- You need to complete the usual
questions.md
in the repo to summarize your work.
Examples
-
Games
Pong, the first commercially successful video game, was built directly from digital logic. Although using 8, 7-segment displays and 8 buttons is a bit limited, you may be able to come up with some interesting games.
-
An new CPU!
The AVR microcontroller commonly sued in Arduinos was a student project (story here). You don’t have to develop anything nearly as complex as the RISC-V (or AVR), but a processor with a 4-10 instructions to do a combination of data manipulation, data movement, and control, is sufficient.
-
Other ????
We’re open to other digital logic creations, including some things that interface to external hardware. However, please open a private post on Piazza (instructors or just Profs. Hall & Siever) to discuss other ideas. Please have your idea reviewed/approved before starting on it. (Especially if you are working with other hardware!)
Resources
The link to create a repo: link
- Files & Folders: An overview of how files and folders are used to create projects.
Overview / Container Demo
Submission
Be sure to commit/push all work, including a completed questions.md
to GitHub.