-
Exploring FPGA Development Projects at Ivy League Universities
As far as I know, many universities in China do not offer FPGA-related courses, so many students self-study. However, self-study requires certain goals and projects. Today, we will take a look at the FPGA project course offered by Cornell University, an Ivy League school. Most courses have source code, and like the usage habits in China, they are developed in Verilog, which is quite instructive.
After introducing the projects before 2019, please refer to “What Projects Do Foreign College Students Use FPGA For (Part 1)” for details on previous projects.
Project Links
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/
Project Introduction
Spring 2022 Development Board CycloneV DE1-SoC
More projects:
https://editor.mdnice.com/?outId=5a521c2baa234432bc31acd5c8f76bdf
Mandelbrot Set Animation Rate Optimization
Improved the renderer by adding finer zooming and introducing animation features.



-
Project Introduction
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/sjz38_dap263/sjz38_dap263/index.html
-
Video Link
-
Code Link
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/sjz38_dap263/sjz38_dap263/appendix.html
HPP Cellular Automaton
Designed, implemented, and tested an HPP Cellular Automaton that can visualize on a 640 x 480 VGA screen. The HPP model is a basic lattice gas automaton for simulating gases and liquids (from the encyclopedia). In addition to particle simulation capabilities, the system also supports various user interactions to explore an infinite possibility of up to 1.2 million particles.


-
Project Introduction
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/qd39_kh537_sq85/HPP-cellular-automaton-FPGA/index.html
-
Video Link
-
Code Link
https://github.com/qd39l/HPP-cellular-automaton-FPGA/tree/main
FFT based Landscape Generation
Designed a system that automatically generates 3D landscapes and displays them. The goal is to include a movable light source that can create shadows in the displayed image. By rotating the landscape on the VGA screen and changing the direction of the light, users can randomly explore different perspectives. Our implementation uses the FFT algorithm to convert random input images into output images, where the pixel values are interpreted as landscape height in the final result.


-
Project Introduction
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/jjw254_lmm343_ag988/ece5760-gh-pages/index.html
-
Video Link
-
Code Link
https://drive.google.com/file/d/1wjD5AT4hd3rRkt8GshjbtnR-DHFf804R/view
Anaglyph 3D from Video Input
Created realistic, real-time embossed 3D video and associated depth maps through hardware acceleration on FPGA.



-
Project Introduction
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/jad452_ezw2_edk52/docs/index.html
-
Video Link
-
Code Link
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/jad452_ezw2_edk52/docs/index.html#appendix
Gesture Based User Interface

Developed a gesture-based user interface that uses an NTSC camera to track a specific color. Users can hold a wand (or any object of that color) as a real-time, non-contact stylus. The video stream and color detection algorithms are implemented in hardware. To demonstrate the versatility of this project, we created three (semi) mini-games using this gesture-based user interface.

Mini Games:


-
Project Introduction
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/zen3-rmt229-spb228/index.html
-
Video Link
-
Code Link
https://github.coecis.cornell.edu/spb228/ECE5760_Team18
Fourier Drawing and Sound Synthesis

In this project, our goal is to redraw the user input image on VGA using Fourier analysis and synthesis and play the sound of the image. When coordinates are given sequentially, the Fourier analysis and synthesis yield harmonic equations that approximate the user input image.


-
Project Introduction
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/yy796_hh543_ja499/yy796_hh543_ja499/final.html
-
Video Link
-
Code Link
https://people.ece.cornell.edu/land/courses/ece5760/DE1_SOC/HPS_peripherials/DSP_index.html
Particle Projectile Simulator

The purpose of this project is to simulate a particle projectile system using FPGA on DE1-SoC. The solution iterates particles using kinematic equations in hardware and displays the generated projectiles on a 640×480 VGA display.

-
Project Introduction
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/aei23/FinalWebsite/Index.html
-
Video Link
-
Code Link
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/aei23/FinalWebsite/Index.html
Neural Net
Not open yet~
-
Project Introduction
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/jfw225_klt45/jfw225_klt45/index.html
-
Video Link
Fall 2020 Development Board CycloneV SoC
Connect Four AI

Created Connect Four AI in hardware on FPGA. Our goal was not only to develop an AI that poses a challenge to human players but also to accelerate the execution and decision-making speed of the program, making it much faster than software-based AI with the same behavior. Our end result was a virtual Connect Four player whose decision-making is astonishingly similar to that of a human player, as we developed multiple logical layers based on intuition.


-
Project Introduction
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/aht53_mb2532_ra462/websiteStuff/index.html
-
Video Link
-
Code Link
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/aht53_mb2532_ra462/websiteStuff/index.html#appendix
Matrix Multiplication Accelerator

Designed an FPGA-based matrix multiplication accelerator that not only speeds up operation but also allows offloading execution to free up general processor time.

-
Project Introduction
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/bjd86_lgp36/bjd86_lgp36/index.html
-
Video Link
-
Code Link
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/bjd86_lgp36/bjd86_lgp36/index.html
Capital Letter Recognition with Harris Corner


Harris corner detection is a corner detection operator commonly used in computer vision systems to extract certain types of features from images. It is often used for image registration, 3D reconstruction, and object recognition. The project is a letter recognition system using the Harris algorithm on FPGA. In our design, users will send image pixel arrays to the HPS through a command console, and this value will be shared with the FPGA through SRAM. Then, the pixel data will be convolved with a given 3×3 Gaussian filter matrix and calculated using the Harris corner equation to obtain the corner weight for each pixel. Finally, the resulting array will be compared with the training database to find the most likely letter and display the answer on the VGA screen.

-
Project Introduction
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/hj399_sl3292_jw2597/hj399_sl3292_jw2597/index.html
-
Video Link
-
Code Link
https://github.com/victorjing1104/ECE5750-Capital-Letter-Recognition-with-Harris-Corner-
Fractal Landscapes


Create fractal landscapes on FPGA and display them on VGA. Fractal landscapes are programmatically generated landscapes that utilize fractal calculations with a certain degree of randomness, making them appear very natural.


-
Project Introduction
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/keb278_ajh322_nl392/keb278_ajh322_nl392/keb278_ajh322_nl392.html
-
Video Link
-
Code Link
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/keb278_ajh322_nl392/keb278_ajh322_nl392/DE1_SoC_Computer.v
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/keb278_ajh322_nl392/keb278_ajh322_nl392/final_hps.c
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/keb278_ajh322_nl392/keb278_ajh322_nl392/diamondsquares.m
Bolero Surround Sound

Ravel’s “Bolero” is a work carried by various instruments and transmitted along the same melodic line. This project aims to recreate the experience of standing in a room of musicians playing this iconic piece. Users can change the positions of the instruments and hear their parts coming from different directions. VGA draws instruments in different positions and updates the sound as the user moves the instruments.

-
Project Introduction
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/ov37_dms486/ECE5760_FINAL-main/index.html
-
Video Link
-
Code Link
https://github.com/ov37/ECE5760_FINAL
RF Signal Modulation Predictor

Created a radio modulation classifier that predicts the modulation scheme of received radio signals through a convolutional neural network implemented on FPGA.
It utilizes Software Defined Radio (RTL-SDR) connected via USB to the ARM processor to acquire local radio signals. The radio signals are then sent to the FPGA for classification by the CNN (AM-SSB, WBFM, GFSK). Additionally, the spectrum of the signal’s Walsh-Hadamard transform is plotted on the VGA screen to visualize the received signal.


-
Project Introduction
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/plm93_yz2625_jo299/plm93_yz2625_jo299/index.html
-
Video Link
-
Code Link
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/plm93_yz2625_jo299/plm93_yz2625_jo299/index.html
Graphing L-Systems on the FPGA




-
Project Introduction
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/psk92_mr858_cs968/index.html
-
Video Link
-
Code Link
https://github.com/priyakatt/FPGA_L-Systems
F1 Tire Prediction

Designed and developed a tire degradation neural network model for F1 teams that can assess the tire conditions of all drivers during the race considering race strategies.


-
Project Introduction
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/sn438_fs383_rs872/sn438_fs383_rs872/index.html
-
Video Link
-
Code Link
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2020/sn438_fs383_rs872/sn438_fs383_rs872/index.html
Conclusion
There are many projects, from 2016 to 2023, and there should be some projects not shown. Most have video introductions, but I found that some videos only demonstrate functionality briefly without design ideas, so it is necessary to check the documentation in the source code.