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

  1. It needs be a moderate, new digital logic creation (i.e., your work and non-trivial).
  2. 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!)
  3. It needs to run on the FPGA hardware.

Submission

  1. 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)
  2. The final work needs to be submitted/committed to GitHub.
  3. You need to complete the usual questions.md in the repo to summarize your work.

Examples

  1. 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.

  2. 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.

  3. 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.