前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >国外大学生都用FPGA做什么项目(十二)

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

作者头像
碎碎思
发布2024-02-22 15:54:53
3780
发布2024-02-22 15:54:53
举报
文章被收录于专栏:OpenFPGA

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

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

项目链接

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

项目介绍

Fall 2009 开发板 CycloneII

Realtime face tracking - 实时人脸追踪

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

  • 项目介绍

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)

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

  • 项目介绍

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

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

  • 项目介绍

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)

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

  • 项目介绍

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

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

  • 顶点之间的线性外推;
  • 高分辨率Z缓冲;
  • 项目介绍

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 - 模拟钢琴

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

  • 项目介绍

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

目标是创建一个吉他模拟器,可以对其进行编程,使其快速轻松地播放任何歌曲。为了做到这一点,我们构建了一个系统,允许将吉他上的音符编码到 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 - 进化算法:井字棋

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

  • 项目介绍

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

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

  • 项目介绍

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

在 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/

  • 参考

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

Video communications system - 视频通讯系统

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-02-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenFPGA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目链接
  • 项目介绍
    • Fall 2009 开发板 CycloneII
      • Realtime face tracking - 实时人脸追踪
      • Green screen chroma key (MP4, 2, 3)
      • Sound localizing robot - 声音定位机器人
      • 2D graphics engine - 2D图形引擎(GPU)
      • 3D render engine - 3D渲染引擎
      • Keyboard synthesizer - 模拟钢琴
      • Guitar synthesis - 模拟吉他
      • Evolution tic-tac-toe - 进化算法:井字棋
      • Software radio - 软件无线电
      • JPEG compression engine - JPEG 压缩引擎
      • Video communications system - 视频通讯系统
  • 总结
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档