Project concept
Risks & risk reduction work done
Prior knowledge / background needed
Deliverables
Track: Project title: Team name:
Project concept
Risks & risk reduction work done
Prior knowledge / background needed
Deliverables
Track: Existing Project title: Frogger Team name: AB Team 9
Project concept
Risks & risk reduction work done
No prior experience interfacing with VGA.
If VGA fails, we will use a LED array as backup.
Prior knowledge / background needed
Knowledge of NIOS II processor and SRAM.
Serial Data.
Research displaying out via VGA cable.
C and Verilog programming.
Deliverables
a. Joystick works
b. Button works
c. VGA driver works
d. Minefield displayed
e. Input interacts with minefield
f. Randomly generated levels
g. Display stats to LEDR and HEX
H. Can change size of minefield
Track: Existing Project title: Minesweeper
Team Name: AB Team 3
Project concept
Risks & risk reduction work done
Prior knowledge / background needed
Deliverables
Track: Future |Project title: Karaoke Machine |Team name: AB Team 8
We plan to use the FPGA to make a Karaoke machine.
The FPGA will record the voice of the singer and the music track through two different inputs. Then we will control the treble and the bass on the mix audio.
Project concept
Risks & risk reduction work done
Prior knowledge / background needed
Deliverables
Track: Future Project title: Perceptron Team name: AC Team 1
Our Project Proposal is to create a Machine Learning - Perceptron algorithm in Verilog. We will also be combining a C program for a way to feed in the data. This project will be coming all the knowledge we have gained from past labs and using our knowledge from class.
Our project is based on Perceptron Convergence Algorithm. The perceptron is a binary classification that can learn linear separations, which means that makes predictions based on a linear predictor function. The function maps its input to an output value. The algorithm has a set up parameters that are numerical values (w and b). The data points are called Xn which is what we get from the inputted vectors. The algorithm has a sole hyperparameter is E, which is the number of epochs which passes over the training data. The last variable that is used in the algorithm is Y, which is the true label. Y will be either 1 or –1 depending on the actual classification. The math behind the algorithm (which is what we will be implementing in verilog) is as follows:
i. Y is equal to the sign of the dot product between W and Xn + b.
ii. Check if the Y value is the value that we originally intended.
iii. If the Y value is not, then update the value of W and B and go through the loop again.
1. W now becomes W + Yn
2. B becomes B + Yn
Key risk: Creating a method in which to transfer data to and from the board. Also we are wary of challenges that there may be associated with interfacing with the RAM.
We are actively looking into multiple methods of data transfer:
SRAM
Flash Programmer
.SOF
a. Way to get info onto/off of the board (HPS, some file, or arduino interface)
b. Fixed point or floating point ALU (or find someone who has already implemented it) (multiply and add)
c. Vector addition
d. Vector Dot Product
e. C program to feed the info in/out
f. Data order Randomizer
g. Epoch Counter
h. Python Program to take MNIST dataset and put it into a useable form
Key Concerns:
Project concept
Risks & risk reduction work done
Prior knowledge / background needed
Deliverables
Track: Future Project title: Number Recognition
Team name: AA Team 5
The FPGA is useful for calculating tle classification in parallel using the K-Nearest Neighbors algorithm.
Our project uses the K-Nearest Neighbors algorithm to classify user-supplied images of handwritten numbers.
The algorithm models example images as vectors and calculates the squared euclidean distance between training and input images to classify the number in the input image.
Project concept
Risks & risk reduction work done
Prior knowledge / background needed
Deliverables
Track: Future Project title: Breakout Team name: Speedracers
Section: AA Group number: 7
We plan to recreate the classic arcade game Breakout.
We will start with using purely the FPGA, then expand the project to integrate and C program and input/output from a computer.
Breakout game:
NIOS II Integration:
Lab Report:
Project concept
Risks & risk reduction work done
Potential risks
Work Done
Prior knowledge / background needed
Deliverables
Track: Future Project title: AES Encryption/Decryption Team name: The Best One (AA: Tyler, Thu, Mohamed, Jamie)
Project concept
Risks & risk reduction work done
NIOS
Communication
Strategy
Prior knowledge / background needed
Deliverables
Track: Existing Project title: Battleship Team name: AA Team 6
We plan to implement a game of battleship that you can play on the DE1_SoC using the NIOS II microprocessor.
We will integrate the software and hardware by sending signals back and forth to manipulate the state of the game stored in SRAM.
Project concept
Risks & risk reduction work done
Prior knowledge / background needed
Deliverables
Track: Future Project title: Snake v2 Team name: Seattle SuperSnakes
A multiplayer game interfacing with a cell phone, bluetooth low energy board, FPGA, and VGA display.
Players can issue commands indicating snake movement, which are transmitted and interpreted via UART communication protocol.
Commands acts as triggers to the FPGA modules that instantiate logic pertaining to the logistics of the game, which update the state of VGA output
Application - User Interface
Application - Communication Protocol
Interface - Phone to Bluetooth Module
Communication - Bluetooth Module to FPGA
FPGA - Single Player Snake
FPGA - Multiplayer Snake
VGA Display Output
System Integration
Key Risks:
Phone Application (Android).
Communication protocol between phone and Bluetooth module.
Communication protocol between Bluetooth module and FPGA.
Risk Reduction Work Done:
Android/ ioS Application.
Bluetooth module is now able to recognize simple button pressed and released on phone application.
Prior Knowledge:
UART Communication Protocol.
Arduino Programming.
FPGA Programming.
Background Needed:
Bluetooth Communication.
Android Application Programming.
Utilization of Available Communication Protocols of the FPGA.
Source: Google Images
Project concept
Risks & risk reduction work done
Prior knowledge / background needed
Deliverables
Track: Existing Project title: Battleship Team name: AC Team 3
We are going to use two DE1_SoC by utilizing microprocessor, GPIO, SRAM and serial-parallel-serial network to implement the Battleship Game.
In the game, each player has to guess the location of opponent’s ships and use weapons to hit them in a 8*8 battlefield, which is 64 address in SRAM.
Users can choose three different kinds of ships, and different ships have different weapons that can cause different damage effects.
It will send data after player attacks opponent, as opponent receives the attack data. Then, the program will write the data into SRAM and Eclipse Console Window.
(player 1 will attack first)
Project concept
Risks & risk reduction work done
Prior knowledge / background needed
Deliverables
Track: Existing Project title: Checkers Team name: Shady Oaks
(AB team 6)
With the DE1_SoC using the NIOS II microprocessor, we plan to implement a game of checkers.
We plan to have an 8x8 checkerboard where we’ll display different checker pieces with different color LEDs. We’ll use serial communication and SRAM in our project.
We will integrate the software and hardware by communicating with the DE1_SoC to manipulate the state of the game stored in SRAM.
We will use the system console for user interface and interaction, HEX displays to indicate victory, and 8x8 LED array to indicate board state.
Potential Risks
Reduction Work
Project concept
Risks & risk reduction work done
Prior knowledge / background needed
Deliverables
Track: Future Project title: Pitch Shifter Audio Synthesizer
Team name: Go Huskies (EE/CSE 371AB Team 7)
Work Done:
Risks:
We will need to be familiar with:
Description:
Store audio data, and then shift all of the pitches. An important part of Autotune and other audio synthesis.
Project concept
Risks & risk reduction work done
Prior knowledge / background needed
Deliverables
Track: Future Project title: The Cool Cam Team name: Golden Eagle
The goal of this project is to implement an edge detection on real-time video output through the FPGA. This will be achieved by the use of the D8M-GPIO peripheral camera obtained through the EE lab store. The peripheral camera is equipped with starter-code that already implements real-time video. The software stores two frames at a time into the frame buffer in the SRAM. Then, based on certain switches we will apply different filters and different effects.
Potential Risks:
Work Done:
Prior Knowledge:
Some experience with implementing edge detection algorithms in Matlab as well as experience in Digital Experimental Arts concepts; the latter of which may be useful if we implement the high-pass and low-pass filters successfully and move on to more experimental image manipulation.
Background Needed:
Read/Write to the SRAM, and know how the generated filters interact with images. And See how different filtration may affect quality/noise.
Project concept
Risks & risk reduction work done
Prior knowledge / background needed
Deliverables
Track: Existing Project title: Battleship Team name: AB Team 1
We are going to play portable game battleship on DE1_SoC based on the knowledge we have learned before. We have two types of battleship that the player could choose, attack submarine and ballistic missile submarine. Different submarine has different type of weapon. You can avoid the attack by your movement or by anti-ballistic missiles. There is a win/lose checker to counter the score and decide who is the winner. Our game needs 2 players so that we need to implement a communication system. Also our project needs to use both verilog and c.
Potential risks:
Work done:
Project concept
Risks & risk reduction work done
Prior knowledge / background needed
Deliverables
Track: Future Project title: Magic Mic Team name: Team Amber
We will be implementing a sound effects circuit using the DE1_SoC board and a microphone.
To do this, we will take in audio input through the microphone port on the board, apply various filters to it, and send the modified audio back out through the line out port.
These filters could include effects such as pitch-shifting, reverb, echo, and delay.
Risks:
Work done:
Project concept
Risks & risk reduction work done
Prior knowledge / background needed
Deliverables
Track: Future Title: Audio Looper Team name: What is an FPGA? (Section AA Team 8)
Using the NIOS II processor, we will receive and audio signal from the DE1_SoC’s audio codec and store sections of it in SDRAM. These sections can then be played back by sending the stored data back to the audio codec to send to Line-Out.
By continuously looping (i.e. replaying) these sections, we can mimic the behavior and functionality of a looper pedal, commonly used by solo performers to create live compositions without the need of multiple performers
Project concept
Risks & risk reduction work done
Prior knowledge / background needed
Deliverables
Track: Future Project title: Cooley-Tukey Fast Fourier Transform Team name: Sharks with Frickin’ Laser Beams on Their Heads (SWFLBOTH)
Section AB Team 5
Risk Reduction Done:
Risks:
Project concept
Risks & risk reduction work done
Prior knowledge / background needed
Deliverables
Track: Existing Track Project title: Board Game Collection
Team name: Section AB Team 2
Risks: 1. NIOS II system / Platform designer
2. Reversi Game Logic
4. Communication between 2 boards
Risk Reduction:
1. Simplify Reversi Rules
2. Or reduce the number of games
Plan: Building a FPGA-based board game collection
Games included: Reversi, Gomoku, Tic-Tac-Toe
Components: Game logic implemented in FPGA
Text-based user interface
Graphical display on LED Matrix
Project concept
Risks & risk reduction work done
Prior knowledge / background needed
Deliverables
Track: Existing Project title: 2P Hangman Team name: Team Yeet (AA Team 4)
Project Concept
Risks & risk reduction work done
Prior knowledge / background needed
Deliverables
Track: Future Project title: Spectrum Analyzer Team name: Homies
Use the FPGA to display a signal’s frequency spectrum
Risks
Risk Reduction
1. VGA module output, change the display on a monitor. (8x8 LED matrix)
2. AUX input to the FPGA, output sound
3. SRAM/Shift Register read and write
4. Write and read audio data into the SRAM
5. Display audio data from SRAM on VGA
6. Display DFT with sine wave input
7. Display frequency spectrum in real-time
8. (Extension) Implement the FFT algorithm
Project concept
Risks & risk reduction work done
Prior knowledge / background needed
Deliverables
Track: Future Project title: Flappy Dubs
Team name: Programmable Peasants - Lab AC - Team 6
Risks:
Reduction:
Project concept
Risks & risk reduction work done
Prior knowledge / background needed
Deliverables
Track: Existing | Project title: Maze Runner | Team name: AA Team #2
Our project idea is to create a two player “maze race” game where two players race through a maze on separate DE1-SoC boards and communicate to one another when they reach the end of the maze. The first player to reach the end will win the stage and the maze will reset.
The score will be stored in an SRAM attached to both DE1-SoC boards. It will be update when a board/player wins a game or when the overall system is reset. This score will be displayed to both users through a HEX display driver.
Bluetooth and UART serial communication will be used to communicate between both boards.
The main risk with this game is getting the NIOS II processor to cooperate. This processor has given us issues in past labs and is an integral part of the implementation of this game.
To mitigate this risk, we are trying to only use the processor when needed, and we plan on building hardware modules (using System Verilog) on top of the existing system to give us the additional functionality we desire
Project concept
Risks & risk reduction work done
Prior knowledge / background needed
Deliverables
Track: Future | Project title: Edgy Pictures | Team name: AC Team 5
We will make Snapchat, but for the FPGA. In summary, the project will be interfacing a camera onto the FPGA to take photos, which then use the parallel nature of the FPGA to convolve the image with a kernel matrix, and then display the resulting image on VGA to a monitor. We will modularize these separate components so that
we can verify their functionality independently in order to meet the requirements for the project.
Major Risks
Camera functionality (D8M-GPIO)
VGA functionality
Risk Management
Slow down system to take one frame at a time
Add delay between image and convolution to ensure we see the correct output to VGA
VGA module
Image data storage
Image convolution module
Custom convolutions
Camera module
Camera Configuration
User interface
Project concept
Risks & risk reduction
Prior knowledge / background needed
Deliverables
Track: Existing | Project title: Connect 4 | Team name: AB Fantastic 4
Connect Four!
Take turns flipping switches on the DE1_SoC!
VGA Output!
Challenge your TA!
VGA will require more work than anticipated
Using NiosII may become too cumbersome
Project could have been over-scoped
Power outage
Intimate knowledge of Connect 4 rules & win conditions
UART Serial Communication
VGA Output
DE1_SoC Development:
Quartus project,
Qsys for NiosII,
Eclipse for NiosII
Print to Eclipse console
or use LED array
Implement the game as hardware
We decided to choose an achievable project
Yikes