Exploring FPGA Projects by International University Students

Exploring FPGA Projects by International University Students

  • Let’s take a look at FPGA development projects at international universities

As far as I know, many universities in China do not offer FPGA-related courses, so many students are self-taught. However, self-learning requires certain goals and projects. Today, we will explore the FPGA project courses offered by Ivy League Cornell University. Most courses come with source code, and like the domestic usage habits, they are developed in Verilog, which is quite meaningful for reference.

Project Links

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/

Project Introduction

Spring 2017 Development Board CycloneV SoC

Realtime pitch shifter

Exploring FPGA Projects by International University Students

A real-time pitch shifter was designed on the DE1-SoC FPGA, controlled by an ARM core using a GUI. It can perform the following tasks: independently change the pitch of left and right audio outputs through manual pitch adjustment, generate speech harmony audio output with the original speech using left and right audio, and produce time-varying pitch changes by modulating appropriate parameters at different rates. The final product can produce many different speech effects while being controlled through a simple, user-friendly GUI displayed on a VGA monitor.

Exploring FPGA Projects by International University Students
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2017/jmt329_swc63_gzm3/jmt329_swc63_gzm3/PitchShifter/index.html

  • Hackaday Project Introduction

Voice Shifting with a Cyclone V FPGA

  • Video Links

  • Code Links

https://github.com/jmt329/PitchShifter

Digital oscilloscope

Exploring FPGA Projects by International University Students

A SillyScope digital oscilloscope was built using DE1 SoC, which is a 4-channel oscilloscope. Users can control the oscilloscope using HPS. They can control voltage scale, time scale, offset, and trigger channels. Users can also perform ‘mathematical’ operations such as addition and subtraction using two channels. This project uses HPS for user interaction, while FPGA samples the signal and displays it on a VGA screen.

Exploring FPGA Projects by International University Students
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2017/ijt5_jgf82_jls633/ijt5_jgf82_jls633/sillyscope/index.html

  • Video Links

  • Code Links

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2017/ijt5_jgf82_jls633/ijt5_jgf82_jls633/sillyscope/triggered_scope.zip

Big Red Strings: A FPGA Musical Trio

Exploring FPGA Projects by International University Students

A music player was implemented on DE1-SoC. The design simultaneously uses FPGA and ARM processors. Using the Karplus-Strong algorithm, multiple strings corresponding to three instruments are generated on the FPGA, allowing for the production of different notes. The AC program running on HPS handles file input from a folder containing transcribed scores and controls the speed. A GUI was also generated on the VGA display, allowing users to select preloaded songs to play. The system allows HPS and FPGA to read music and synthesize sounds similar to real instruments.

Exploring FPGA Projects by International University Students

Karplus-Strong Algorithm Diagram

Exploring FPGA Projects by International University Students
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2017/eli8_sjy33_awx2/ece5760finalproject/ece5760finalproject/index.html

  • Hackaday Project Introduction

Synthesizing Strings on a Cyclone V

  • Video Links

  • Code Links

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2017/eli8_sjy33_awx2/ece5760finalproject/ece5760finalproject/files/stringsynth_verilog.zip

Catch Bruce if you Can: A video hand tracking Game

Exploring FPGA Projects by International University Students

A game named “Catch Bruce if you Can” was designed, which matches the cursor position of the user’s hand coordinate information with a randomly generated image of Professor Bruce. Successfully matching the cursor position with Professor Bruce’s image will increase the score by one point.

Exploring FPGA Projects by International University Students
Exploring FPGA Projects by International University Students
Exploring FPGA Projects by International University Students
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2017/amg432_srs383_gkt27/amg432_srs383_gkt27/amg432_srs383_gkt27/ECE5760FinalProject.htm

  • Video Links

  • Code Links

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2017/amg432_srs383_gkt27/amg432_srs383_gkt27/amg432_srs383_gkt27/ECE5760FinalProject/DE1_SoC_TV.zip

Character Recognition Using OpenCV on DE1-SOC

Exploring FPGA Projects by International University Students

This project involves using a speaker, VGA display, and camera. The project is divided into three main parts: recording audio and playing it on the speaker, displaying a real-time video source on the VGA monitor, and being able to capture and save frames from that source, as well as performing word or character recognition using OpenCV. Character and word recognition is based on a template matching technique that compares various template images with actual images to determine the degree of similarity between the templates and the image content. By creating templates for each letter, the system can determine which letters are present.

Exploring FPGA Projects by International University Students
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2017/fck22_asm356_rr697/fck22_asm356_rr697/fck22_asm356_rr697/index.html

  • Video Links

  • Code Links

https://github.coecis.cornell.edu/asm356/ECE5760-Lab1/tree/master/Project

HPS-powered Logic Analyzer debugging FPGA

Exploring FPGA Projects by International University Students

The purpose of this project is to build a system that captures and visualizes signals in real-time on a VGA monitor to debug real-time signals in FPGA designs. The system also features a USB mouse interface for zooming in/out and scrolling waveforms.

Exploring FPGA Projects by International University Students
Exploring FPGA Projects by International University Students
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2017/md874/md874/LogicAnalyzer.htm

  • Hackaday Project Introduction

Logic Analyzer on Chips

  • Video Links

  • Code Links

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2017/md874/md874/LogicAnalyzer/final_project_5760_hw.zip

Robot Operating System Stereo Vision Accelerator

Exploring FPGA Projects by International University Students

A stereo camera is a camera that captures three-dimensional images using two or more lenses. Our project transforms the FPGA into a device capable of reducing the time required to generate a stereo image from calibrated image sources. Afterwards, we integrated our system into a ROS node, allowing our hardware to be easily used by any ROS system.

Exploring FPGA Projects by International University Students
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2017/rk534_ty252_jdf258/rk534_ty252_jdf258/index.html

  • Video Links

  • Code Links

https://github.coecis.cornell.edu/rk534/stereo_cam_node

Julia Set Renderer

Exploring FPGA Projects by International University Students

This project provides users with an interface through the ssh terminal, where they can input formulas (e.g., z^2 + c) and plot the corresponding Julia set on the VGA screen. Users can use the mouse to pan/zoom the plotted set.

  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2017/ipb7/ipb7/ipb7/JuliaProcessor.html

  • Video Links

None

  • Code Links

https://github.com/ipburbank/ECE5760-Julia/archive/master.zip

Real-Time Vision-based Object Identification and Tracking

Exploring FPGA Projects by International University Students

To simulate product variation, our factory “produces” Spree candies, which consist of five different colored hard candies. A servo system controlled by FPGA drives a conveyor belt that feeds the Sprees into the view of an NTSC camera. The FPGA then runs multiple image transformations to process each frame of the raw video input. Finally, HPS analyzes each processed image, providing the total count of each colored Spree in the frame. The program also tracks the movement of each Spree along the conveyor belt, calculating the total number of Sprees “manufactured” by our assembly line.

Exploring FPGA Projects by International University Students
Exploring FPGA Projects by International University Students
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2017/yz424_clc288/yz424_clc288/final_website/index.html

  • Hackaday Project Introduction

Quality Assurance Through FPGA

  • Video Links

  • Code Links

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2017/yz424_clc288/yz424_clc288/final_website/index.html

HPP lattice Gas Automaton

Exploring FPGA Projects by International University Students
Exploring FPGA Projects by International University Students

Our program is a lattice gas automaton that uses the HPP model to simulate gases and liquids.

Exploring FPGA Projects by International University Students
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2017/bh475_nds64_wm226/bh475_nds64_wm226/bh475_nds64_wm226/ECE5760FinalProject.htm

  • Video Links

None

  • Code Links

https://github.com/nds64/ece5760

3D paint using video tracking

Exploring FPGA Projects by International University Students

A system was designed that receives real-time video of the user’s brush movements to generate 3D drawings.

Exploring FPGA Projects by International University Students
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2017/jss459_ssd56_aj373/jss459_ssd56_aj373/index.html

  • Video Links

  • Code Links

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2017/jss459_ssd56_aj373/jss459_ssd56_aj373/index.html

Spooky Tag: Spatial sound cues

Exploring FPGA Projects by International University Students

Humans perceive sounds in space by processing the subtle differences between sounds received by each ear. The subtle differences mainly arise from the propagation of sound through the head and ear cavity (also known as the pinna). We can synthesize sounds perceived as coming from specific locations using HRTF processing.

We integrated this concept into the Tag framework, providing functionality to use echolocation as the primary means of locating and avoiding pursuers.

Exploring FPGA Projects by International University Students
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2017/arl228_dhl72_wpa26/arl228_dhl72_wpa26/5760%20website/index.html

  • Hackaday Project Introduction

Run From the Sound of Footsteps in Blind Game of Tag

  • Video Links

  • Code Links

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2017/arl228_dhl72_wpa26/arl228_dhl72_wpa26/5760%20website/index.html

Sound controlled video game

A simple video game was created using the player’s voice as a control mechanism. The game’s setting is that you control a spaceship flying in space, with meteors coming towards you that you must dodge. The player moves the spaceship up and down based on the volume of their voice speaking into the microphone, trying to avoid the meteors.

Exploring FPGA Projects by International University Students
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2017/cs886_bc472/cs886_bc472/cs886_bc472/index.html

  • Video Links

  • Code Links

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2017/cs886_bc472/cs886_bc472/cs886_bc472/code/code.zip

Summary

There are many projects, from 2016 to 2023, and some projects may not be displayed. Most have video introductions, but I found some videos to be simple demonstrations of functionality without design ideas, so it’s necessary to check the documentation in the source code by yourself.

Leave a Comment

×