Documentation
Schematics
Overall System Level Diagram
Game Timing Diagram
System Schematic
Source Code Overview
The source code for the project is located in the Github repository here.
The MCU code is organized by having multiple sequential while loops. Because gameplay is rather streamlined with few places of variability, it is easier to design using this structure. The first step is to press the button which exits the first loop. Then once the timer is up or the button is pressed again, you exit the second loop. Finally, once the system attempts to return home, the final two loops are exited.
As noted in the design section, the MCU interfaces with the FGPA via a 1 bit enable line that is asserted upon the first button push and deasserted after the second button push or time runs out. This line directly controls each stage of the FGPA’s display sequence by either starting or ending it.
The FGPA code is organized into a top level module that controls all of the functionality as well as performs boolean operations to set the display output. These are determined based on the timer submodule which increments after each slow clock cycle. More details are provided in the FGPA section.
Test change x2
Bill of Materials
Item | Part Number | Quantity | Unit Price | Link |
---|---|---|---|---|
5 stepper motors | B094F4CH71 | 1 | $26.99 | link |
Joy Stick | B01N2G0H1T | 1 | $11.99 | link |
Button | 0654913663700 | 1 | $6.99 | link |
Wood | 796758 | 1 | $44.89 | link |
Extra Materials | Stock Room | x | x | Thank you Sam |
Total cost: $90.87