当前位置:   article > 正文

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

fpga课程开发是干啥的

365eb5fc29d07c4446fbfad626635f7c.png

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

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

项目链接

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

项目介绍

Fall 2009 开发板 CycloneII

Realtime face tracking - 实时人脸追踪

ca5b25ae871d2ca20c4ba673e8a35e60.png

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

8624fb0a77512ee49a25a9558e40009b.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)

d356b322be1d53a39580e4dfb6b39136.png

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

993a58ff4cb00bda664b74175685664e.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 - 声音定位机器人

238acfafe4ee63a69a1e778b25959fa0.png 3e28a87ccb7b27faa0915cf9d291178a.png

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

ceefef0ea0eeb8ece32861feecff85cb.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)

2c2d1e8e5d93fa0ad84676f1785e3050.png

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

f02b313f91de9ac0e3a5e9dd730a43e0.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渲染引擎

30dbdc75a3887623f892e4d5de7f1d5d.png 10d4b1a12e9102bc053d5fa079e9c266.png

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

  • 顶点之间的线性外推;

  • 高分辨率Z缓冲;

d1529657a6c104290fb962e23e06da89.png 97782b381ccebc27f7c4ba432d6c7c9e.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 - 模拟钢琴

551473af1bb74ce1d618d8df2c70ea89.png

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

769ae1d30e8f85e631ef99fa14cbaa5a.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 - 模拟吉他

3620a2e5c40967b611547f3f22738d28.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 - 进化算法:井字棋

87a91f4133d818a0e93080b55f836ba7.png

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

b8a940e7f3d2e72c48a2c02bb17f6d6f.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 - 软件无线电

887760d160c531bc884e852a8cd584a6.png

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

c5dab02e20288f188eb8be80fc7a8b60.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 压缩引擎

15c5087972465bc51c5064d27a51fcee.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/

82146c3b925d99df00149556d2af10b3.png
  • 参考

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

Video communications system - 视频通讯系统

9d640ecdf1560e917daa41ae3faf06c5.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年,应该有一部分项目没有展现出来,大部分都有视频介绍,但是我看了一些视频,都是简单演示一下功能,并没有设计思路,所以需要自行查看源码中的文档。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/773061
推荐阅读
相关标签
  

闽ICP备14008679号