Exploring FPGA Projects in International Universities

Exploring FPGA Projects in International Universities

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

As far as I know, many universities in China do not offer courses related to FPGA, so many students are self-taught. However, self-learning requires certain goals and projects. Today, let’s look at the FPGA project courses offered by Cornell University, an Ivy League school. Most of the courses come with source code, and they are developed in Verilog, similar to the practices in China, which is quite enlightening.

Project Links

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

Project Introductions

Spring 2023 Development Board CycloneV DE1-SoC

Heat Equation Simulator

The goal of this project is to create an interactive heat diffusion simulation using the heat equation in a discrete domain, allowing users to select sources and sinks on a VGA screen and simulate the resulting reactions in real-time. Official account: OpenFPGA

  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/heat_sim/ECE5760_HeatSim.github.io/index.html

Exploring FPGA Projects in International Universities
  • Video Links

  • Code Links

https://github.com/fran07981/ece5760finalproject

FPGA Based Power Estimator

The overall design of the power estimator is shown in the figure below. It uses the Hall effect to measure the current through the internal fuse input pin, with a very low series resistance of about 1.2mΩ, which does not affect the current supplied to the FPGA. To speed up debugging, the project also implements a seven-segment display to show the measured current. Official account:OpenFPGA

Exploring FPGA Projects in International Universities
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/yj253_yl3524/yj253_yl3524/project_details.html

  • Video Links

  • Code Links

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/yj253_yl3524/yj253_yl3524/project_code.html

HPP Gas Simulator

The gas simulation is accomplished by representing particles with pixels printed on the VGA display, with collisions between particles represented as following the ideal gas law. Change several parameters (pressure, box volume, particle number, and temperature) and observe the effects on particle behavior.

Exploring FPGA Projects in International Universities
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/afp65_sje57/afp65_sje57/index.html

  • Video Links

  • Code Links

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/afp65_sje57/afp65_sje57/index.html

FHP Gas Cellular Automaton on FPGA

The Frisch-Hasslacher-Pomeau (FHP) model is a lattice gas automaton, a class of cellular automata used to simulate fluid dynamics. It was first introduced by U. Frisch, B. Hasslacher, and Y. Pomeau in 1986 and is an improvement over the earlier Hardy-Pomeau-de Pazzis (HPP) model. The FHP model uses a hexagonal lattice, which approximates isotropy better than the square lattice of the HPP model. Each intersection on the lattice can be considered a cell that can contain particles. These particles can move to adjacent cells in six directions along the hexagonal lattice.

Exploring FPGA Projects in International Universities
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/ks977_zw652_zl647/ks977_zw652_zl647/index.html

  • Video Links

  • Code Links

https://github.com/zechenwang00/ECE-5760-FHP

Dancing Boids

Dancing Boids uses a boid (bird-like object) swarm simulation to visualize music frequencies, where the swarm disperses or gathers based on the frequency of the music. Official account:OpenFPGA

Exploring FPGA Projects in International Universities
Exploring FPGA Projects in International Universities
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/yw575_mk2592_rc627/yw575_mk2592_rc627/index.html

  • Video Links

  • Code Links

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/yw575_mk2592_rc627/yw575_mk2592_rc627/index.html#design

FPGA Accelerated Boid Algorithm

The project combines the ARM A9 processor and DE1 SoC FPGA to successfully simulate dynamic boid (“bird-oid object”) aggregation patterns, focusing on optimizing cycle requirements and execution time.

Exploring FPGA Projects in International Universities
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/yw2464_yl2924_mah426/yw2464_yl2924_mah426/index.html

  • Video Links

  • Code Links

https://github.com/Svorpal/FPGA_website/tree/main

2D N-Body Gravity Simulator

The goal of the project is to create an interesting gravity simulator using FPGA. Using standard CPU to simulate the gravity between celestial bodies (stars, planets, asteroids, etc.) is limited because it can only perform sequential calculations, resulting in long simulation times. The goal of this project is to send each celestial body’s information to the FPGA, allowing it to compute interactions between other celestial bodies in parallel, and then send the results back to the ARM, which will finally display on the monitor.

Exploring FPGA Projects in International Universities
Exploring FPGA Projects in International Universities
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/raf269_nkg37_tjw234/raf269_nkg37_tjw234/index.html

  • Video Links

  • Code Links

https://github.com/rafCodes/GravSim

N-body Gravity Simulator

Similar to the above project.

Exploring FPGA Projects in International Universities
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/zw543_yz2797_hl992/zw543_yz2797_hl992/index.html

  • Video Links

  • Code Links

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/zw543_yz2797_hl992/zw543_yz2797_hl992/index.html

Real-Time Polyphonic Pitch Shifter for Electric Guitar

Exploring the application of FPGA in real-time, parallel pitch shifting for multi-channel audio input. In particular, we focus on the pitch shifting of polyphony (i.e., multiple simultaneous notes) for electric guitars.

Exploring FPGA Projects in International Universities
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/cds258_eph48_jwl266/cds258_eph48_jwl266/index.html

  • Video Links

  • Code Links

https://github.com/cycfi/nu

Sobel Edge Detection on FPGA

Exploring FPGA Projects in International Universities
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/cp444_xz598/cp444_xz598/index.html

  • Video Links

Interactive Hardware Based Forest Fire Simulator

Developed an interactive forest fire simulator based on hardware. The purpose of our system is not to simulate forest fires with high precision.

Exploring FPGA Projects in International Universities
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/zap8_nrb74/zap8_nrb74/index.html

  • Video Links

  • Code Links

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/zap8_nrb74/zap8_nrb74/index.html

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/zap8_nrb74/zap8_nrb74/index.html

Filters and Lenses Using OpenCV

The goal of the design project is to design and create a hardware accelerator for machine learning-based facial recognition algorithms. Official account:OpenFPGA

The design uses FPGA to capture video data via VGA. The single frame of video data is sent to the ARM system on the chip, which then computes the grayscale of the image. This grayscale image is the input for the machine learning algorithm, which can detect the coordinates of facial features using OpenCV. This includes the face itself and the two eyes. These coordinates are then sent back to the FPGA, which uses a Verilog state machine to draw sunglasses on the detected eyes. We also demonstrate the RTL model of the pre-processing accelerator. This accelerator computes the pixel values of the integral image based on the source image.

Exploring FPGA Projects in International Universities
Exploring FPGA Projects in International Universities
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/ajs667_gtz4_nnd25/ece5760_website/index.html

  • Video Links

  • Code Links

https://github.com/ajs667/ece_5760_final_proj/tree/main

Simulated Pinball Machine

The project is a simulated pinball machine that allows users to play classic arcade pinball machines. Using switches on the FPGA, players can set the initial speed of the ball, which is displayed on a power bar on the hex display. The user then presses a button to release the ball into the cabinet, and the ball will interact with surrounding objects based on its current speed and direction. Players can press two additional buttons to control the left and right flippers, trying to keep the moving ball in the cabinet. The score is recorded based on the duration of the ball in play, and the game ends when the ball leaves the cabinet/display.

Exploring FPGA Projects in International Universities
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/sec322_smc447_cc2698/sec322_smc447_cc2698/index.html

  • Video Links

  • Code Links

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/sec322_smc447_cc2698/sec322_smc447_cc2698/index.html

ADIOS – A Deployable Internal Oscilloscope

Wrap it into a Qsys module that can be imported and used in any project, and use HPS to post-process the data words and triggers so that the logic analyzer output can be viewed in a waveform viewer (e.g., GTKWave).

Exploring FPGA Projects in International Universities
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/kae87ber72gly6/kae87ber72gly6/index.html

  • Video Links

  • Code Links

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2023/kae87ber72gly6/kae87ber72gly6/HOLA_V2.zip

Spring 2022 Development Board CycloneV DE1-SoC

Guitar Hero on DE1-SOC

This game allows users to play the “guitar” as accurately as possible along with their favorite songs to score high points. The user controller “guitar” consists of five keys: green, red, yellow, blue, and orange, along with one for “playing” notes. During the game, colored notes fall towards the bottom of the screen, and the user must press the corresponding key at the specified time.

Exploring FPGA Projects in International Universities
Exploring FPGA Projects in International Universities
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/ki88_djl357_jtb237/ki88_djl357_jtb237/index.html

  • Video Links

  • Code Links

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/ki88_djl357_jtb237/ki88_djl357_jtb237/index.html

Bombe Machine

Exploring FPGA Projects in International Universities
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/az292_kw456_lh479/az292_kw456_lh479/index.html

  • Video Links

  • Code Links

https://github.com/AngelaZou2000/ECE5760/tree/master

FPGA Based Simple CNN MNIST Digit Classifier

A simple convolutional neural network was systematically developed using Verilog.

Exploring FPGA Projects in International Universities
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/zx83_kh548_ys566/final_report.html

  • Video Links

  • Code Links

https://github.com/Min4649/CNN-FPGA-Implementation

Diamond Square Fractal Landscapes

Exploring FPGA Projects in International Universities
Exploring FPGA Projects in International Universities
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/sgp62_rbm244_hlg66/sgp62_rbm244_hlg66/index.html

  • Video Links

  • Code Links

https://github.com/sgp62/ECE5760/tree/gh-pages

2D Molecular Dynamics Simulation using Leonard Jones

Exploring FPGA Projects in International Universities
Exploring FPGA Projects in International Universities
  • Project Introduction

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/s2022/pjm326_pm623_tji8/pjm326_pm623_tji8/index.html

  • Video Links

  • Code Links

https://github.com/PMogalipuvvu/MolecularDynamicsSimulation

Summary

There are many projects from 2016 to 2023. There should be some projects that are not displayed. Most of them have video introductions, but I found that some videos only demonstrate the functions simply and do not provide design ideas, so it is necessary to check the project documentation by yourself. Today, only a portion has been updated. Follow me for more projects to come.

Leave a Comment