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

 点击蓝字关注我们

关注、星标公众号,精彩内容每日送达
来源:网络素材

632c4a125b5aae0765dd8cf0f69c98dc.png

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

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

项目链接

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

项目介绍

Fall 2009 开发板 CycloneII

Realtime face tracking - 实时人脸追踪

faf06cd53a7e12b17dc60f78cfb899ba.png

该项目的目标是跟踪人脸的运动,并在 VGA 显示器上显示立方体的投影,该投影会根据用户面部的运动而变化。我们希望用户看起来好像实际上正在看一个 3D 立方体,因此,如果用户将头向右移动,则投影显示为好像用户实际上正在从右侧看一个立方体,并且如果用户靠近相机,那么立方体会变大。

3677670b79ee93fe26ad8454da48a658.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/ty244_jgs33/ty244_jgs33/index.html

  • 视频链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/ty244_jgs33/FaceTracker1.MP4

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/ty244_jgs33/ty244_jgs33/DE2_TOP.qar

Green screen chroma key (MP4, 2, 3)

83388c9c51846dcca1d2e9e2002435c8.png

在这个项目中,我们借助 Sony Handycam 和串口通信转变为简单的视频制作单元。该项目的主要焦点是能够提供绿屏效果,最常见于天气新闻。我们将根据阈值提取视频的绿色区域并显示背景图像,例如天气图。

02b158b9582e2e0960e1682aa2300e5b.png
  • 项目介绍

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

  • 视频链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/jsd46_pag42/jsd46_pag42/index.html

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/jsd46_pag42/jsd46_pag42/videoproduction.zip

Sound localizing robot - 声音定位机器人

ad4357c0395640305a63b64136cf7380.png cace0ede3fb0854bba0a29f503324246.png

主要思想是在 FPGA 板上构建一个能够检测声源位置的系统。并制作了机器人进行控制。

72316eb9bdaa15a9156df85fdd24ed1b.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/jmd242_aps243/576JonAllisite/site/index.html

  • 视频链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/jmd242_aps243/SoundRobot1.MP4

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/jmd242_aps243/576JonAllisite/site/code/

2D graphics engine - 2D图形引擎(GPU)

3091d9c90f68010d561a8c2a1859d780.png

目标是在硬件中设计一个功能强大、通用可定义的图形处理单元 (GPU),可以轻松连接到 CPU 或其他板载硬件,可以提供简单高效的图形功能。GPU 提供很多功能的支持,包括绘制点、矩形、线条、图像(通过位图文件解码)和文本。此外,GPU 还提供双层显示功能,允许用户在底部图形层上绘制透明的顶部覆盖层。

e1759b1f7c3c6d9b5a7922926aed95aa.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/Adam_Tom/graphics_engine_12_9_09/index.html

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/Adam_Tom/graphics_engine_12_9_09/code/

3D render engine - 3D渲染引擎

811106babcaf4012c35540bca784c0a5.png 5c43ebab8993df458279f588799c9bc4.png

最终项目设计一个基本图形卡。目标是设计一个模块,可以接收输入中的几何数据和照明信息并将其显示在 VGA 上。我的组件实现了显卡的几个特定主题:

  • 顶点之间的线性外推;

  • 高分辨率Z缓冲;

8a65912b5e8dd9fc71937db7bbbe4206.png 3029c6816d35cbccd3578c1c03647bbc.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/ng292/ng292/index.html

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/ng292/ng292/index.html

Keyboard synthesizer - 模拟钢琴

95129ea871912b13d57cc8356163f919.png

KSD 键盘是一款基于 FPGA 的 Karplus Strong 弦乐合成数码钢琴(karplus算法),带有力度反馈感应键。

2f3ea47e4a95bf129b44a727a7d4ee07.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/csm44_jck46/index.html

  • 视频链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/csm44_jck46/KeyboardSynth1.MP4

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/csm44_jck46/DE2_TOP.v

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/csm44_jck46/karplus.v

Guitar synthesis - 模拟吉他

7887b3a9d6fbfab25b85d203c1b941b9.png

目标是创建一个吉他模拟器,可以对其进行编程,使其快速轻松地播放任何歌曲。为了做到这一点,我们构建了一个系统,允许将吉他上的音符编码到 C 代码中,我们就可以使用计时器并实际重新创建整首歌曲。我们这个项目的动机是能够准确地即时合成整首歌曲的吉他声音。

  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/kr334_ask43/kr334_ask43/kr334_ask43/index.html

  • 视频链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/kr334_ask43/GuitarSynth1.MP4

  • 代码链接

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/kr334_ask43/kr334_ask43/kr334_ask43/entersandman_w_dist.txt

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/kr334_ask43/kr334_ask43/kr334_ask43/Audio_Filter_18bit_float.txt

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

Evolution tic-tac-toe - 进化算法:井字棋

e38f0498ad1f936ca538fcb764719e08.png

使用玩经典井字游戏的程度作为适应度函数来模拟进化的随机过程,最终目标是创建完美的井字游戏机(探索 FPGA 上的进化算法)。

4cbcf6bdb4ca04cc59751a3b0473e090.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/nic4_sck76/nic4_sck76/index.html

  • 代码链接

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

Software radio - 软件无线电

9b017407fb6c8a3d1cc15ecbfe6ad8f6.png

目的是创建一个软件定义的无线电,它可以从射频前端接收 AM 或 FM 调制信号,进行解调后通过以太网将基带信号发送到计算机。基带信号使用软件压缩算法进行编码,提高以太网链路的带宽效率。

59d295e068f65ec2bbf25ef4ef0d570b.png
  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/jfs36_jsm66/jfs36jsm66/index.html

  • 代码链接

https://code.google.com/archive/p/ece5760-sdr/downloads

JPEG compression engine - JPEG 压缩引擎

94eb2ed6743bcc30ea391589abf5462a.png

在 FPGA 上实现了 JPEG 压缩和 UDP 以太网传输。从摄像机的输入中获取单个灰度帧,使用 JPEG 标准对其进行编码,然后通过以太网将其传输到另一个设备(例如计算机),所有这些都在硬件中进行。

  • 项目介绍

https://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2009/jl589_jbw48/jl589_jbw48/index.html

  • 代码链接

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

bc8d7f9a1816ecc136a330833fee54f4.png
  • 参考

http://www.impulseadventure.com/photo/jpeg-snoop.html

Video communications system - 视频通讯系统

10cf6cc6c2d0d55e6f80e73da4580b15.png

目标是在两个FPGA开发板之间建立以太网连接,并在两个板之间传输视频和音频。音频将在一组扬声器上输出,视频将在接收数据的板卡的 VGA 上显示。这种方案两个板卡像视频聊天一样运行。

  • 项目介绍

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

  • 代码链接

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

  • 以太网部分参考

http://gps.theengineersden.com/index.php/DM9000A

总结

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值