EE2026 Digital Design Mini Project


Github

Click Here to Checkout the repository


FPGA Design Project: Sight and Sound Entertainment System

I made this as part of a group project assignment for EE2026 Digital Design. Verilog code and Vivado was used to program the FPGA Board.

The Board can then play 3 different modes and respond to the user’s inputs to the buttons and microphone that is attached to the board.


User Guide

FeatureInput DevicesFeature DescriptionImages/Photos
Real-time audio volume indicatorSW0,
SW1
SW0 IS 0: mic_in shown on 12 LEDs
SW0 is 1: Peak intensity shown on 15 LEDs (0 level does not show anything)
SW1 is 0: sound level in didgit shown on the anode
__ SW1 is 1:__ sound level in letter is shown on the anode (5 level for each level, 0 level is still 0
Totoro bus stopMic4 levels of rain according to mic input:
level 0: no rain
level 1 - 5: slightly animated raining, slow rain falling speed
level 6-10: moderate animated raining, moderate rain falling speed
level 11 - 15: heavy animated raining, fast rain falling speed
MenuSW8, btnU, btnD, btnCSW8 is 0: shown the individual tasks
SW8 is 1: shown the menu
btnU: move selection up by 1
btnD: move selection down by 1
btnC: go into the mode of choice
Graphical Visualisations and configurationsSW15,
SW14,
SW13,
SW12,
SW11,
btnL,
btnR,
Mic
SW15,SW14: 3 pixel thick border if 2’b10,1 pixel thick border if 2’b01
SW13: Force Border off
SW12 is 1: Switches on alternate colour scheme
SW12 is 0: Switches off alternate colour
SW11 is 1: Switches off/hide volume bar while keeping the borders and background colour the same according to the other switches
Mic: There is a volume bar with the samenumber of level as the volume level.
btnL: Volume bar shifts left by 1 pixel
btnR: Volume bar shifts right by 1 pixel
Run Barry Run!!MicLevel 0: Lowest frame rate
Level 1-5: Slow frame rate shows slow run
Level 6-10: Faster frame rate for faster running
Level 11-15: Even Faster frame with 15 being the highest and the fastest run.
Volume level indicator in “Run Barry Run!!”MicHorizontal Volume bar to allow visibility of Barry and indicates the current volume level input to user
GhostbtnU,
btnD,
btnL,
btnR
btnU: Ghost moves up
btnD: Ghost moves down
btnL: Ghost moves left and start rotating leftwards
btnR: Ghost moves right and start rotating rightwards
Man Man spawn to the left of the screen. Animated to run rightward When the ghost is above and behind him, and the wave touches his ear, man turns into a tombstone. When the man runs off the screen, the screen turns into the gameover screen.
WaveMicLevel X: Sound wave emitted from ghost with radius X
Tombstone Tombstone spawn and stays still for around 2 - 3 seconds before despawning and Man starts running from the left of screen rightwards.
Score On the upper right corner of the screen, whenever the man respawns from the grave, a point is added. 
Game over Screen Gameover screen with the total score displayed when the man runs off the screen or the score is 99.
resetSW7, SW9SW7 is 1: Game score Resets to 00, returns to Main Menu. (Blocks entry into games)
SW7 is 0: Allow selection of the Games
SW9 is 1: Resets score to 00. Position of Man will hover at spawn point at the bottom left, Position of Ghost hovers at top left
SW9 is 0: Game starts, Man starts moving right, ghost is able to move according to button press.