碎碎思 · 3月6日

国外大学生都用FPGA做什么项目(十三)

  • 看看国外大学的FPGA开发项目

据我了解,目前国内很多大学是没有开设FPGA相关课程的,所以很多同学都是自学,但是自学需要一定的目标和项目,今天我们就去看看常春藤盟校Cornell University 康奈尔大学开设的FPGA项目课程,大部分课程是有源码的,而且和国内使用习惯类似都是Verilog开发,还是很有借鉴意义的。

项目链接

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

项目介绍

Fall 2008 开发板 CycloneII

Parallel Tetris -  2 人俄罗斯方块

image.png

流行的俄罗斯方块游戏的 2 人版本。让每个玩家在自己的屏幕上使用 PS/2 键盘进行游戏,同时他的游戏会影响对手的游戏:当玩家清除游戏中的线时,他的对手将在游戏中上升预定数量的线(其中每条线都是随机的方块序列)。

image.png

  • 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/aj77/aj77/finalreport.html
  • 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/aj77/aj77/tetris.zip
  • 参考链接

http://www.ee.ualberta.ca/~elliott/ee552/projects/1999_w/TETRIS/

http://www.contrib.andrew.cmu.edu/~davidfu/

http://www.youtube.com/watch?v=8rs6IW4WK4o

Speaker Recognition - 说话人识别

image.png

能够仅根据音频输入实时区分不同的扬声器。在文献中,这个问题被称为说话人识别(Speaker Recognition)。

  • 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/pae26_jsc59/pae26_jsc59/index.html
  • 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/pae26_jsc59/pae26_jsc59/src/

Triangle Graphics Processing Unit - 三角形图形处理单元

image.png

实现了一个 GPU(图形处理单元)来渲染基于三角形的模型。目标是使用可移动相机生成复杂的模型。

  • 项目介绍

image.png

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/ap328_sjp45/website/introduction.htm
  • 视频链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/ap328_sjp45/Rabbit.MP4
  • 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/ap328_sjp45/website/graphics_pipeline.zip

Brute Force Search of a DES Keyspace - 暴力搜索 DES 密钥空间

image.png
image.png
image.png

使用 Verilog 硬件描述语言设计了一个绰号 Red 的暴力 DES 密钥破解器 ,用于搜索 LM 算法的缩写密钥空间。用户通过与四个按钮和一个拨动开关交互来控制设备。信息最后显示在液晶显示屏上。

image.png

  • 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/tt236/tt236/index.html
  • 视频链接
http://www.youtube.com/watch?v=kh2PwUCR7A8&NR=1
  • 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/tt236/tt236/verilog/

Implementing a SoC Design on an FPGA - 在 FPGA 上实现 SoC 设计

image.png

重现康奈尔大学 Big Red Chip (BRC) 项目团队设计的处理器,并修改为可以和MATLAB交互。

image.png

  • 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/djd36_fac24_wy47/djd36_fac24_wy47/index.html
  • 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/djd36_fac24_wy47/djd36_fac24_wy47/index.html

L-System

目标是探索在 FPGA 上创建 L 系统。L系统是Lindenmayer系统的缩写,是研究简单多细胞生物发育的理论框架。利用几何学的基本原理,可以对 L 系统进行图形解释,可用于渲染植物结构的分形和进行可视化,显示植物的基本生长和发育过程。

image.png

  • 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/ed267/erik_webpage_files/ed267_576.htm
  • 视频链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/ed267/LSystem.MP4
  • 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/ed267/erik_webpage_files/ed267_576.htm

All Digital, FPGA Based, Lock-in Amplifier - 基于 FPGA 的全数字锁相放大器

image.png

在 FPGA 上使用全数字架构实现锁相放大器。从历史上看,锁定放大器是由精密模拟元件、滤波器、混频器等构成的,这种架构需要高质量、昂贵的元件和精心的工程。通过在 FPGA 上以数字形式实现所有信号路径组件,可以实现许多优点。首先,使用数字乘法器,可以创建理想的数字混频器和滤波器。

image.png

  • 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/tor2/main.html
  • 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/tor2/

Simulation of Ideal Gas Particles - 理想气体粒子模拟

image.png
image.png

在 VGA 显示器上模拟理想气体。让显示器显示代表理想气体中的粒子的白色像素,并在它们相互碰撞或与屏幕边缘碰撞时执行适当的计算。

image.png
image.png

  • 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/sdh78_cc459/sdh78_cc459/ideal_gas_simulator.html
  • 视频链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/sdh78_cc459/CollisionSystem.MP4
  • 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/sdh78_cc459/sdh78_cc459/

Video guided, ball-following robot - 视觉引导,球跟随机器人

image.png
image.png

创建一个自动机器人,它使用摄像头并在主要为白色/灰色的环境中跟踪橙色球。利用这些信息,机器人的神经元将控制四个电机来引导机器人朝球移动。

image.png

  • 项目介绍
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/cc464_mrm58/FinalProjWebsite/index.html
  • 视频链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/cc464_mrm58/BallEFloor.MP4

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/cc464_mrm58/BallEVideoProcess.MP4

  • 代码链接
https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/cc464_mrm58/FinalProjWebsite/DE2_TV.zip

总结

项目很多,从2006~2023年,应该有一部分项目没有展现出来,大部分都有视频介绍,但是我看了一些视频,都是简单演示一下功能,并没有设计思路,所以需要自行查看源码中的文档。

原文:OpenFPGA
作者:碎碎思

相关文章推荐

更多FPGA干货请关注FPGA的逻辑技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
10514
内容数
513
FPGA Logic 二三事
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息